matlab*p 2.0: user friendly, interactive environment for parallel scientific computing
DESCRIPTION
MATLAB*P 2.0: User Friendly, Interactive Environment for Parallel Scientific Computing. Ron Choy, Alan Edelman Lab. For Computer Science MIT. MATLAB*P: a parallel MATLAB project. We all love MATLAB It’s useful for numerical experiments as well as for real production systems - PowerPoint PPT PresentationTRANSCRIPT
MATLAB*P 2.0: User Friendly, Interactive Environment for
Parallel Scientific ComputingRon Choy, Alan EdelmanRon Choy, Alan Edelman
Lab. For Computer ScienceLab. For Computer Science
MITMIT
MATLAB*P: a parallel MATLAB project We all love MATLABWe all love MATLAB It’s useful for numerical experiments as It’s useful for numerical experiments as
well as for real production systemswell as for real production systems Don’t you wish it runs faster?Don’t you wish it runs faster?
Outline
Project backgroundProject background The systemThe system How to use?How to use? BenchmarksBenchmarks
Why parallel MATLAB
MATLAB only runs on single processorMATLAB only runs on single processor It was fine before, but the size of interesting It was fine before, but the size of interesting
problems grows faster than CPU speedproblems grows faster than CPU speed Solution:Solution:
Use compiled language – hard(er)Use compiled language – hard(er) Make a parallel MATLABMake a parallel MATLAB
Parallel MATLAB Survey
26 projects26 projects 4 approaches4 approaches
Message passingMessage passing Embarrassingly parallelEmbarrassingly parallel CompilationCompilation Backend support MATLAB*PBackend support MATLAB*P
MATLAB*P
Provide a parallel backend to MATLABProvide a parallel backend to MATLAB Backend is based on popular numerical Backend is based on popular numerical
libraries:libraries: ScaLAPACKScaLAPACK FFTWFFTW PARPACKPARPACK ……
Focus
Require minimal learning on user’s partRequire minimal learning on user’s part Reuse of existing scriptsReuse of existing scripts Mimic MATLAB behaviourMimic MATLAB behaviour Data stay on backend until explicitly Data stay on backend until explicitly
retrieved by userretrieved by user Extendable backendExtendable backend
Example
A = randn(1024*p,1024*p);A = randn(1024*p,1024*p); E = eig(A);E = eig(A); e = pp2matlab(E);e = pp2matlab(E); plot(e,’*’);plot(e,’*’);
Example 2
J = 1:n;J = 1:n; J = J(ones(n,1),:);J = J(ones(n,1),:); I = J’;I = J’; E = ones(n,n);E = ones(n,n); H = E./(I+J-1);H = E./(I+J-1);
Example 3
d = randn(10000*p,1);d = randn(10000*p,1); a = 1:9999*P;a = 1:9999*P; z = mm(‘chi2rnd’,a);z = mm(‘chi2rnd’,a); e = stebz(d,z)e = stebz(d,z)
Example 4
Index = 1:100*p;Index = 1:100*p; B = mm(‘mywork’, Index);B = mm(‘mywork’, Index);
Visualization package
A term project done by a group of students A term project done by a group of students in a parallel computing class at MITin a parallel computing class at MIT
Provides the equivalent of mesh, surf and Provides the equivalent of mesh, surf and spy to distributed matricesspy to distributed matrices
Benchmarks
Does all this power and convenience come Does all this power and convenience come at a cost?at a cost?
Sadly it doesSadly it does Communication between MATLAB and Communication between MATLAB and
serverserver Data distribution to mimic MATLAB Data distribution to mimic MATLAB
Good news: it amortizesGood news: it amortizes
To obtain more information …
Parallel MATLAB surveyParallel MATLAB survey http://supertech.lcs.mit.edu/~cly/survey.hhttp://supertech.lcs.mit.edu/~cly/survey.h
tmltml MATLAB*P homepageMATLAB*P homepage
http://supertech.lcs.mit.edu/~cly/matlabp.http://supertech.lcs.mit.edu/~cly/matlabp.htmlhtml
My email address: [email protected] email address: [email protected]