MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Illusory Multicore Support in 5.2?

  • To: mathgroup at
  • Subject: [mg66101] Re: Illusory Multicore Support in 5.2?
  • From: Antti Penttilä <Antti.I.Penttila at>
  • Date: Sat, 29 Apr 2006 03:41:02 -0400 (EDT)
  • Organization: University of Helsinki
  • References: <> <e2pp8k$su2$> <> <e2ssde$49v$>
  • Sender: owner-wri-mathgroup at

OK, the answer below from Pratik Desai did the trick - now SVD is faster 
and the processor load reaches 100% from time to time.

I just can't understand why my Mathematica wasn't configured like this 
by default. Both Intel and AMD are very much into multicore computers 
and also Mathematica advertise its multicore capabilities. Soon the 
major part of new computers sold will be multicore. Where is this 
'trick' of new environment variable documented? One could expect that a 
professional software like Mathematica would either offer some kind of 
choice when installing or then would have some option inside the program 
where this could be changed.


Pratik Desai <pratikd at> wrote:
> Antti Penttilä wrote:
>> Pratik Desai wrote:
>>> Try using SingularValueDecomposition on a sufficiently large matrix
>>> Pratik
>>> Wolfram Research, Inc.
>>> Tech Support
>> I have a new dual-core Athlon 64 X2 and WinXP 64-bit edition with 
>> Mathematica 5.2. SingularValueDecomposition with a random 2000x2000 
>> matrix takes about 41 seconds to complete but the processor load stays 
>> around 50% all the time. It seems that we'll have to start getting some 
>> refund of the price of Mathematica.
>> Best regards,
>> Antti Penttilä
> Hello Antti
> Mathematica 5.2 defaults to using only one thread for linear algebra on 
> Windows. To use multiple threads and take advantage of multiple 
> processors or cores, you will need to set OMP_NUM_THREADS to a value of 
> % NUMBER_OF_PROCESSORS% in your environment. You can do this by going to 
> My Computer and get to the properties template by right clicking and 
> clicking Properties, click the Advanced Tab and then click on 
> Environment Variables. Click on New right below the System Variables 
> list. In the the variable name type in OMP_NUM_THREADS and variable 
> value type in % NUMBER_OF_PROCESSORS%
> ----------------------------------------
> Variable Name : OMP_NUM_THREADS
> Variable Value: % NUMBER_OF_PROCESSORS%
> ----------------------------------------
> Now you can try your linear algebra operations. Dot on two matrices is 
> the best indicator of your multiprocessing capabilities. If you have 
> have further questions please let me know, or you can e-mail us directly 
> at support at I apologize for any confusion.
> Best regards,
> Pratik

  • Prev by Date: Re: How Functions are Applied to Matrices
  • Next by Date: Re: Re: Re: Calling .exe with Arguments - Run[] Issue
  • Previous by thread: Re: Re: Illusory Multicore Support in 5.2?
  • Next by thread: Re: Re: Illusory Multicore Support in 5.2?