Em nosso sistema, temos 2 GPU e queremos que o ImageMagick os use de maneira eficiente. No entanto, de alguma forma, principalmente usa apenas um deles. Assim, não fornece uma solução eficiente. Por exemplo,
Carga de trabalho da primeira GPU: 500 MB / 4 GB
Carga de trabalho da segunda GPU: 3000 MB / 4 GB
Planejamos usar muito mais GPUs simultaneamente e queremos ter certeza de que o ImageMagick distribuirá eficientemente a carga de trabalho.
Eu tentei resolvê-lo usando esta página, mas não sei onde colocar exatamente os seguintes códigos.
Os códigos que eu tento descobrir são:
cl_device_id selectedDevice; // OpenCL device used by ImageMagick
InitImageMagickOpenCL(MAGICK_OPENCL_DEVICE_SELECT_AUTO, NULL, (void*)&selectedDevice, exception);
E
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);
(Esta é a minha primeira pergunta aqui, desculpe se há algo faltando. Gostaria de fornecer as informações necessárias, obrigado.)
Tags imagemagick