如何在OpenCL上最大限度地使用GPU?

时间:2018-05-02 13:43:32

标签: opencl gpu

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

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

2 个答案:

答案 0 :(得分:1)

主要是通过反复试验。根据您的内核,最简单的方法是简单地增加全局工作量。您还可以尝试使用CL_DEVICE_MAX_COMPUTE_UNITSCL_DEVICE_MAX_WORK_ITEM_SIZES等可用信息以编程方式确定工作规模,但这并不完全可靠。

答案 1 :(得分:0)

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