1、多核编程 (共享内存)
OpenMP,TBB,Pthreads
2、分布式编程(分布式内存)
MPI (eg:cluster)
下面是摘自http://www.cnblogs.com/liangliangh/p/3565234.html
平行计算机可以简单分为共享内存和分布式内存,共享内存就是多个核心共享一个内存,目前的PC就是这类(不管是只有一个多核CPU还是可以插多个CPU,它们都有多个核心和一个内存)。
一般的大型计算机结合分布式内存和共享内存结构,即每个计算节点内是共享内存,节点间是分布式内存。想要在这些并行计算机上获得较好的性能,进行并行编程是必要条件。
目前流行的并行程序设计方法是,分布式内存结构上使用MPI,共享内存结构上使用Pthreads或OpenMP。我们这里关注的是共享内存并行计算机,因为编辑这篇文章的机器就属于此类型(普通的台式机)。和Pthreads相比OpenMP更简单,对于关注算法、只要求对线程之间关系进行最基本控制(同步,互斥等)的我们来说,OpenMP再适合不过了。
3、GPU编程
OpenCL、OpenACC、CUDA
4、FPGA编程
Verilog、 VHDL
5、新出来的技术:
MapReduce, Spark等。
上面所说的编程架构,我掌握的只有几个,要加油!!!!