Rossky Group Homepage
- How to use Intel C compiler and Fortran Compiler
in Zeon machines (= slave nodes in cluster) : For serial codes
1) set the libraty path variable in .tcshrc (or .bashrc) of the slave node which you are going to use.
* For tcsh (or csh), add in .tcshrc (or .cshrc) :
setenv LD_LIBRARY_PATH /opt/intel/compiler70/ia32/lib
*For bash, add in .bashrc :
export LD_LIBRARY_PATH=/opt/intel/compiler70/ia32/lib
2)Use the optimization flags to obtain high speed in Pentium IV or Zeon.
*For C or C++ :
icc -O3 -tpp7 -xW -axW -o outputfilename filename.c -lm
*For Fortran 77 or Fortran 90,
ifc -O3 -tpp7 -xW -axW -o outputfilename filename.f -lm
3) For more information, visit the Intel compilers website.
note)
(1) Intel Fortran compiler is based on the Fortran 95.
(2) The optimization flags work only for the Pentium IV or Zeon.
(3) The Intel compilers can have high performances only on the Pentium IV or Zeon. Among our machines, only slave nodes in the cluster are Zeon processors. The others are all pentium III.
- How to use Portland Group C compiler and Fortran Compiler
in cluster(ne222 and slave nodes) or in other machines : For serial codes
1) For ne222 and slave nodes, place '/pride/pgi/linux86/bin' in your path.
For any other machines, place '/usr/pgi/linux86/bin' in your path.
2) Set the license file path variable.
* For tcsh (or csh) in ne222 and slave nodes, add in .tcshrc (or .cshrc) :
setenv PGI /pride/pgi
setenv LM_LICENSE_FILE $PGI/license.dat
setenv LM_LICENSE_FILE "$LM_LICENSE_FILE":$PGI/license.dat
* For tcsh (or csh) in any other machines, add in .tcshrc (or .cshrc) :
setenv PGI /usr/pgi
setenv LM_LICENSE_FILE $PGI/license.dat
setenv LM_LICENSE_FILE "$LM_LICENSE_FILE":$PGI/license.dat
*For bash in ne222 and slave nodes, add in .bashrc :
export PGI=/pride/pgi
export LM_LICENSE_FILE=$PGI/license.dat
export LM_LICENSE_FILE="$LM_LICENSE_FILE":$PGI/license.dat
*For bash in any other machines, add in .bashrc :
export PGI=/usr/pgi
export LM_LICENSE_FILE=$PGI/license.dat
export LM_LICENSE_FILE="$LM_LICENSE_FILE":$PGI/license.dat
- How to use MPICH (version 1.2.4) with Intel Compilers : For parallel codes
* The default compilers which MPI uses in the cluster are Intel compilers. That is, when 'mpicc' or 'mpif90' are used, they invoke Intel compilers. If you want to use Portland compilers, see the next.
1) Place '/pride/mpich/bin' in your path.
2) Place the library path variable in .tcshrc or .bashrc of your home directory in the ne222 and all slave nodes
* For tcsh (or csh), add in .tcshrc (or .cshrc) :
setenv LD_LIBRARY_PATH /opt/intel/compiler70/ia32/lib
*For bash, add in .bashrc :
export LD_LIBRARY_PATH=/opt/intel/compiler70/ia32/lib
3) Make a configuration file named '.mpd.conf' in your home directory in ne222 and all slave nodes. The permission on '.mpd.conf' must be set so that the
file is writeable and readable only by the user. The format of a configuration file is as follows :
password=xxxxxxxxxx
4) Run 'mpichboot' to activate new 'mpd' daemons. If you have running mpd's from the previous version, kill the old mpd's using 'mpichstop' before you start new mpd's. (You don't have to use
'mpdcleanall' since 'mpichstop' has been combined with 'mpdcleanall' now.)
5) Check the status of daemons with 'mpdtrace'.
6) In order to compile your parallel code with the Intel compiler, command 'mpicc (or mpif90) -O3 -tpp7 -xW -axW -o outputfilename filename.c -lm'.
(Of course, you can run 'mpicc' or 'mpif90' without the optimization flags if you don't care about the speed)
7) run 'mpirun -np # -s -1 outputfilename'. or
run 'mpirun -np # -s outputfilename -MPDLOC- slave01 slave02'.
-np : number of mpi processes used
-s : needed for background job
-1 : do NOT start first process locally
-MPDLOC- nodenames : run the job in selected nodes
8) Check your job status with 'mpdjobs'
9) Use 'mpdkill job#' to stop your job.
10) To stop mpd daemons, Use 'mpichstop'.
- How to use MPICH (version 1.2.4) with Portland Group Compilers : For parallel codes
1) Place '/pride/mpich-pgi/bin' in your path. Please, set the mpich-pgi path behind your mpich path. For example,
set path = (. /home /home/danggi /bin /sbin /usr/bin /pride/mpich/bin /pride/mpich-pgi/bin)
2) Set the license file path variable in the ne222 and all slave nodes.
* For tcsh (or csh) in ne222 and slave nodes, add in .tcshrc (or .cshrc) :
setenv PGI /pride/pgi
setenv LM_LICENSE_FILE $PGI/license.dat
setenv LM_LICENSE_FILE "$LM_LICENSE_FILE":$PGI/license.dat
*For bash in ne222 and slave nodes, add in .bashrc :
export PGI=/pride/pgi
export LM_LICENSE_FILE=$PGI/license.dat
export LM_LICENSE_FILE="$LM_LICENSE_FILE":$PGI/license.dat
3) 'mpipgcc', 'mpipgCC', 'mpipgf90', and 'mpipgf77' represent Portand C, C++, Fortran 90, and Fortran 77 compilers with MPI, respectively
4) Commands are same as in MPICH with Intel Compilers.