在LWJGL的OpenCL功能中,应从何处派生“ cl_platform_id”?

时间:2019-01-14 05:01:46

标签: java opencl lwjgl

看一下LWJGL docs的OpenCL端口,可以看到,为了使用createPlatfromCapabilities类中的方法CL.class创建OpenCL功能,您需要传递较长的cl_platform_id。这是从哪里得到的?

我尝试传递Platform.WINDOWS,如下所示: enter image description here
但是,Platform.WINDOWS中没有任何字段会产生很长的时间。

考虑到变量被命名为“平台” ID,我想它并没有要求LWJGL通常会发出一个窗口,并且因为“ CL”也是名称,所以我假设它也是由内部OpenCL之一发出的课程。

我已经广泛搜索了文档,并且“ cl_platform_id”仅出现在该方法中。文档只说了以下内容:

  

“ @ param cl_platform_id:要查询的平台”

老兄。很有帮助。

cl_platform_id方法中的createPlatfromCapabilities参数表示什么,在哪里可以找到?

1 个答案:

答案 0 :(得分:1)

您需要使用从clGetPlatformIDs获得的平台ID。第一个参数是存储ID的缓冲区(或null),第二个参数是存储读取的ID数(或null)的缓冲区。您需要一次传递函数null和第二个参数1 IntBuffer来调用该函数,然后使用存储在缓冲区中的int分配一个PointerBuffer并再次调用它以实际读取ID。