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. What’s the deal with the RHS in the row-major factorization/solves? Most users are confused by the row major factorization and related solves. The right-hand side vectors are probably the biggest source of confusion. The RHS array does