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: <firstname.lastname@example.org>
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
<markc.westwood at gmail.com> schrieb im Newsbeitrag
news:eg02p8$86s$1 at smc.vnet.net...
| 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
| 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
| Hope this helps
| Link to the forum page for this post:
| Posted through http://www.mathematica-users.org
Prev by Date:
Next by Date:
Previous by thread:
Next by thread: