On Wed, 13 Jan 2010, Jose E. Roman wrote: > > On 13/01/2010, Takuya Sekikawa wrote: > > > I have a few more questions. > > > > Just in case I want to ask. > > > > [Q1] > > In general, like ex1, Don't we need any change to source code to > > run program with MPI-based system? > > in other words, to run SLEPc-based program in MPI-based system, > > all I need to do is changing ./configure option (--with-mpi=1, etc) > > and re-compiling (without changing source) ? > > No change in the program. Just enable MPI in the installation.
Note that the examples are written to be parallel - and run with or without MPI. You cannot take any random sequential code, compile it with MPI - and expect it to run parallely. Eventhough SLEPc/PETSc hide most of the MPI related stuff from the user - there is generally some user code that should be MPI aware. [in ex1 - the matrix assembly is written to be MPI aware - and the data is distrubuted and assembled parallely] > > > > [Q2] > > Can I use intel-compiler (icc/icpc) on MPI-based SLEPc application? > > (because intel compiler is really fast so I want to use it on MPI-based > > system too) > > Yes, Note: Faster compilers speedup sequential part of the code [hence the overall runtime for the parallel run aswell]. But your bottleneck is MPI/communication cost - which won't change. So your parallel scalability will be skewed further. To improve parallel scalability - you'll have to get the fastest network you can - between the nodes. And then install MPI that can perform well on the given network setup. [and as Jed mentioned -log_summary is a better tool to compare performance] Satish