MPI with gLite (OBSOLETE --> please see INFNs mpi.tar.gz!)
mpi-glite.jdl
JobType = "MPICH";
NodeNumber = 6;
Executable = "cpi";
StdOutput = "cpi.out";
StdError = "cpi.err";
InputSandbox = {"cpi"};
OutputSandbox = {"cpi.err","cpi.out"};
Requirements = (other.GlueCEInfoTotalCPUs >= NodeNumber) &&
Member("MPICH", other.GlueHostApplicationSoftwareRunTimeEnvironment);
MPI with LCG (pre-gLite)
mpi.jdl
Type = "Job";
JobType = "MPICH";
Executable = "MPItest.sh";
NodeNumber = 5;
Arguments = "cpi 5";
StdOutput = "test.out"; StdError = "test.err";
InputSandbox = {"MPItest.sh","cpi"};
OutputSandbox = {"test.err","test.out","executable.out"};
Requirements = other.GlueCEInfoLRMSType == "PBS" || other.GlueCEInfoLRMSType == "LSF";
MPItest.sh
for i in `cat $HOST_NODEFILE` ; do
echo "Mirroring via SSH to $i"
# creates the working directories on all the nodes allocated for parallel execution.
ssh $i mkdir -p `pwd`
# copies the needed files on all the nodes allocated for parallel execution.
/usr/bin/scp -rp ./* $i:`pwd`
# checks that all files are present on all the nodes allocated for parallel execution.
ssh $i ls `pwd`
done
# execute the parallel job with mpirun.
echo "Executing $EXE"
chmod 755 $EXE
mpirun -np $CPU_NEEDED -machinefile $HOST_NODEFILE `pwd`/$EXE > executable.out''
--
RichardDeJong - 14 Jun 2006
Topic revision: r1 - 2006-06-14
- unknown