程序加速的常用编程架构

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等。

上面所说的编程架构,我掌握的只有几个,要加油!!!!

高山仰止,景行行止。虽不能至,然心向往之。
原文地址:https://www.cnblogs.com/xingzifei/p/4943878.html