如何最大限度地利用OpenCL上的GPU?

如何最大限度地利用OpenCL上的GPU?,opencl,gpu,Opencl,Gpu,我在AMD Radeon Vega 64上使用OpenCL。在任务管理器中,我看到GPU的最大使用率为7%。如何最大限度地使用GPU NDRange global(100000); queue.enqueueNDRangeKernel(kernel, NULL, global)); 主要是通过反复试验。根据内核的不同,最简单的方法是简单地增加全局工作大小。您也可以尝试使用可用信息,如CL_DEVICE_MAX_COMPUTE_UNITS或CL_DEVICE_MAX_WORK_ITEM_size

我在AMD Radeon Vega 64上使用OpenCL。在任务管理器中,我看到GPU的最大使用率为7%。如何最大限度地使用GPU

NDRange global(100000);
queue.enqueueNDRangeKernel(kernel, NULL, global));

主要是通过反复试验。根据内核的不同,最简单的方法是简单地增加全局工作大小。您也可以尝试使用可用信息,如CL_DEVICE_MAX_COMPUTE_UNITS或CL_DEVICE_MAX_WORK_ITEM_size,以编程方式确定工作大小,但这并不完全可靠。

您可以尝试手动将工作组大小设置为可提高性能的值。通常,默认值已经足够好了,但有时您可能希望使用来获取特定于内核的值,例如CL\u kernel\u PREFERRED\u WORK\u GROUP\u SIZE\u MULTIPLE。后者可用于指示给定OpenCL内核的良好自定义工作组大小。

谢谢,我将尝试这样做。