0

我是 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 中包含什么(头文件或库)。

4

1 回答 1

-3

II.B. Linux 安装说明

  1. NVIDIA GPU 计算 SDK 中的 OpenCL SDK 示例需要具有 CUDA 计算架构的 GPU 才能正常运行。有关支持 CUDA 架构计算的 GPU 的完整列表,请参见在线列表: http ://www.nvidia.com/object/cuda_learn_products.html

  2. 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

  3. 卸载任何先前版本的 NVIDIA GPU Computing SDK

  4. 通过运行为您的操作系统提供的安装程序来安装 NVIDIA GPU Computing SDK。

    OpenCL SDK 的默认安装文件夹是:

    Linux $(HOME)/NVIDIA_GPU_Computing_SDK/

    下面我们将 SDK 安装到的路径称为 .


  5. 构建整套 SDK 项目和实用程序依赖项的 32 位或 64 位(匹配安装操作系统)、发布和调试配置。一个。转到 /OpenCL b。建造:

    • 通过键入“make”释放配置。
    • 通过键入“make dbg=1”来调试配置。

    在顶层运行 make 首先构建 SDK 示例使用的共享和通用实用程序库(这些库只是为了方便,不是 OpenCL 分发的一部分,您自己的 OpenCL 程序不需要)。然后 Make 在 SDK 中构建每个项目。

  6. 从位于 /OpenCL/bin/linux/[release|debug] 的发布或调试目录运行示例。

    • 从理解基本 OpenCL 程序流程的角度来看,大多数 SDK 应用程序将消息输出到控制台窗口,并且一些应用程序在单独的 OpenGL 窗口中生成图形输出。

    • 许多 SDK 应用程序提供了一些时序信息,这些信息对于获得程序结构和流程的整体观点以及设置和执行重要功能所需的时间很有用。但是,SDK 示例代码通常已出于说明目的进行了简化,并未进行优化。高级优化技术超出了此 SDK 的范围,示例提供的任何时序信息均不适用于基准测试等用途。

    • 所有应用程序都将所有控制台信息额外记录到与可执行文件位于同一目录中的会话日志文件中。这些文件以示例应用程序的名称明确命名,但扩展名为 .txt。

    • 为方便起见,/OpenCL 中的 Makefile 可用于通过键入“make runall”或“make dbg=1 runall”顺序执行所有 SDK 示例。

于 2013-06-10T18:20:43.150 回答