Hi, after some trial and error, I was able to make some progress in
running MOLPRO with Infiniband/Topspin libraries. Because the
special requirement of this MPI library, which accepts the following
format of arguments:<br>
<br>
<span style="font-weight: bold;">mpirun</span> [<span style="font-weight: bold;">-paramfile=</span><span style="font-style: italic;">parameterfile</span>] <span style="font-weight: bold;">-np</span> n <span style="font-weight: bold;">
-hostfile</span> <span style="font-style: italic;">hostfile executable arguments</span><br clear="all"><br>
I have to use a wrapper (mpirun_molpro) of the following format:<br>
<br>
#!/bin/csh -f<br>
echo MOLPRO_KEY=\"$MOLPRO_KEY\" > /home/sli/parameterfile<br>
#echo $MOLPRO_GA_DEBUG<br>
echo MOLPRO_MEMMAX=$MOLPRO_MEMMAX >> /home/sli/parameterfile<br>
echo MOLPRO_MEMORY=$MOLPRO_MEMORY >> /home/sli/parameterfile<br>
echo MOLPRO_MXMBLK=$MOLPRO_MXMBLK >> /home/sli/parameterfile<br>
#echo $MOLPRO_MXMBLN<br>
#echo $MOLPRO_UNROLL<br>
#echo $MOLPRO_MINDGM<br>
#echo $MOLPRO_MINDGL<br>
#echo $MOLPRO_MINDGC<br>
#echo $MOLPRO_MINDGR<br>
#echo $MOLPRO_MINDGV<br>
#echo $MOLPRO_FLOPDGM<br>
#echo $MOLPRO_FLOPMXV<br>
#echo $MOLPRO_FLOPDGV<br>
#echo $MOLPRO_FLOPMXM<br>
#echo $MOLPRO_MPPLAT<br>
#echo $MOLPRO_MPPSPEED<br>
#echo $MOLPRO_NOBLAS<br>
echo MOLPRO_CACHE=$MOLPRO_CACHE >> /home/sli/parameterfile<br>
#echo $MOLPRO_IOS_IMPLEMENTATION<br>
echo LIBMOL=$LIBMOL >> /home/sli/parameterfile<br>
#echo $MOLPRO_GA_STACK<br>
#echo $MOLPRO_GA_HEAP<br>
echo MOLPRO_GA_MEMORY=$MOLPRO_GA_MEMORY >> /home/sli/parameterfile<br>
echo MOLPRO_MAX_MEMORY=$MOLPRO_MAX_MEMORY >> /home/sli/parameterfile<br>
echo MOLPRO_LOG=$MOLPRO_LOG >> /home/sli/parameterfile<br>
#echo $MOLPRO_DEF<br>
echo MOLPRO_PWD=$MOLPRO_PWD >> /home/sli/parameterfile<br>
echo MOLPRO_SCR=$MOLPRO_SCR >> /home/sli/parameterfile<br>
#echo $MOLPRO_NOHUP<br>
#echo $MOLPRO_SCR_11<br>
#echo $MOLPRO_SCR_12<br>
#echo $MOLPRO_SCR_13<br>
#echo $MOLPRO_SCR_14<br>
#echo $MOLPRO_SCR_15<br>
#echo $MOLPRO_SCR_16<br>
#echo $MOLPRO_SCR_17<br>
#echo $MOLPRO_SCR_18<br>
#echo $MOLPRO_SCR_19<br>
echo MOLPRO_OUTPUT=$MOLPRO_OUTPUT >> /home/sli/parameterfile<br>
echo MOLPRO_EXECUTABLE=$MOLPRO_EXECUTABLE >> /home/sli/parameterfile<br>
#echo $MOLPRO_SCR_<br>
#echo $MOLPRO_SCR_1<br>
echo MOLPRO_BLASLIB=$MOLPRO_BLASLIB >> /home/sli/parameterfile<br>
#echo $MOLPRO_TRAP<br>
#echo $MOLPRO_IFC<br>
#echo $PRINTER<br>
#echo $XWDOPT<br>
#echo $XPRCMD<br>
echo DISPLAY=$DISPLAY >> /home/sli/parameterfile<br>
#echo $DEBUG_ENV_NAME<br>
#echo $INDEX_DIRECTORY_ENVIRONMENT<br>
echo TMPDIR=$TMPDIR >> /home/sli/parameterfile<br>
#echo $TRAP<br>
#echo $NOTRAP<br>
/usr/local/topspin/mpi/mpich/bin/mpirun_ssh -paramfile=/home/sli/parameterfile $1 $2 -hostfile $4 $5<br>
<br>
Commented lines are the undefined environmental variables, which might
be necessary once I have done the tuning. The following are the
actual commands initiated by mpirun_ssh captured by the <span style="font-weight: bold;">-show</span> option<br>
<br>
command: /usr/bin/ssh compute-11-1.local cd /home/sli/scratch/molpro;
/usr/bin/env MPIRUN_HOST=compute-11-1.local MPIRUN_PORT=38590
MPIRUN_RANK=0 MPIRUN_NPROCS=2 MPIRUN_ID=29194
MPIRUN_NODENAME=compute-11-1.local
MOLPRO_KEY="xxxxReplacedxxxLegalxxxReasonxxx" MOLPRO_MEMMAX=2147483647
MOLPRO_MEMORY=7272727 MOLPRO_MXMBLK=32 MOLPRO_CACHE=262144
LIBMOL=/home/sli/apps/molpro-2002.6/pgi-i8-mpich-mkl-mellanox-ga4/lib/
MOLPRO_GA_MEMORY=8000000 MOLPRO_MAX_MEMORY=7445729
MOLPRO_LOG=/home/sli/apps/molpro-2002.6/pgi-i8-mpich-mkl-mellanox-ga4/test/h2o.log
MOLPRO_PWD=/home/sli/apps/molpro-2002.6/pgi-i8-mpich-mkl-mellanox-ga4/test
MOLPRO_SCR=/home/sli/scratch/molpro
MOLPRO_OUTPUT=/home/sli/apps/molpro-2002.6/pgi-i8-mpich-mkl-mellanox-ga4/test/h2o.out
MOLPRO_EXECUTABLE=molprop_2002_6_i8_p4_mpi MOLPRO_BLASLIB=pthread
DISPLAY=localhost:10.0 TMPDIR=/home/sli/scratch/molpro
/home/sli/apps/molpro-2002.6/pgi-i8-mpich-mkl-mellanox-ga4/lib/molprop_2002_6_i8_p4_mpi.exe<br>
command: /usr/bin/ssh compute-11-2.local cd /home/sli/scratch/molpro;
/usr/bin/env MPIRUN_HOST=compute-11-1.local MPIRUN_PORT=38590
MPIRUN_RANK=1 MPIRUN_NPROCS=2 MPIRUN_ID=29194
MPIRUN_NODENAME=compute-11-2.local
MOLPRO_KEY="xxxxReplacedxxxLegalxxxReasonxxx" MOLPRO_MEMMAX=2147483647
MOLPRO_MEMORY=7272727 MOLPRO_MXMBLK=32 MOLPRO_CACHE=262144
LIBMOL=/home/sli/apps/molpro-2002.6/pgi-i8-mpich-mkl-mellanox-ga4/lib/
MOLPRO_GA_MEMORY=8000000 MOLPRO_MAX_MEMORY=7445729
MOLPRO_LOG=/home/sli/apps/molpro-2002.6/pgi-i8-mpich-mkl-mellanox-ga4/test/h2o.log
MOLPRO_PWD=/home/sli/apps/molpro-2002.6/pgi-i8-mpich-mkl-mellanox-ga4/test
MOLPRO_SCR=/home/sli/scratch/molpro
MOLPRO_OUTPUT=/home/sli/apps/molpro-2002.6/pgi-i8-mpich-mkl-mellanox-ga4/test/h2o.out
MOLPRO_EXECUTABLE=molprop_2002_6_i8_p4_mpi MOLPRO_BLASLIB=pthread
DISPLAY=localhost:10.0 TMPDIR=/home/sli/scratch/molpro
/home/sli/apps/molpro-2002.6/pgi-i8-mpich-mkl-mellanox-ga4/lib/molprop_2002_6_i8_p4_mpi.exe<br>
<br>
When I run molpro by<br>
<br>
molpro -n 2 --mpirun-machinefile /home/sli/hostfile <a href="http://h2o.in">h2o.in</a><br>
<br>
on the following input (<a href="http://h2o.in">h2o.in</a>)<br>
<br>
***, H2O<br>
mem,100,m<br>
<br>
geomtyp=xyz<br>
geometry={<br>
3<br>
H2O<br>
O
-1.11111111 2.46666663 0.00000000<br>
H
-0.15111111 2.46666663 0.00000000<br>
H
-1.43156570 3.37160246 0.00000000<br>
}<br>
<br>
basis=avtz;<br>
<br>
int;<br>
hf;<br>
ccsd(t);<br>
<br>
I got the following output (h2o.out)<br>
<br>
ARMCI configured for 2 cluster nodes. Network protocol is 'Mellanox VAPI'.<br>
<br>
MPP nodes nproc<br>
compute-11-1.loc 1<br>
compute-11-2.loc 1<br>
ga_uses_ma=true, calling ma_init with heap
size 4010000 determined by
size of -G / nprocs<br>
<br>
Primary working directories: /home/sli/scratch/molpro<br>
Secondary working directories: /home/sli/scratch/molpro<br>
<br>
blaslib=pthread<br>
<br>
MPP tuning parameters: Latency= 1000 Microseconds, Broadcast speed= 20 MB/sec<br>
default implementation of scratch files=ga<br>
<br>
<br>
Variables initialized (306), CPU time= 0.00 sec<br>
Default parameters read. Elapsed time= 0.02 sec<br>
Checking input...<br>
Passed<br>
<br>
Variable memory set to 7272727 words, buffer space 230000 words<br>
<br>
<br>
<br>
<br>
**********************************************************************************************************************************<br>
Variable memory released<br>
<br>
Basically the program didn't do anything. My guess is that it
didn't receive the input file, but I can't find any environmental
variable pointing to the input file (MOLPRO_INPUT?). I think I am
very close to get MOLPRO to run with Infiniband. Can anyone help
me?<br>
<br>
Thank you very much!<br>
<br>-- <br>Shenggang Li<br><br>Shelby Hall L103A<br>Department of Chemistry<br>University of Alabama<br>Tuscaloosa, AL 35487-0336<br>Office: 205-348-4906<br><br><a href="http://bama.ua.edu/~sli/fcf">http://bama.ua.edu/~sli/fcf
</a> (FCF User Support Website)<br><a href="http://bama.ua.edu/~sli/pople">http://bama.ua.edu/~sli/pople</a> (Pople User Support Website)