我正试图在AMD Fury X上初始化OpenCL 2.0,而我正在研究它的价值__OPENCL_VERSION__
.无论如何都是120.我在寻找我的司机和内外#define __OPENCL_VERSION__ 120
并#define __OPENCL_VERSION__ 200
可以在那里找到.
是否需要在某处启用特殊标志才能启用2.0版?我有以下平台和设备:
Advanced Micro Devices,Inc.的OpenCL平台"AMD加速并行处理",版本OpenCL 2.0 AMD-APP(1912.5),FULL_PROFILE
设备:Advanced Micro Devices,Inc.'斐济'(驱动程序版本:1912.5(VM))
OpenCL版本: OpenCL 2.0 AMD-APP(1912.5)
OpenCL"C"版本:OpenCL C 2.0
编辑
啊,傻.它似乎有助于-cl-std=CL2.0
在编译器选项中指定clCreateProgramWithSource
.那应该是预期的行为吗?
那应该是预期的行为吗?
是.以下是OpenCL 2.0规范中的相关段落(第5.8.4.5节" 控制OpenCL C版本的选项"):
如果未指定-cl-std构建选项,则在为每个设备编译程序时将使用每个设备支持的最高OpenCL C 1.x语言版本.如果要使用OpenCL C 2.0编译或构建程序,则需要应用程序指定-cl-std = CL2.0选项.