Saturday, December 18, 2004
A new discover on Matlab 7
I found the latest version of Matlab (Matlab 7 ), on it's own is multiprocessor supported. Please refer to the page http://www.mathworks.com/products/new_products/R14_prerelease.html for more details. I will spend sometime to study on it and try to run it on my own PC first.
Friday, December 17, 2004
Able to log on the the workstation
After tried many times, I am now able to access the SunFire workstation. However it's a DOS like environment, I tried many ways but cannot figure out how to install and run my programs.
Tuesday, December 14, 2004
procedure to log on SunFire15K Work Station
Basically we need two softwares installed on our PC in order to log on the SunFire workstation. The software can be downloaded from NTU CITS recommended software list website or hit Google for the latest ones.
1. XWindows emulator NTU recommend list of 3 alternative softwares
Exceed
XWin32 ( My try)
Cygwin
2. SSH client program
PuTTY
Then follow the instruction of configuration over the website http://www.ntu.edu.sg/ncsv/faqs/faqs_answer6.html
1. XWindows emulator NTU recommend list of 3 alternative softwares
Exceed
XWin32 ( My try)
Cygwin
2. SSH client program
PuTTY
Then follow the instruction of configuration over the website http://www.ntu.edu.sg/ncsv/faqs/faqs_answer6.html
Friday, December 10, 2004
Attempt to log on Sun Fire 15k computer
The existing program for Matlab MPI is mostly based on Matlab run on multiple computers which means each computer will have one Matlab software installed, I am not sure if it can work on the multi-processor.
I have tried to log on this computer and run the programs, but I failed to log on.
I have tried to log on this computer and run the programs, but I failed to log on.
Wednesday, December 08, 2004
PARALLEL MATLAB METHODS
A. Embarrassingly Parallel
Software that make use of this approach: Multi, Paralize, PLab, Parmatlab. This approach makes use of multiple MATLAB processes running on different machines or a singlemachine with multiple processors. However no coordination between the MATLAB processes is provided..Instead, a parent process passes off data to the child processes. Then all processes work on its local data,and return the result to the parent process.Under this model, the type of functions that can be parallelized is limited. For example, a for-loopwith any data dependency across iteration would be impossible to parallelize under this model. However,this model has the advantage of simplicity. In the software we found that utilize this approach, usuallyno change in existing code is needed to parallelize the code, if the code is parallelizable using thissimple approach. From our experience, this approach is sufficient for a lot of real world applications.
B. Message Passing
Software that make use of this approach: MultiMATLAB, CMTM, DPToolbox, MPITB/PVMTB, MATmarks, PMI, PTToolbox, MatlabMPI, pMatlab.This approach provides message passing routines between MATLAB processes. This enables users towrite their own parallel programs in MATLAB in a fashion similar to writing parallel programs with acompiled language using MPI. In fact, for some of the projects, the routines providedare wrappers for MPI routines. This approach has the advantage of flexibility: users are theoreticallyable to build any parallel system in MATLAB that they can build in compiled languages with MPI. Thisapproach is a superset of the embarrassingly parallel approach.
C. Backend Support
Software that make use of this approach: NetSolve, DLab, Matpar, PLAPACK, PARAMAT, MATLAB*P. This approach uses MATLAB as a front end for a parallel computation engine. Computation is doneon the engine, usually making use of high performance numerical computation libraries like ScaLAPACK. For some approaches, the data resides in MATLAB and are passed to the engine andback. And for some approaches, the data reside on the server and are passed back to MATLABonly upon request. The latter approach has the advantage that there is less data traffic. This is importantfor performance when data sets are large.The advantage of this approach is that it only requires one MATLAB session (therefore only onelicense), and it usually does not require the end user to have knowledge of parallel programming.
D. MATLAB Compilers
Software that make use of this approach: Otter, RTExpress, ParAL, FALCON, CONLAB, MATCH, Menhi. These softwares compile MATLAB scripts into an executable, sometimes translating the scripts into acompiled language as an intermediate step. Some softwares links the compiled code withparallel numerical libraries, while some softwares generates code that is already parallel.This approach has the advantage that the compiled code runs without the overhead incurred byMATLAB. Also the compiled code can be linked with code written in C or FORTRAN, so MATLABcan be used to develop part of a system instead of the whole system. In this approach, MATLAB isused as a development platform instead of a computing environment. This allows the produced parallelprogram to run on platforms which does not support MATLAB (e.g. SGI).
Software that make use of this approach: Multi, Paralize, PLab, Parmatlab. This approach makes use of multiple MATLAB processes running on different machines or a singlemachine with multiple processors. However no coordination between the MATLAB processes is provided..Instead, a parent process passes off data to the child processes. Then all processes work on its local data,and return the result to the parent process.Under this model, the type of functions that can be parallelized is limited. For example, a for-loopwith any data dependency across iteration would be impossible to parallelize under this model. However,this model has the advantage of simplicity. In the software we found that utilize this approach, usuallyno change in existing code is needed to parallelize the code, if the code is parallelizable using thissimple approach. From our experience, this approach is sufficient for a lot of real world applications.
B. Message Passing
Software that make use of this approach: MultiMATLAB, CMTM, DPToolbox, MPITB/PVMTB, MATmarks, PMI, PTToolbox, MatlabMPI, pMatlab.This approach provides message passing routines between MATLAB processes. This enables users towrite their own parallel programs in MATLAB in a fashion similar to writing parallel programs with acompiled language using MPI. In fact, for some of the projects, the routines providedare wrappers for MPI routines. This approach has the advantage of flexibility: users are theoreticallyable to build any parallel system in MATLAB that they can build in compiled languages with MPI. Thisapproach is a superset of the embarrassingly parallel approach.
C. Backend Support
Software that make use of this approach: NetSolve, DLab, Matpar, PLAPACK, PARAMAT, MATLAB*P. This approach uses MATLAB as a front end for a parallel computation engine. Computation is doneon the engine, usually making use of high performance numerical computation libraries like ScaLAPACK. For some approaches, the data resides in MATLAB and are passed to the engine andback. And for some approaches, the data reside on the server and are passed back to MATLABonly upon request. The latter approach has the advantage that there is less data traffic. This is importantfor performance when data sets are large.The advantage of this approach is that it only requires one MATLAB session (therefore only onelicense), and it usually does not require the end user to have knowledge of parallel programming.
D. MATLAB Compilers
Software that make use of this approach: Otter, RTExpress, ParAL, FALCON, CONLAB, MATCH, Menhi. These softwares compile MATLAB scripts into an executable, sometimes translating the scripts into acompiled language as an intermediate step. Some softwares links the compiled code withparallel numerical libraries, while some softwares generates code that is already parallel.This approach has the advantage that the compiled code runs without the overhead incurred byMATLAB. Also the compiled code can be linked with code written in C or FORTRAN, so MATLABcan be used to develop part of a system instead of the whole system. In this approach, MATLAB isused as a development platform instead of a computing environment. This allows the produced parallelprogram to run on platforms which does not support MATLAB (e.g. SGI).
Friday, December 03, 2004
Wednesday, December 01, 2004
Introduction to this project
In recent years application development support for uni-processors has grown dramatically. A lot of tools are available to assist developers in a wide range of business and scientific domains. In numerical computing and computational tools such as MATLAB, the implementation details of fundamental algorithms used repeatedly in scientific applications.
On massively parallel platforms or distributed environments, application development is still difficult and time consuming due to the scarcity of good supporting tools.
The objective of this research is to analyze the current existing MPI programs, try to test some of them and find out a suitable one for our laboratory use, and if needed try to modify it in order to get higher performance.
On massively parallel platforms or distributed environments, application development is still difficult and time consuming due to the scarcity of good supporting tools.
The objective of this research is to analyze the current existing MPI programs, try to test some of them and find out a suitable one for our laboratory use, and if needed try to modify it in order to get higher performance.
Saturday, November 27, 2004
PARALLEL MATLAB SURVEY (Done by MIT)
The popularity of MATLAB and the fact that it could only utilize one processor sparked a lot ofinterest in creating a parallel MATLAB. We have done a survey and found through extensive websearching 27 parallel MATLAB projects. These projects vary in their scope: some are one-man projectsthat provide basic embarrassingly parallel capabilities to MATLAB; some are university or governmentlab research projects; while some are commercial projects that enables the user of MATLAB in productdevelopment. Also their approaches to making MATLAB parallel are different: some compile MATLABscripts into parallel native code; some provide a parallel backend to MATLAB, using MATLAB as agraphical frontend; and some others coordinate multiple MATLAB processes to work in parallel. Theseprojects also vary widely in their status: some are now defunct and exist only in Google web cache,while some are entering their second or third revision.
Friday, November 26, 2004
Starting of the project
My project title is matlab MPI, no record shows that there has been anyone from NTU worked on this project, however there are over 27 projects on this topic have been conducted world wide.
The Parallel Matlab survey by MIT shows the records.
http://supertech.lcs.mit.edu/~cly/survey.html
This survey website also provides the links to the 27 projects and short summery for each project.
The Parallel Matlab survey by MIT shows the records.
http://supertech.lcs.mit.edu/~cly/survey.html
This survey website also provides the links to the 27 projects and short summery for each project.
Tuesday, November 23, 2004
Blog for matlab MPI project
***I will use this blog as an online-diary-style project logbook.***
It is used for recording matlab MPI project progress.
It is used for recording matlab MPI project progress.
How to remember my blog web add. easily
My blog web add is http://plusdourop.blogspot.com/ where plusdo is my net name used in almost everywhere I post, urop is the project program name (undergraduate research opportunity program), so it is plusdourop as one word plus the fixed web domain .blogspot.com

