octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Possible (summer of code) projects for Octave


From: Kai Habel
Subject: Re: Possible (summer of code) projects for Octave
Date: Thu, 06 Jan 2011 10:55:07 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100914 SUSE/3.1.4 Lightning/1.0b2 Thunderbird/3.1.4

 On 04.01.2011 16:52, David Bateman wrote:

Jaroslav Hajek-2 wrote:
On Mon, Jan 3, 2011 at 8:10 PM, Daniel Kraft<address@hidden>  wrote:
Still,
maybe there are currently some ideas or motivation to try something into
that direction?  Otherwise, I also read something about attempts to make
use
of multiple cores -- this sounds interesting, too, are the ongoing
projects
towards (or interest in) that?  Some other things that would be useful
for
Octave and the user community?

I think what Octave needs to be considered seriously in the future is
better support for high-level parallelism. Low-level cheap stuff like
parallelizing sum() is laughable, IMHO - might be good for MW to boost
their PR image, but in real life that will win you almost nothing. I
and D. Bateman actually experimented with code to parallelize some
element-wise matrix operations, and the results were, IMHO, poor.

Parallelizing the element-wise matrix operators gave poor performance, but
parallelizing the mapper functions gave speed-ups that scaled well with the
number of cores. In the thread

http://octave.1599824.n4.nabble.com/Using-OpenMP-in-Octave-td1694553.html

You tested with 2 threads and Kai Habel with 4 and you both showed nearly
linear speed-up with the mapper functions. Kai on his AMD even showed slight
improvements for the element-wise operators. I'd say its worth trying to
improve the speed of the mappers.

D.

In the meantime I have upgraded my cpu to a 6-core AMD @ 2.8GHz (1055T).

Now I have the following results:

Without patch:

octave:7> openmp_bench
operations
Elapsed time is 0.270123 seconds.
Elapsed time is 0.325103 seconds.
Elapsed time is 0.326798 seconds.
Elapsed time is 0.31903 seconds.
Elapsed time is 0.43636 seconds.
Elapsed time is 0.135023 seconds.
Elapsed time is 0.15116 seconds.
mappers
Elapsed time is 1.38396 seconds.
Elapsed time is 1.24274 seconds.
Elapsed time is 1.35922 seconds.
Elapsed time is 2.70118 seconds.


With patch:

octave:7> openmp_bench
operations
Elapsed time is 0.126824 seconds.
Elapsed time is 0.15431 seconds.
Elapsed time is 0.185037 seconds.
Elapsed time is 0.165895 seconds.
Elapsed time is 0.157263 seconds.
Elapsed time is 0.115424 seconds.
Elapsed time is 0.111561 seconds.
mappers
Elapsed time is 0.318311 seconds.
Elapsed time is 0.325885 seconds.
Elapsed time is 0.348351 seconds.
Elapsed time is 0.571245 seconds.


As you can see especially the mapper benchmarks show a significant speedup.
I have attached the Changeset and the benchmark script for convenience.

Kai



Attachment: openmp_bench.m
Description: Text Data

Attachment: Changeset.mtpatch
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]