Convolution and LAT updated for OpenMP

Bob Friesenhahn <[email protected]> Sat, 6 Sep 2008 19:09:26 -0500 (CDT)
Newsgroups gmane.comp.video.graphicsmagick.help,gmane.comp.video.graphicsmagick.core
Message-ID <[email protected]>
The latest GraphicsMagick 1.3 snapshot (1.3.020080906) is updated so 
that convolution and local area thresholding are accelerated on 
multicore systems using OpenMP.

Example of LAT (-lat 10x10-5%) speed improvement:

Results: 10 iter 18.87s user 18.88s total 0.53 iter/s (0.53 iter/s cpu)
Results: 10 iter 18.97s user 10.13s total 0.99 iter/s (0.53 iter/s cpu)
Results: 10 iter 19.02s user 7.20s total 1.39 iter/s (0.53 iter/s cpu)
Results: 10 iter 19.17s user 5.75s total 1.74 iter/s (0.52 iter/s cpu)

Example of convolve (-sharpen 0x1.0) speed improvement:

Results: 10 iter 17.02s user 17.03s total 0.59 iter/s (0.59 iter/s cpu)
Results: 10 iter 16.99s user 9.12s total 1.10 iter/s (0.59 iter/s cpu)
Results: 10 iter 16.96s user 6.46s total 1.55 iter/s (0.59 iter/s cpu)
Results: 10 iter 16.95s user 5.18s total 1.93 iter/s (0.59 iter/s cpu)

Since these algorithms take a lot of CPU, they speed up linearly as 
cores are added.

I have yet to hear about anyone else's experience with OpenMP-enabled 
GraphicsMagick 1.3.

Thus far I am finding that Solaris and Linux are very good at OpenMP 
and FreeBSD and OS-X are rather poor with OpenMP.

Bob
======================================
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/