红联Linux门户
Linux帮助

Ubuntu14.04下Nvidia opencl例子的编译运行

发布时间:2016-08-16 14:55:10来源:linux网站作者:Windrainlife
1.前言
公司的预言项目,指定我做先期评估。由于以前从未接触过Nvidia opencl开发相关的东西,处于摸索阶段。
这里记录的是,在已经将cuda的例子成功编译运行在ubuntu和Tegra_K1板子上的情况下,将opencl环境开发学习起来,
防止后期公司需要,快速导入。
(1)先去https://developer.nvidia.com/opencl网站下载一个例子源码,我选择的是OpenCL Simple Texture 3D 源码。
将gz包放到工作目录下面,用下面的命令解压
$tar -zxvf oclSimpleTexture3D.tar.gz ./
切入到NVIDIA GPU Computing SDK/OpenCL目录下,执行下面的命令
$make
会发现缺少相关的库,解决方式如下:
1.在/usr目录下搜索相关的库文件,如果/usr/local/cuda-6.5/samples/common/lib/linux/x86_64下面已经有的,
可以拷贝到NVIDIA GPU Computing SDK/OpenCL/common/lib下面。
2.在NVIDIA GPU Computing SDK/shared目录下面,缺少Makefile文件,可以将NVIDIA GPU Computing SDK/OpenCL/common
目录下的Makefile文件拷贝过来,将里面的目标库修改为shrUtil.a相关的,别忘记该库有2个源文件哦,否则链接的时候
还是会报某个函数找不到的。
3.在链接库的时候,libshrUtil中U是区分大小写的,否则也是找不到的。这个问题我都遇到了!
 
2.运行
上面编译都通过的情况下,在NVIDIA GPU Computing SDK/OpenCL/bin/linux/release下面生产目标可执行文件oclSimpleTexture3D 。\
我用的是WIN7系统,使用CRT远程连接到Linux ubuntu系统主机。
直接在终端下面运行
$./oclSimpleTexture3D
freeglut (./oclSimpleTexture3D): failed to open display ''
解决方法:
(1)来自网络:需要安装一个叫Xming server的东西
安装之后,更改一下Putty配置,在SSH里选择“enable X11 forwarding”
进入远程主机,就可以运行动画了。
(2)登录ubuntu本机,在自身终端运行,Ok。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/23360.html