I'm trying to experiment with GPU-accelerated resize operations using ImageMagick.

On my Windows machine, using convert -list configure lists only FEATURES OpenMP and not the OpenCL I expected since I have an NVidia CUDA GPU installed.

Is there something else I must do?

In production, we'll be on Linux. Will I also have to do something extra to get hardware acceleration enabled?


OpenCL has to be enabled at compile time.

The Windows distribution of ImageMagick is compiled without OpenCL at this moment. You will have to compile it yourself to enable this.

You can find some information about doing that here.

The reason it is not enabled by default is because this will add a dependency to OpenCL.dll and this library is not always available on a Windows system. We are working on a change that will dynamically load this library so we can enable OpenCL by default.

On your Linux machine you also need to compile ImageMagick with the --enable-opencl option. It is possible that your Linux distribution has enabled this by default.

  • 1
    Thanks. I did read about someone doing this. Can you explain why this is the default case or why there isn't a precompiled binary for download? There must be a very good reason for it being a completely flawed tool by default. Feb 18 '14 at 20:57
  • 1
    I take the point on the OpenDL.dll reference but its a standard library still in v1.0.0.0. Surely there can be a precompiled version hosted on ImageMagick's site. Most PCs surely have OpenCL compatible cards these days. Feb 20 '14 at 13:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.