zoukankan      html  css  js  c++  java
  • 程序加速的常用编程架构

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

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

    高山仰止,景行行止。虽不能至,然心向往之。
  • 相关阅读:
    斐波那契数列——兔子问题
    最长上升子序列
    洛谷P1325 雷达安装
    K短路
    DIJ的优化,和spfa的优化
    洛谷P5017摆渡车
    洛谷P2258 子矩阵
    三元表达式、列表推导式和生成器表达式
    递归调用、 二分法
    匿名函数、内置函数
  • 原文地址:https://www.cnblogs.com/xingzifei/p/4943878.html
Copyright © 2011-2022 走看看