How can Mathematica 6.0 use more than one core of a quad core cpu under Windows Vista? During calculations the system requires only 25 % of its capacity. This implies that it uses only one of the four cores.
> How can Mathematica 6.0 use more than one core of a quad core cpu > under Windows Vista? During calculations the system requires only 25 % > of its capacity. This implies that it uses only one of the four cores.
On 3 Aug, 11:49, kristoph <kristophs.p...@web.de> wrote:
> Hi,
> How can Mathematica 6.0 use more than one core of a quad core cpu > under Windows Vista? During calculations the system requires only 25 % > of its capacity. This implies that it uses only one of the four cores.
> Thanks for answer, > Kristoph
Hi Kristoph
As far as I know it is only certain linear algebra functions that automatically make use of multiple cores. On my dual core laptop under windows and Mathematica 6 this seems to be working by default. For example If I do
Timing[ a = RandomReal[1, {1000, 1000}]; b = SingularValueDecomposition[a]; ]
I get a time of 5.9 (ish) seconds.
Now in Mathematica 5.2 you could set the number of threads using the operating system environment variable OMP_NUM_THREADS so I tried setting this to 2 to see what happened - nothing! The time stayed the same. However if I set it to 1 then the timing came out at 8.9 seconds. This leads me to the conclusion that Mathematica 6 automatically makes use of multiple cores when it can but you can over- ride its behavior using OMP_NUM_THREADS, What would be nice is a list of functions that makes use of multiple processors/cores. I think it is only certain BLAS/Lapack functions but am not sure.
As for Linux - I am confused! I dual boot into Ubuntu on the same laptop and this also has Mathematica 6. The only thing that has changed is the operating system - everything else is the same but I get the following timings for the above code (to 1dp)
using top I see the processor usage going over 100% when using 2 threads so it seems to be using both cores (only goes up to 100% on one core). But using 2 cores is slower than one core and everything is always slower than when I use my windows partition - so something is messed up!
> How can Mathematica 6.0 use more than one core of a quad core cpu > under Windows Vista? During calculations the system requires only 25 % > of its capacity. This implies that it uses only one of the four cores.
> Thanks for answer, > Kristoph
You could try to increase the value of the system variable OMP_NUM_THREADS to 4.
> that is the reason why there is a Parallel Computing Toolkit.
> Regards > Jens
> kristoph wrote: > > Hi,
> > How can Mathematica 6.0 use more than one core of a quad core cpu > > under Windows Vista? During calculations the system requires only 25 % > > of its capacity. This implies that it uses only one of the four cores.
> > Thanks for answer, > > Kristoph
Thanks for all the answers. Regarding the parallel toolkit I think it is not up to date to separate it from the general version. But that's how it is.