Michael Creel wrote:
John W. Eaton
wrote:
On 29-Sep-2005, Michael Creel wrote:
| Perhaps it would be a good idea to incorporate MPITB into Octave. It
is | licensed GPL, and Javier Fernández, the developer, has indicated
that he | wouldn't mind putting it into octave-forge, if he could get
help making | it build using the o-f system. I expect that the same
would go for | direct incorporation into Octave. MPITB just makes mpi
functions | available to Octave. If they're not used, Octave functions
as normal - | there's no need to do MPI_Init at the outset. So its
presence shouldn't | bother anyone, and it could also be built
optionally. With dual core | systems ready to hit the mass market, it
would be a shame if Octave were | to use only half the computing power
of such machines.
I think it would be great to have MPI functions for Octave. But I
think the right place for that is in an external package rather than
with Octave itself. I hope to be able to do something soon with the
package system that Soren Hauberg has been working on, so we can
actually start to remove some things from Octave and put them in extra
packages rather than throwing everything in to the core of Octave.
jwe
This may be true, but if really fundamental parts of octave could be
parallelized, like for example matrix multiplications, or sorts, then
it might be good to do it inside octave, or at least to have the option
there. Unless all of that were done in .oct files. But I think that
trying to figure out how to let end users take advantage of multi core
cpus will be worth thinking about, pretty soon now. Cheers, M.
If you compile Octave with the GOTO BLAS library then matrix oprations
will use all available CPUs.
Here is a part of the GOTO BLAS FAQ
(http://www.tacc.utexas.edu/resources/software/gotoblasfaq.php):
How do I control the number of threads?
Currently, all of the GotoBLAS libraries are threaded and all
attempt to use all of the processors available on your target computer.
If you wish to control the number of threads, you need to specify the OMP_NUM_THREADS
or GOTO_NUM_THREADS environment. Both of these
environmental variables are identical except with respect to priority.
The GOTO_NUM_THREADS environment
is particularly useful for OpenMP users who want to control both the
number of OpenMP tasks and the number of GotoBLAS threads.
Version 1.0 of the lib was released earlier this week.
Fredrik
|