GPU上并行编程建议

显卡上并行编程规范

http://blog.sina.com.cn/s/blog_6d5750540101bfbh.html  这个人写得非常好。

他的另几篇也不错:http://blog.sina.com.cn/s/blog_6d57505401012lsd.html


他写得非常好。

另外,我真的不想再看Nvidia-OpenCL-SDK了,太烦躁了。看得很绝望,可惜公司电脑都是Nvidia显卡。

等以后有了AMD显卡,Linux上使用AMD的OpenCL开发运行环境  :购买一张A卡(建议购买W9100的),安装好驱动,再下载好AMD APP SDK, 再安装好CodeXL。

http://blog.csdn.net/zhangoi391/article/details/9613117

1. Linux 上OpenCL的开发运行环境包括两个部分, 一是 AMD 的 AMD SDK APP 开发包,另一部分是AMD的Catalyst驱动软件包.  AMD SDK APP 开发包主要包括开发OpenCL应用所需要的头文件,文档和例子程序.Catalyst驱动包括OpenCL运行库,AMD GPU的私有驱动, 一些工具软件
2. AMD SDK APP 的安装比较简单,这里就不细说了。其当前最新的版本是 2.8.1, 直接从
   http://developer.amd.com/tools-and-sdks/heterogeneous-computing/amd-accelerated-parallel-processing-app-sdk/downloads/#one下载 64bit 的版本
3. Catalyst 驱动包由于其包括GPU驱动,直接依赖于操作系统,其安装稍微复杂些。 用户可参考我如下的步骤和描述进行安装, 以 Fedora 19 为例
    a) Fedora 19 是红帽最新的社区版Linux, 由于其X Server的结构发生了一定变化,需要安装最新版本的Catalyst驱动包, 即 Catalyst 13.6 Beta版本.  从 http://www2.ati.com/drivers/beta/amd-driver-installer-catalyst-13-6-beta-x86.x86_64.zip 下载
    b) 用 unzip 解压后运行amd-driver-installer-catalyst-13-6-beta-x86.x86_64.run文件, 在图形界面菜单下选择 “Generate Distribution Specific Driver Package", 而不要直接让这个界面进行安装,这点很重要,先产生rpm, 然后用 rpm 安装工具进行安装,比较容易定位安装时出现的问题.  接着在出现的操作系统选择菜单中选择 "Redhat/RHEL6_64a"。图形界面运行的结果会在当前目录下产生一个名为fglrx64_p_i_c-13.101-1.x86_64.rpm的rpm包文件.  下一部安装catalyst就是安装该rpm包. 
    c) 执行 “#> rpm -ihv fglrx64_p_i_c-13.101-1.x86_64.rpm" 安装驱动. 这一步中要做很多工作,包括编译和Linux kernel版本一致的fglrx模块. 第一次执行这个命令通常会失败,报告很多包依赖性问题. 这时你需要用 yum 命令
从Fedora 19 的repository上安装依赖的包,通常既要求这些包的64bit的版本,也要求这些包的32bit的版本。这些包
在Fedora 19 的repository上都是有的, 只要你的机器是连上网络的,你就可以直接安装这些包. 通常如下这些包,特别是其32bit版本可能是需要而你当前的Fedora上是没有安装的(取决于用户安装Fedora的方式):  libgcc, libstdc++, compat-libstdc++-3.0, libXext. 你可用如下命令安装这些包,如以 32bit的 libgcc 为例:
       #> yum install libgcc.i686
