Re: OpenMP implementation for magick/quantize.c?

Bob Friesenhahn <[email protected]> Thu, 28 Aug 2008 23:37:44 -0500 (CDT)
Newsgroups gmane.comp.video.graphicsmagick.core
Message-ID <[email protected]>
On Fri, 29 Aug 2008, Nguyen Vu Hung wrote:

> Hi all, To make it short:Is there any way to implement OpenMP on 
> magick/quantize.c?

That one is really difficult to do in parallel since the color 
reduction tree would need to be shared, resulting in huge thrashing 
and worse performance.  There is already more than enough cache 
thrashing.  More than likely the final dither steps could be sped up.

Performance could be improved by replicating the color reduction tree 
for each thread and combining at the end, but then there would be 
quite a lot of memory used, and if the CPU cache is not large enough, 
then we would hit a main memory bottleneck.

I am starting with the simple stuff first and will work up from there.

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=/