[Tig] 8k IMAX scans... 16k next

Bob Friesenhahn bfriesen at simple.dallas.tx.us
Sun Jul 27 09:26:52 PDT 2008


On Sun, 27 Jul 2008, Rob Lingelbach wrote:
>
> that's good to know, as I'm totally magazine-starved here in Kiev- I've read

Poor guy.  Have you also finished reading the Internet?

>> Multitasking is much easier to accomplish than accellerating one task via 
>> mutithreading.
>
> a new mindset may be called for, eh.   Or, could there be, some kind of 
> interpreter, that splits up code into modules (well that's multitasking isn't 
> it) ... but on a threaded basis?   I guess it's like talking parallel vs. 
> serial, and there's no way around it.

There is a programming framework called "OpenMP" 
(http://www.openmp.org/) which has actually existed since the late 
'90s but is now supported by GCC 4.2 and later (free GNU C compiler) 
so that open source programs can start using it.  OpenMP is integrated 
into the compiler as a form of optimization. It is derived from work 
done over the years by scientists and researchers for how to make 
their huge programs run faster on massively parallel super computers.

The joy of OpenMP for programmers is that it is really a pragma 
notation syntax and if OpenMP is not supported then the code still 
works.  In some cases only trivial changes to legacy code are required 
to make it fly on multi-core systems.  Unfortunately, in most cases 
more substantial changes are required since old code might not be 
thread safe.  Most time is spent in loops so OpenMP is all about 
running loops in parallel.

OpenMP is not specific to Unix since recent Windows compiler releases 
support it as well.  Once Apple's OS-X comes with GCC 4.2 or later 
(Snow Leopard?) then it will also support OpenMP.

Bob
======================================
Bob Friesenhahn
bfriesen at simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/




More information about the Tig mailing list