我是OpenCL的新手。
现在我正在尝试编译一个名为“OpenCL带宽测试”的NVIDIA OPENCL SDK代码示例(https://developer.nvidia.com/opencl)。
在此示例中,包含名为“oclBandwidthTest.cpp”的文件。
这个文件参考“oclUtils.h”和“shrQATest.h”,所以我在makefile中添加了这两个文件路径。
但是当我尝试编译它时,仍然会说“未定义引用'shrLog''shrLogEx''oclErrorString'”......(太多)。
我必须这样做直到明天,但从上周五开始,我仍然受约束。
我正在使用Ubuntu 12.04,我已经安装了SDK 4.2和设备驱动程序。
让我知道makefile中必须包含的内容(头文件或库)。
答案 0 :(得分:-2)
NVIDIA GPU计算SDK中的OpenCL SDK示例需要具有CUDA Compute的GPU 架构运行正常。有关支持CUDA-Architecture计算的GPU的完整列表, 在线查看列表:http://www.nvidia.com/object/cuda_learn_products.html
NVIDIA GPU计算SDK中的OpenCL应用程序需要NVIDIA版本258.19 显示驱动程序或更高版本以在32位或64位Linux上运行。这个必需的驱动程序可供使用 注册开发人员:https://nvdeveloper.nvidia.com/login.asp?action=login
请务必先阅读驱动程序安装提示文档 安装驱动程序:http://www.nvidia.com/object/driver_installation_hints.html
卸载以前版本的NVIDIA GPU Computing SDK
通过运行为您的操作系统提供的安装程序安装NVIDIA GPU Computing SDK。
OpenCL SDK的默认安装文件夹是:
Linux的 $(HOME)/ NVIDIA_GPU_Computing_SDK /
在下文中,我们将引用SDK安装的路径。
构建32位或64位(与安装操作系统匹配),发布和调试
配置,整个SDK项目集和实用程序依赖项。
一个。转到/ OpenCL
湾建立:
在顶层运行make首先构建使用的共享和公共实用程序库 SDK示例(这些库仅为方便起见而不是OpenCL的一部分 分发,并不是您自己的OpenCL程序所必需的)。然后制作每个 SDK中的项目。
从位于的发行版或调试目录中运行示例 / OpenCL的/ bin中/ LINUX / [释放|调试]
。大多数SDK应用程序将消息输出到感兴趣的控制台窗口 了解基本OpenCL程序流程的立场,以及生成的几个应用程序 图形输出在单独的OpenGL窗口中。
许多SDK应用程序都提供了一些有助于获取的定时信息 程序结构和流程的整体视角以及设置和执行所需的时间 重要的功能。但是,SDK示例代码通常已经简化为教学 目的并没有优化。高级优化技术超出了本SDK的范围,并且 样本提供的任何定时信息不用于基准测试等用途。
所有应用程序还将所有控制台信息记录到会话日志文件中 与可执行文件相同的目录。这些文件在示例应用程序名称后面清楚地命名, 但扩展名为.txt。
为方便起见,/ OpenCL中的Makefile可用于执行所有操作 通过键入“make runall”或“make dbg = 1 runall”按顺序对SDK进行采样。