这里没法列出所有可能依赖的包,你需要根据 rpm -ihv xxx.rpm 报出的信息确定你需要装哪些包。所有需要的包装完后,"#> rpm -ihv fglrx64_p_i_c-13.101-1.x86_64.rpm" 的执行就会成功了。 执行成功后,你不再需要安装其他包. 
    d) 到这一步,你就可测试一下你的catalayst驱动安装是否真正成功. 方法是先运行 "#> init 3" 切换到控制台模式, 然后执行 "#> aticonfig --adapter=all --initial" 初始化 X Server 的配置文件. 然后运行 "#> init 5" 重新进入图形环境。 如果能成功进入图形环境, 说明你的安装是成功的, 你可以用 "#> clinfo" 命令看一下能否有GPU设备被列出,也可用 "#>glxgears" 看一下安装catalayst驱动后 openGL 应用是否执行得快了很多 (相对于 open-source的Radeon驱动而言)
    e) 如果不能正常进入图形环境,说明你的安装是不成功的,这一般是由于你的 Linux 中 kernel 包和kernel-devel包的版本不一致,导致 fglrx驱动没有编译成功造成的. 你可以用 "#> modinfo fglrx" 检查一下下有没有 fglrx 驱动。可进入 /lib/modules/fglrx/build_mod 目录下执行make.sh 看看报什么错误. 如果是kernel-devel包没安装,就要用 "#> yum install kernel-devel" 安装该包。 如果是 kernel包和kernel-devel包的版本不一致,则最简单的方法是运行 "#> yum update kernel*" 将这些Linux kernel 相关的包都升级到最新版本,然后重启机器后再执行 "#>rpm -ihv fglrx64_p_i_c-13.101-1.x86_64.rpm"安装操作 
   f) 在catalyst 安装没成功的情况下,可在init 3 模式下用 "#> rpm -e fglrx64_p_i_c" 删除已部分安装的内容,恢复开源的 Radeon 驱动,重新进行图形模式(以便你能使用无线网络连接). 执行 "#>rpm -ihv fglrx64_p_i_c-13.101-1.x86_64.rpm" 在图形模式或init 3 模式都可以进行. 

1. 在很多 AMD的笔记本或台式机上都包括两个GPU设备(一个是AMD APU所继承的GPU, 一个是外置换的独立显卡GPU),用以进行openCL计算或openGL三维图形操作. 以前的回贴中所提到的 "在Linux图形环境下只能看到一个openCL GPU设备是不正确的", 下面的描述进行更正. 
 2. 在一般的比较本配置中,由于硬件或BIOS的限制,只能是用APU内置的GPU进行显示(由X Server进行framebuffer的访问和2D 图形Rendering操作). 这一点可以由aticonfig 产生的 /etc/X11/xorg.conf 看出来。在我的Hp 4436s, A10-4600M 等笔记本上,  Xorg Server 总是要使用 PCI-0:1:0设备,即集成GPU进行显示,即使你强行设置成用独立GPU (PCI-1:0:0) 也不行
 3. 在保留情况下,安装配置完 catalyst 驱动后, clinfo 命令只能看到独立GPU, fglrxinfo命令也只能看到独立GPU, 集成GPU被限制只用于显示, 不能用于openCl计算和3D 图形操作. 
 4. Catalyst包安装后提供了一个 "Catalyst Control Center" 的工具软件,用户运行该软件,在其图形界面下, 在 “3D/Switchable Graphics" 栏目下选择 “Power-Saving GPU for improved battery life" 然后重新启动机器(实际上是重新加载驱动并进入X环境). 在重新启动的环境下,你可以看到 clinfo能显示出两个openCL GPU设备,fglrxinfo也告诉有两个GPU能进行3D图形处理

另外window下在AMD上用VS使用OpenCL:

(1)请您安装Visual Studio (您应该已安装)
(2)请您安装APP SDK (您安装了)
(3)点击开始菜单,启动VS, 从VS的文件菜单里,新建普通的C++项目。
(4)在新建的项目上用鼠标的右键点击一下,选择属性
(5)稍等会弹出一个窗口。在此窗口的左侧点击VC++ Directories
(6)在左侧点击有,用鼠标在右侧的Include Directories里添加你刚才安装的APP SDK的include目录(点击浏览按钮可以浏览,也可以手工输入)
(7)同样的,在您的右侧的Library Directories里添加你刚安装的APP SDK的Lib目录下的x86目录
(8)在左侧点击Linker, 然后在右侧的Input里添加上opencl.lib
(9)点击确定,保存更改。(请注意不是取消)
然后你在你项目里需要使用OpenCL的.cpp文件头部都需要添加上一行:
#include <opencl.h>

对了,我忽然想起我的N久前的笔记本好像是A卡?我今天回去看看,我真的真的不想再学Nvidia的OpenCL了!

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值