On Sun, 12 Apr 2009, Hal V. Engel wrote:
>
> I probably should have included more information.   This was an 85% REDUCTION
> in processing times compared to running a single processing on a 2.4 GHz AMD
> 64.  So this is about a 650% speed increase.  This would still be faster than
> doing the same work on a quad core CPU but a fast 8 core machine running 8
> threads would probably be faster.

Very impressive!

The current challenge with Intel hardware is that their Multi-Core 
Module (MCM) approach makes some core pairings more equal than others. 
Outside of a core-pair sharing a L2 cache, you have to go to L3 cache 
to communicate. This can produce disappointing results. Intel is 
working to eliminate this issue in later chips.  If the benchmark 
report at 
http://www.phoronix.com/scan.php?page=article&item=linux_2629_benchmarks&num=1 
is to be believed (not sure), recent Linux kernel updates are very 
good for OpenMP performance based on the huge jump in GraphicsMagick 
performance.  I am also finding that recent GCC releases are becoming 
good at producing useful SSE2 and SSE3 code which runs a lot faster.

> So I don't think this kind of speed increase would be considered "typical"
> since most users do not have that much GPU processing power.

I have a decent GPU here too but can't tap directly into it (as far as 
I know) since I am using Solaris rather than Windows or Linux.  This 
vendor lock-in (and increased power consumption) makes me not happy 
with GPUs.

> The other interesting thing related to this (multi threading and multi core
> CPUs) is that it appears that GCC is in the process of getting optimizer
> updates that will automatically create threaded code when it finds loops that
> can be broken into threads.  The code for this appears to be coming out of one
> of IBMs labs and the stuff I have seen is saying that this should begin to
> show up in GCC 4.5.  This makes those cheap 8 core machines even more
> attractive.

This sort of optimizer has limited capability if the code calls any 
sort of function since the function may have side-effects or not be 
thread safe.  A whole-program optimizer could help with this but GNU 
autotools and most other build systems are not prepared to allow such 
optimization.

Regardless, multi-threaded applications are able to take advantage of 
any multi-core (including older multi-CPU) system.  Even the Mac Mini 
will benefit.

GPU support is useful in lcms for real time display with a display 
profile and for people with the right hardware and OS to be able to 
access a GPU.

Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Lcms-user mailing list
Lcms-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/lcms-user

Reply via email to