1.串行算法的直接并行化
发掘和利用现有串行算法中的并行性,直接将串行算法改造为并行算法。
由串行算法直接并行化的方法是并行算法设计的最常用方法之一;
不是所有的串行算法都可以直接并行化的;
一个好的串行算法并不能并行化为一个好的并行算法;
许多数值串行算法可以并行化为有效的数值并行算法。
2.重新设计并行算法
从问题本身描述出发,不考虑相应的串行算法,设计一个全新的并行算法
挖掘问题的固有特性与并行的关系;
设计全新的并行算法是一个挑战性和创造性的工作;
利用串的周期性的PRAM-CRCW算法是一个很好的范例;
3.借用已有算法求解新问题
找出求解问题和某个已解决问题之间的联系;
改造或利用已知算法应用到求解问题上。