首页 > 代码库 > ubuntu64bits环境下搭建Opencl的环境
ubuntu64bits环境下搭建Opencl的环境
此文介绍 ubuntu 平台下配置 AMD/ATI Opencl 环境,我是ubuntu 12.04。
主要分为六个步骤:
1. Take a look at your hardware to make sure it’s compatible
先安装驱动,http://support.amd.com/zh-cn/download/ 里面选择你的机器的显卡型号,OS型号,系统会自动找到你的驱动。比如我的就是:
- 笔记本显卡
- Radeon HD 系列
- Radeon HD 7xxxM系列
- Linux x86_64
- 最后我下载的驱动是:amd-catalyst-14-4-linux-x86-x86-64.zip ,根据使用不同的GPU和平台驱动会不同。
2. Install dependencies (just libglu1-mesa-dev in most cases)
在安装完成之后,编译示例的时候,编译器会提示错误:error “GL/glu.h: No such file or directory.”
GL/glu.h 这个头文件是在libglu1-mesa-dev库里面的。这里我们先安装这个依赖库:
sudo apt-get install libglu1-mesa-dev
3. Download and untar the AMD-APP SDK
下载AMD-APP SDK:我目前下载的SDK是AMD-APP-SDK-v2.8-lnx64.tgz,可能最新的会不同,但是安装方式是一样的。
下载地址: http://developer.amd.com/tools-and-sdks/opencl-zone/opencl-tools-sdks/amd-accelerated-parallel-processing-app-sdk/#appsdkdownloads
4. Run the installation shell script and restart
解压你下载的安装包,先阅读里面的ReadMe.txt文件,里面详细说明啦安装的过程。
执行Bash文件Install-AMD-APP.sh会调用一个python格式的文件default-install_lnx_64.pl,实现自动安装SDK。
安装完成后有下面几点要说明(这些全部在ReadMe.txt会提到):
- 执行自动安装不许要导入库的路径,自动安装脚本会自动设置好。
- 需要像JDK 一样导入AMDAPPSDKROOT 吗? 也不需要,脚本自动设置好。
- 也不需要导入LD_LIBRARY_PATH
- 自动安装脚本设置的环境变量对所有用户有效,比如你用一个新的guest的账户登录,不需要重新设置环境变量。
- 脚本自动安装SDK的路径是: /opt/AMDAPP/
- 如果你不想安装在/opt/AMDAPP/下面,你可以修改default-install_lnx.pl里面的:$AMDAPPSDKROOT= "/opt/AMDAPP"; 把双引号里面的修改成你想要的路径。
- 如果环境变量没有设置好,如何手动设置环境变量:打开/etc/profile文件,检查AMDAPPSDKROOT 和LD_LIBRARY_PATH,/etc/ld.so.conf.d/amdapp_x86.conf 和 /etc/ld.so.conf.d/amdapp_x86_64.conf 这几个文件。
- 安装完成后重启机器
5. Change permissions on the install directory
sudo chown -R user:user /opt/AMDAPP 修改权限,比如我就执行:sudo chown -R user:magnum /opt/AMDAPP,第二个user修改成你的用户名(登录的那个)
6. Compile and run the test apps
进入到目录/opt/AMDAPP,执行make . 编译结束后,进入到samples/opencl/bin/x86_64/里面有很多可执行文件,你直接执行就可以跑示例啦。
7. About Docs
目录/opt/AMDAPP/docs/opencl/有两个文档AMD_APP_SDK_FAQ.pdf(一些常见的问题解答)和AMD_APP_SDK_Getting_Started_Guide_v2.8.pdf(AMD opencl sdk 使用教程)。 另外在目录/opt/AMDAPP/samples/opencl/cl/app/下面有所有示例的源代码,makefile文件和一个独立的Docs文件夹里面有一个PDF文档教你如何编译和运行当前这个sample.