在我们的系统中,我们有 2 个 GPU,并希望 ImageMagick 能够高效地使用它们。尽管如此,它还是大多只使用其中一种。因此,它不能提供有效的解决方案。例如,
第一个 GPU 的工作负载:500 MB / 4 GB
第二 GPU 的工作负载:3000 MB / 4 GB
我们计划同时使用更多 GPU,并希望确保 ImageMagick 能够有效地分配工作负载。
我尝试使用这但我不知道以下代码应该放在哪里。
我试图弄清楚的代码是;
cl_device_id selectedDevice; // OpenCL device used by ImageMagick
InitImageMagickOpenCL(MAGICK_OPENCL_DEVICE_SELECT_AUTO, NULL, (void*)&selectedDevice, exception);
和,
cl_device_id myDevices[4];
cl_uint numDevices;
// Get all the available OpenCL devices from the runtime
clGetDeviceIDs(myPlatform, CL_DEVICE_TYPE_ALL, 4, myDevices, &numDevices);
// ask ImageMagick to use the 3rd device
InitImageMagickOpenCL(MAGICK_OPENCL_DEVICE_SELECT_USER, (void*)(myDevices+2), NULL, exception);
(这是我的第一个问题,如果缺少了什么,请原谅。我想提供必要的信息,谢谢。)