linux - 尝试在 Ubuntu 18.04 上运行 Chai OpenCL 基准测试时出现多个问题
问题描述
我在这个与 OpenCL 和 Ubuntu 相关的领域是全新的,但我正在学习并尝试运行一些基准测试,但我有以下错误显示如下。我相信我正确地完成了与安装 CUDA(我有 NVIDIA 显卡)和与基准测试相关的所有操作,但仍然出现以下错误。有人可以帮我吗?
此外,为了正确链接,我做的第一件事是找到 include 和 lib 目录,然后使用它们使用的命令,如下所示:
export CHAI_OCL_LIB=/usr/local/cuda-10.1/targets/x86_64-linux/lib/
export CHAI_OCL_INC=/usr/local/cuda-10.1/targets/x86_64-linux/include/
为此,我找到了 OpenCL 所在的位置,如下图所示,以获取地址。
错误:
support/ocl.h:106:9: note: suggested alternative: ‘cl_context_properties’
cl_queue_properties prop[] = {0};
main.cpp:180:38: error: ‘clSVMAlloc’ was not declared in this scope
Node * nodes = (Node *)clSVMAlloc(ocl.clContext, CL_MEM_SVM_FINE_GRAIN_BUFFER, sizeof(Node) * n_nodes, 0);
main.cpp:316:5: error: ‘clSVMFree’ was not declared in this scope
clSVMFree(ocl.clContext, nodes);
^~~~~~~~~
解决方案
从错误看来,需要OpenCL 2.x
构建基准并且Nvidia
支持达到OpenCL 1.2
.
所以要建立基准安装OpenCL 2.x
。根据 Ubuntu 版本,它可以通过以下方式直接安装:apt install ocl-icd-opencl-dev
.
推荐阅读
- elasticsearch - 对象嵌套范围聚合的弹性搜索数组
- python - Python 多处理队列 NotImplementedError macOS
- amazon-s3 - 调用 CopyObject 操作时发生错误 (AccessDenied):访问被拒绝
- java - Spring boot JAR 作为 Windows 服务和外部 application.yml
- django - 我无法在 /events/ 错误处解决 NoReverseMatch
- apache-crunch - 将 apache crunch Pcollection 写入多个输出文件
- mysql - MySql中只有输入标记时如何解析单词?
- javascript - QlikSense Field selectValues API - 当字段名称是混搭应用程序中的日期数据类型时不起作用
- json - React Native - NSNumber 类型的 JSON 值“1311”无法转换为 NSDictionary
- google-apps-script - 我无法在具有编辑权限的 Google 表格上创建脚本