加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

GPU并行编程方法

(2012-04-10 09:20:59)
标签:

杂谈

编写利用GPU加速的并行程序有多种方法,归纳起来有三种:

1.       利用现有的GPU函数库。

Nvidia CUDA工具箱中提高了免费的GPU加速的快速傅里叶变换FFT)、基本线性代数子程序(BLAST)、图像与视频处理库(NPP)。用户只要把源代码中CPU版本的快速傅里叶变换、快速傅里叶变换和图像与视频处理库替换成相应的GPU版,即可得到性能加速。除了Nvidia提供的函数库以外,第三方的GPU函数库有:

2.       CUDA 编程。

这是最普遍、最适用的方法,使用CUDA可以最大限度地发挥GPU的加速性能。

3.       指令(Directive )编程。

基于的OpenACC标准,GPU Directive编程是加快科学或工业的代码容易的、行之有效的方法。使用GPU指令,简单地在你的源码中插入编译指令,编译器会自动把计算密集型代码部分映射到到GPU的中去计算,从而加速你的代码。下面是一个简单的用一条指令如何可以加快计算圆周率的例子。使用GPU指令,你可以很快上手,并在当天看到的结果。

http://s13/middle/a43b3cf2gbd48f561cebc&690


 

OpenACC编程的优点:

l  简单:只要在你的代码中插入编译提示

l  开放:单个代码库既可以在CPU又可以在GPU上运行

l  功能强大:只需几小时就可以发挥GPU的强大

 

并行计算工具的领导者PGICAPSCray 将率先支持OpenACC

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有