Page 1 of 1

Windows portable build doesn't have openMP enabled?

Posted: 2015-11-19T14:26:15-07:00
by potatos
Hey guys,

I am trying to deploy the windows portable build of IM for use in some apps, but when I run convert.exe -version I get:

Code: Select all

Version: ImageMagick 6.9.2-6 Q16 x64 2015-11-14 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Visual C++: 180040629
Features: Cipher DPC
Delegates (built-in): bzlib cairo freetype jng jp2 jpeg lcms lqr openexr pangocairo png ps rsvg tiff webp xml zlib

When I install IM to program files and run convert.exe -version it shows openMP installed:

Code: Select all

Version: ImageMagick 6.9.2-6 Q16 x64 2015-11-14 http://www.imagemagick.org
Copyright: Copyright (C) 1999-2015 ImageMagick Studio LLC
License: http://www.imagemagick.org/script/license.php
Visual C++: 180040629
Features: Cipher DPC Modules OpenMP
Delegates (built-in): bzlib cairo freetype jng jp2 jpeg lcms lqr openexr pangocairo png ps rsvg tiff webp xml zlib

Additionally, running benchmarks confirms that the OpenMP version runs about four times faster than the static version.

Is this the expected behavior? Is there a way to get OpenMP enabled on the windows portable version? I don't have access to visual studio to compile it myself.


Thanks

Re: Windows portable build doesn't have openMP enabled?

Posted: 2015-11-19T15:04:04-07:00
by dlemstra
We don't enable OpenMP in the portable build because we statistically link with the Visual Studio C++ redistributable. And this doesn't work if we enable OpenMP. And ImageMagick can be compiled with the Visual Studio 2015 community edition which is freely available. But you will need to ship the C++ redistributable dll's or make sure they are installed on the target machine.

Re: Windows portable build doesn't have openMP enabled?

Posted: 2015-11-20T13:38:47-07:00
by potatos
Thanks! I managed to compile a portable static version with openMP. For whatever reason it's not quite as fast as the installed binary version from your site, but it's still faster than the non open-MP portable version. I really barely know what I'm doing compiler-wise so it may just be some optimizations or something. Either way, things are slightly faster now. I'll take it. Thanks for the help.