MathGroup Archive 2006

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

Search the Archive

Re: RE:Dual Core

  • To: mathgroup at smc.vnet.net
  • Subject: [mg70149] Re: RE:Dual Core
  • From: "Jens-Peer Kuska" <kuska at informatik.uni-leipzig.de>
  • Date: Thu, 5 Oct 2006 03:33:18 -0400 (EDT)
  • Organization: Uni Leipzig
  • References: <eg02p8$86s$1@smc.vnet.net>

Hi,

what did you expect ??
The Mathematica Kernel is written in C++, this means,
that it can do everything (and more) than Java can do.

The problem ist, that a parallel program may use all your
processors and it will take longer than a serial version.
This ist in allmost all problems the case and it is a hard work
that the parallel version is not slower than the serial one.
Especial for numerical algorithms (mostly linear algebra)
a lot of work has been done to develop fast parallel
numerical algorithms. But the most of thease algorithms
are made for super computers with hundreds or thousands
of CPUs and is is a huge difference for an algorithm
if it should run faster on two (dual core) CPUs or on
64 CPUs ...

Mathematica make use of the parallel linear algebra by using
special librarys that use more than a single core when
the user allow it (set the OMP_NUM_THREADS environment variable
under Linux or MS-Windows to a number >= 2).

For symbolic algorithms only a very few parallel versions
are known and Mathematica is a computer algebra that does
mostly symbolic computation and I don't expect, that
the symbolic engine of Mathematica will work parallel
in the near future.

But Mathematica *has* already everything
to do parallel computations, not with threads
but with MathLink and on distributed memory basis.
The Parallel Computing Toolkit
does this and it is simple to create a parallel
Mathematica programm with the build-in MathLink
in Mathematica language or with C++ and MathLink
without buying the Parallel Computing Toolkit or the
personal grid edition.

And at some day the FrontEnd will launch a second
hidden kernel to support the graphics rendering, the
formating of expressions and notebooks and the 
printing jobs.

Best regards
  Jens








<markc.westwood at gmail.com> schrieb im Newsbeitrag 
news:eg02p8$86s$1 at smc.vnet.net...
| Hi
|
| Welcome to the world of performance evaluation. 
You ask 'Is Mathematica really unable to use both 
cores at the same time ?' while the answer to the 
question is staring you in the face -- no it 
cannot.  You probably have a right to expect the 
operating system (if it is multicore aware) to 
distribute separate threads of execution onto 
different cores, so you can (again probably -- the 
only true answer is derived by testing and 
experimentation) run Excel on one core (in one 
thread) and Mathematica on the other (in another 
thread).
|
| In general the task of splitting a computation 
onto 2 cores is the same as writing 2 programs 
which, cooperatively and while running at the same 
time, solve a problem.  Imagine, if you wish, 
writing 2 Mathematica programs to carry out 1 
computation.  Not so easy.  And possibly we 
shouldn't expect Mathematica to do this 
automatically for us, not with the current state 
of the art.  I'm extremely doubtful that the 
internal workings of Solve, Reduce, etc are easily 
distributable onto multiple cores -- I guess 
someone from WRI will put me (us) right on that if 
I'm dead flat wrong.  Mathematica doesn't have, as 
languages such as Java do, programming constructs 
for managing separate threads of execution, unless 
you jump to MathLink programming.
|
| If you watch the task manager very closely while 
you're working with Mathematica you might (just) 
see the front-end and the kernel on different 
cores since they are (and have long been) handled 
by different threads of execution.  But the amount 
of time most of us spend in the front-end is 
insignificant and it may not appear high up the 
list of tasks if at all.
|
| Reference to the WRI site does show that there 
is a 64-bit multicore version of Mathematica 
available.  I would be interested (and other 
readers of this thread too I guess) in knowing if 
you are using this version -- in which case you 
probably feel very disappointed.  I'd also be 
interested in learning from users of that version 
whether Mathematica can indeed distribute a single 
command such as Solve or Reduce over multiple 
cores.  That's something I might even pay money 
for.
|
| Hope this helps
|
| Regards
| Mark
|
| Link to the forum page for this post:
| 
http://www.mathematica-users.org/webMathematica/wiki/wiki.jsp?pageName=Special:Forum_ViewTopic&pid=14135#p14135
| Posted through http://www.mathematica-users.org 
[[postId=14135]]
|
| 



  • Prev by Date: RE:Dual Core
  • Next by Date: Re: undocumented
  • Previous by thread: RE:Dual Core
  • Next by thread: undocumented