help-octave
[Top][All Lists]
Advanced

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

Re: problems installing openmpi_ext


From: Francis Poulin
Subject: Re: problems installing openmpi_ext
Date: Tue, 3 Sep 2013 13:25:43 +0000

Hello,

Sorry about the replying.  Will correct that in the future.

Yes, I do follow the vectorizing approach a lot and save a lot of time because 
of it.  

One example that I work on is that I need to compute eigenvalues of large 
matrices and sometimes many times.  The latter could be improved upon by 
looking over the different parameters.  A loop there is essential.  I did check 
out the parcelfun_example that is mentioned in your pdf.  Looks great.  When I 
try running it for some reason it doesn't like the comments so I removed those. 
 Then I get that the serial part seems to run ok but the parallel part dies, 
see below.  Any idea why?

Elapsed time is 8.37879 seconds.
parcellfun: child process 11925 created
parcellfun: child process 11926 created
parcellfun: 0/200 jobs done
warning: parcellfun: unhandled error in subprocess 1

warning: parcellfun: unhandled error in subprocess 2
error: '__exit__' undefined near line 282 column 1
error: called from:
error:   /Users/fpoulin/octave/general-1.3.2/parcellfun.m at line 282, column 1
error:   /Users/fpoulin/Documents/Octave/Parallel/parcelfun2.m at line 53, 
column 4
error: 'fload' undefined near line 309 column 16
warning: broken pipe -- some output may be lost
warning: broken pipe -- some output may be lost
parcellfun: waiting for child process 11925 to close
error: '__exit__' undefined near line 282 column 1
error: called from:
error:   /Users/fpoulin/octave/general-1.3.2/parcellfun.m at line 282, column 1
error:   /Users/fpoulin/Documents/Octave/Parallel/parcelfun2.m at line 53, 
column 4

If you have any ideas on how to compute eigenvalues of large matrices in 
parallel in octave I'd be curious to hear them.  I know that there is the 
krylov based approach but that is very sensitive to the guess, at least in the 
problems that I deal with.    What I am doing now is using 'eig' on a coarse 
grid to find a rough guess then using 'eigs' on a finer grid to get better 
accuracy.  I know that scalapack seems to be designed to do this and I've toyed 
with it in the past but it is not very friendly.  If octave had a way to do 
this in parallel that would be great.  If I figure something out I will happily 
share it.  But if someone else has before me that would be even easier.

Cheers, Francis


On 2013-09-03, at 9:06 AM, c. <address@hidden>
 wrote:

> 
> On 3 Sep 2013, at 14:40, Francis Poulin <address@hidden> wrote:
> 
>> Hello,
> Hi,
> 
> Please ask these questions keeping the list in CC as others may also be 
> interested.
> 
>> There are a lot of calculations that I do in octave that are computationally 
>> intensive.  Often there are loops that I think would parallelize very easily.
> 
> Before you resort to parallelization make sure youre code is fully vectorized 
> where possible:
> 
> http://jordi.platinum.linux.pl/octave.html/Vectorization-and-Faster-Code-Execution.html
> 
> the speed up between vectorized and non vectorized code is often one or two 
> orders of magnitude.
> 
>> I suspect that openmpi_ext could do this sort of stuff but it's a matter of 
>> how difficult is it to get started.
> 
> if you just want to speed up a lengthy loop you are probably better off 
> trying with "pararrayfun" or "parcellfun" from the package general.
> you can find an usage example in this presentation:
> http://jordi.platinum.linux.pl/octave/what-is-octave.pdf
> 
>> Thanks,
>> Francis
> 
> c.



reply via email to

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