ubuntu64bits环境下搭建Opencl的环境

时间:2021-06-28 15:00:21

此文介绍 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型号,系统会自动找到你的驱动。比如我的就是:

  1.   笔记本显卡
  2.   Radeon HD 系列
  3. Radeon HD 7xxxM系列
  4. Linux x86_64
  5. 最后我下载的驱动是: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会提到):

  1. 执行自动安装不许要导入库的路径,自动安装脚本会自动设置好。
  2. 需要像JDK 一样导入AMDAPPSDKROOT 吗? 也不需要,脚本自动设置好。
  3. 也不需要导入LD_LIBRARY_PATH
  4. 自动安装脚本设置的环境变量对所有用户有效,比如你用一个新的guest的账户登录,不需要重新设置环境变量。
  5. 脚本自动安装SDK的路径是: /opt/AMDAPP/
  6. 如果你不想安装在/opt/AMDAPP/下面,你可以修改default-install_lnx.pl里面的:$AMDAPPSDKROOT= "/opt/AMDAPP"; 把双引号里面的修改成你想要的路径。
  7. 如果环境变量没有设置好,如何手动设置环境变量:打开/etc/profile文件,检查AMDAPPSDKROOT 和LD_LIBRARY_PATH,/etc/ld.so.conf.d/amdapp_x86.conf 和 /etc/ld.so.conf.d/amdapp_x86_64.conf 这几个文件。
  8. 安装完成后重启机器

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.