LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1335|回复: 4

[原创] 在 Gentoo 上安装 ATI Stream SDK v2.0 + OpenCL

[复制链接]
发表于 2009-12-28 11:03:24 | 显示全部楼层 |阅读模式
自从 OpenCL 1.0 面世以来,一直希望能亲自在自己的电脑上体验一把它的神奇。等开源方面的支持让人越等越着急,正好最近 AMD 发布了完全支持 OpenCL 1.0 的 ATI Stream SDK 2.0,便萌生了用闭源实现来体验和学习 OpenCL 的想法。电脑的显卡是 ATI Radeon HD 4670,计算能力不算强,但正好还在该 SDK 的支持之列,作为体验与学习足矣。

ATI Stream SDK 2.0 官方支持 OpenSUSE 11.0 和 Ubuntu 9.04,竟然不支持我最爱的 Gentoo;在网上搜索了下 Stream SDK 的 ebuild,也没有找到 2.0 可用的,看来只好 DIY 了。

下面是安装的过程,安装前先去 ATI Stream SDK Download 下载 ATI Stream SDK 2.0,我下载的是 lnx32 版本。因为只是实验性质,我将它安装在自己的家目录下,尽量避免污染系统目录。

1. 首先要安装官方显卡驱动,官方网上推荐的是 Catalyst 9.12 的 HotFix,在上面的网页中可以下载,但经过我自己的实验以及 AMD Developer Forum 上的一些信息,Gentoo Portage 中的 ati-drivers-9.11 就能支持 OpenCL。
  1. 设置使用闭源驱动:/etc/make.conf:
  2.         VIDEO_CARDS="fglrx"
  3. 安装驱动:emerge -uvDNa world
  4. 选择 OpenGL 实现:eselect opengl set ati
复制代码
2. 安装 SDK
  1. cd ~/software
  2. tar -zxvf ${SDKTARBALL}
复制代码
3. 设置环境变量(非常重要)
  1. export ATISTREAMSDKROOT=${HOME}/software/ati-stream-sdk-v2.0-lnx32
  2. export ATISTREAMSDKSAMPLESROOT=${ATISTREAMSDKROOT}
  3. export LD_LIBRARY_PATH=${ATISTREAMSDKROOT}/lib/x86:${LD_LIBRARY_PATH}
复制代码
4. 设置 ICD
  1. su
  2. mkdir -p /usr/lib/OpenCL/vendors
  3. cd /usr/lib/OpenCL/vendors
  4. ln -s ${ATISTREAMSDKROOT}/lib/x86/libatiocl32.so .
复制代码
5. 设置内核参数 nopat
  1.        /boot/grub/menu.lst:
  2.        kernel ...... nopat ...
复制代码
6. 重新启动后,进入到 SDK 解压缩的目录,make,然后就可以在 samples/opencl/bin/x86 下找到可执行的例子,其中 CLInfo 将输出主机上所有的 OpenCL 设备的信息。

注:1. 驱动因显卡的不同而不同,经自己测试,Linux 下的 Catalyst 9.11 和 9.12 驱动已经支持 OpenCL,不需要那个 HotFix
      2. ICD 设置很重要,不然会找不到计算设备。
      3. 内核参数 nopat 是对支持 pat 的内核设置的,其目的是禁用内核的 PAT 实现,让 fglrx 使用它自己的实现,否则运行 samples 会段错误。我的内核是 gentoo-sources-2.6.31-r6,网上说 2.6.31+ 的内核都需要这个选项。

参考文献:
1. ATI Stream SDK v2.0 with OpenCL support
2. ATI Stream SDK v2.0 Documentation
3. ATI Developer Forum - OpenCL
 楼主| 发表于 2009-12-28 11:07:34 | 显示全部楼层
希望对大家有帮助,也希望可以和做 OpenCL的同学们多交流。
回复 支持 反对

使用道具 举报

发表于 2009-12-28 11:10:16 | 显示全部楼层
好,支持一下,虽然A卡。
回复 支持 反对

使用道具 举报

发表于 2009-12-28 19:06:49 | 显示全部楼层
要是楼主的电脑是签名中的配制,装了OpenCL也没办法用啊,那个要求HD 4000和5000系列的显卡才支持。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-12-28 22:34:39 | 显示全部楼层
Post by 没本;2060117
要是楼主的电脑是签名中的配制,装了OpenCL也没办法用啊,那个要求HD 4000和5000系列的显卡才支持。


已经换用新的电脑啦,HD 4670,不过效果不怎么样。HD 4670 + Intel Q9550,Q9550 比 HD4670 能力强,要真做计算,还得专业的显卡。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表