All, I'm using the multi-processor version of ACML version 4.4 with Octave 3.6.2. This is on a 64bit linux machine with multiple processors and multiple cores per processor. When octave is run on a large problem such as computing a SVD, the ACML library happily starts many threads, in fact it starts as many threads as there are cores! (Digression: the machine lies about the number of cores due to the Intel hyper-threading feature, but never mind that for now.)
How can I limit the number of threads created? We would like to allocate about half of the machine to other tasks.
I found this doc that discusses allocation of memory chunks, and how environment variables can limit the number of chunks and the size of each chunk. Is that related?
Please advise, thanks in advance!