无法弄清楚如何在带有 OpenCL 的 ImageMagick 上使用多个 GPU

无法弄清楚如何在带有 OpenCL 的 ImageMagick 上使用多个 GPU

在我们的系统中,我们有 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);

(这是我的第一个问题,如果缺少了什么,请原谅。我想提供必要的信息,谢谢。)

相关内容