OpenMP active but no multicore use - ImageMagick 6.4.3

Post any defects you find in the released or beta versions of the ImageMagick software here. Include the ImageMagick version, OS, and any command-line required to reproduce the problem. Got a patch for a bug? Post it here.
Post Reply
jannek_
Posts: 1
Joined: 2014-06-26T23:31:49-07:00
Authentication code: 6789

OpenMP active but no multicore use - ImageMagick 6.4.3

Post by jannek_ »

We run imagemagick on SLES 11 with 12 Cores. Imageprocessing is rather slow despite having activated OpenMP
Converting a 5MB jpg 3 times to png lasts more than one minute and doesn't seem to use more than one core:

Code: Select all

# convert ski9.jpg -resize 100% -bench 3 ski9.png
Performance: 0.0461538ips 64.900u 1:06
As I take it from the info-sites, output should look like this:
Performance[1]: 40i 0.712ips 1.000e 14.000u 0:14.040
Performance[2]: 40i 1.362ips 0.657e 14.550u 0:07.340
Performance[3]: 40i 2.033ips 0.741e 14.530u 0:04.920
...

I would really appreciate your help.

Thanks in advance
Jan
------------------------------

Code: Select all

#identify -version
Version: ImageMagick 6.4.3 2013-03-20 Q16 OpenMP http://www.imagemagick.org
Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC

Code: Select all

# identify -list Configure | less
Name          Value
-------------------------------------------------------------------------------
CC            gcc -std=gnu99
CFLAGS        -fopenmp -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fstack-protector-all -Wall -W -pthread
CONFIGURE     @CONFIGURE_ARGS@
COPYRIGHT     Copyright (C) 1999-2008 ImageMagick Studio LLC
CPPFLAGS      -I/usr/include/ImageMagick
CXX           g++
CXXFLAGS      -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fstack-protector-all -Wall -W -pthread
DEFS          -DHAVE_CONFIG_H
DELEGATES     bzlib djvu fontconfig freetype jpeg jp2 lcms png tiff x11 xml wmf zlib
DISTCHECK_CONFIG_FLAGS 'CFLAGS=-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fstack-protector-all' 'LDFLAGS=-L/usr/lib64' --disable-deprecated --
with-quantum-depth=16 --with-umem=no --with-autotrace=no --with-fontpath=
EXEC-PREFIX   /usr
HOST          x86_64-suse-linux-gnu
LDFLAGS       -L/usr/lib64 -L/usr/lib64 -lfreetype -lz
LIB_VERSION   0x643
LIB_VERSION_NUMBER 6,4,3,6
LIBS          -lMagickCore -llcms -ltiff -lfreetype -ljpeg -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lgomp -lpthread -lltdl
NAME          ImageMagick
PCFLAGS       -fopenmp
PREFIX        /usr
QuantumDepth  16
RELEASE_DATE  2013-03-20
VERSION       6.4.3
WEBSITE       http://www.imagemagick.org
User avatar
magick
Site Admin
Posts: 11064
Joined: 2003-05-31T11:32:55-07:00

Re: OpenMP active but no multicore use - ImageMagick 6.4.3

Post by magick »

Note, nothing on your command line is threaded. Reading or writing an image is single threaded and resizing @ 100% is single threaded as well (since it just copies memory). Most of the command time is spent decompressing (JPEG) and recompressing (PNG) and these are single threaded as well. You could try the latest release of ImageMagick, 6.8.9-4 and see if that improves the run-time.

To verify ImageMagick is using more than one thread, add -resize 120% to your command line or -blur 0x1.
Post Reply