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
that is the reason why there is a Parallel Computing Toolkit.
Regards
Jens
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)
OMP_NUM_THREADS unset gives 8.8 seconds
OMP_NUM_THREADS=1 gives 8.5 seconds
OMP_NUM_THREADS=2 gives 8.8 seconds
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!
Best Regards,
Mike
You could try to increase the value of the system variable
OMP_NUM_THREADS to 4.
See the following thread for detail, "Performance--Dual Core"
http://groups.google.com/group/comp.soft-sys.math.mathematica/browse_thread/thread/17751112a337a3c2/a78b9f2c7c64094e?lnk=gst&q=OMP_NUM_THREADS&rnum=2#a78b9f2c7c64094e
Regards,
Jean-Marc
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.
All the best,
Kristoph