[Insight-developers] Thread-safety issues - netlib
Kris Thielemans
kris.thielemans at csc.mrc.ac.uk
Mon Jul 11 14:04:27 EDT 2005
Hi
I have no idea how much effort all this involves, but I wonder if it
wouldn't be worth it converting to ATLAS
(http://math-atlas.sourceforge.net), at least, if it supports enough of
LAPACK for your purposes. From their web-page:
What LAPACK routines does ATLAS provide?
The only way to be sure you have the most up-to-date list is to examine the
source in ATLAS/interfaces/lapack/F77/src/. It is pretty much a foregone
conclusion that any documentation, this page included, will eventually
become out of date. ATLAS3.6 provided C and Fortran77 interfaces to these
routines:
[S,D,C,Z]GESV
[S,D,C,Z]GETRF
[S,D,C,Z]GETRS
[S,D,C,Z]GETRI
[S,D,C,Z]TRTRI
[S,D,C,Z]POSV
[S,D,C,Z]POTRF
[S,D,C,Z]POTRS
[S,D,C,Z]POTRI
[S,D,C,Z]LAUUM
Is ATLAS thread safe?
It should be completely safe to call any ATLAS routine from a threaded code.
There are no global variables, or other shared information between routines.
Probably the best idea is to say "yes" to threading in config, even if you
wish to do the threading yourself. That way, the ATLAS lib will be compiled
with the threading flags. Then, simply link to the serial interface so that
ATLAS doesn't do the threading. If you want ATLAS to do the threading as
well, simply link to the threaded interface.
Can I vary the number of threads ATLAS uses dynamically?
No. The maximum number of threads to use is determined at compile time.
ATLAS will never use more than this, but may use less if the problem sizes
are too small to get speedup from the additional parallelism.
All the best
Kris Thielemans
Hammersmith Imanet, part of GE Healthcare Cyclotron Building Hammersmith
Hospital Du Cane Road London W12 ONN, United Kingdom web site address:
http://www.hammersmithimanet.com/~kris
-------------------------------------------
NOTE: My inbox has a SPAM filter that automatically throws away suspect
messages. If you expect a reply and don't get one, your message might have
been wrongly classified.
More information about the Insight-developers
mailing list