如何在Cygwin中为英特尔GPU设置OpenCL



我有一台装有Intel(R) HD Graphics 520 GPU的笔记本电脑。我在Cygwin中添加了OpenCL开发包。我在GitHub上的C中为OpenCL找到了一个小型Mandelbrot集计算器程序。它是针对Apple的,所以我修改了Makefile,为gcc使用了正确的头和设置。现在代码编译并执行良好(创建bmp文件):

$ ./mandelbrot.exe
Device 0: GenuineIntel pthread-Intel(R) Core(TM) i5-6300U CPU @ 2.40GHz

我有两个问题:

#1.如何将Intel GPU添加到/etc/OpenCL/vendors列表(如果可能的话)?我试图从英特尔网站安装Intel CPU runtime for OpenCL Applications for Windows OSIntel Graphics Technology driver package,但我不知道在intel.idc文件中哪里可以找到合适的OpenCLdll。

#2.在/etc/OpenCL/vendors中,我发现了一个指向cygpocl-2.dllpocl.icd文件。我想这就是pthread库。但在我看来,它只运行一个线程,尽管我有4个内核。我应该做任何修改以在多个线程中运行它吗?我调试了代码,似乎只找到了一个设备,所以它只在一个线程上运行。在初始化函数中,它设置device_work_size属性,用于处理最终bmp的每个设备的stirp。但由于只有一个设备,整个bmp通过一次运行进行处理(调用一个clEnqueueNDRangeKernel和一个clEnqueueReadBuffer)。

更新

我已安装Intel(R)Graphics–Windows*DCH驱动程序。它安装了图形驱动程序。我已经找到了interlocl64.dll(作为/cygdrive/c/Program Files (x86)/Common Files/Intel/Shared Libraries/intel64/intelocl64.dll)。我将整个路径放入/etc/OpenCL/vendors/intel.icd文件中。到目前为止,一切都很好。现在它甚至找不到pthread设备。。。啊。。。

我认为不可能使用cygwin的GPU。我建议您构建本机Windows二进制文件(例如使用Visual Studio或Intel DPC++)或使用WSL。看见https://github.com/intel/compute-runtime/blob/master/WSL.md要求。

相关内容

  • 没有找到相关文章

最新更新