It helps if you use the correct configure option: --without-tm

Regardless, you can always deselect Torque support at runtime. Just put the 
following in your environment:

OMPI_MCA_ras=^tm

That will tell ORTE to ignore the Torque allocation module and it should then 
look at the machinefile.


On Aug 10, 2013, at 4:18 PM, "Lee-Ping Wang" <leep...@stanford.edu> wrote:

> Hi Gus,
> 
> I agree that $PBS_JOBID should not point to a file in normal situations,
> because it is the job identifier given by the scheduler.  However,
> ras_tm_module.c actually does search for a file named $PBS_JOBID, and that
> seems to be why it was failing.  You can see this in the source code as well
> (look at ras_tm_module.c, I uploaded it to
> https://dl.dropboxusercontent.com/u/5381783/ras_tm_module.c ).  Once I
> changed the $PBS_JOBID environment variable to the name of the node file,
> things seemed to work - though I agree, it's not very logical.  
> 
> I doubt Q-Chem is causing the issue, because I was able to "fix" things by
> changing $PBS_JOBID before Q-Chem is called.  Also, I provided the command
> line to mpirun in a previous email, where the -machinefile argument
> correctly points to the custom machine file that I created.  The missing
> environment variables should not matter.
> 
> The PBS_NODEFILE created by Torque is
> /opt/torque/aux//272139.certainty.stanford.edu and it never gets touched.  I
> followed the advice in your earlier email and I created my own node file on
> each node called /scratch/leeping/pbs_nodefile.$HOSTNAME, and I set
> PBS_NODEFILE to point to this file.  However, this file does not get used
> either, even if I include it on the mpirun command line, unless I set
> PBS_JOBID to the file name.  
> 
> Finally, I was not able to build OpenMPI 1.4.2 without pbs support.  I used
> the configure flag --without-rte-support, but the build failed halfway
> through.
> 
> Thanks,
> 
> - Lee-Ping
> 
> leeping@certainty-a:~/temp$ qsub -I -q debug -l walltime=1:00:00 -l
> nodes=1:ppn=12
> qsub: waiting for job 272139.certainty.stanford.edu to start
> qsub: job 272139.certainty.stanford.edu ready
> 
> leeping@compute-140-4:~$ echo $PBS_NODEFILE 
> /opt/torque/aux//272139.certainty.stanford.edu
> 
> leeping@compute-140-4:~$ cat $PBS_NODEFILE
> compute-140-4
> compute-140-4
> compute-140-4
> compute-140-4
> compute-140-4
> compute-140-4
> compute-140-4
> compute-140-4
> compute-140-4
> compute-140-4
> compute-140-4
> compute-140-4
> 
> leeping@compute-140-4:~$ echo $PBS_JOBID
> 272139.certainty.stanford.edu
> 
> leeping@compute-140-4:~$ cat $PBS_JOBID
> cat: 272139.certainty.stanford.edu: No such file or directory
> 
> leeping@compute-140-4:~$ env | grep PBS
> PBS_VERSION=TORQUE-2.5.3
> PBS_JOBNAME=STDIN
> PBS_ENVIRONMENT=PBS_INTERACTIVE
> PBS_O_WORKDIR=/home/leeping/temp
> PBS_TASKNUM=1
> PBS_O_HOME=/home/leeping
> PBS_MOMPORT=15003
> PBS_O_QUEUE=debug
> PBS_O_LOGNAME=leeping
> PBS_O_LANG=en_US.iso885915
> PBS_JOBCOOKIE=A27B00DAF72024CBEBB7CD3752BDBADC
> PBS_NODENUM=0
> PBS_NUM_NODES=1
> PBS_O_SHELL=/bin/bash
> PBS_SERVER=certainty.stanford.edu
> PBS_JOBID=272139.certainty.stanford.edu
> PBS_O_HOST=certainty-a.local
> PBS_VNODENUM=0
> PBS_QUEUE=debug
> PBS_O_MAIL=/var/spool/mail/leeping
> PBS_NUM_PPN=12
> PBS_NODEFILE=/opt/torque/aux//272139.certainty.stanford.edu
> PBS_O_PATH=/opt/intel/Compiler/11.1/064/bin/intel64:/opt/intel/Compiler/11.1
> /064/bin/intel64:/usr/local/cuda/bin:/home/leeping/opt/psi-4.0b5/bin:/home/l
> eeping/opt/tinker/bin:/home/leeping/opt/cctools/bin:/home/leeping/bin:/home/
> leeping/local/bin:/home/leeping/opt/bin:/usr/kerberos/bin:/usr/java/latest/b
> in:/usr/local/bin:/bin:/usr/bin:/opt/ganglia/bin:/opt/ganglia/sbin:/opt/open
> mpi/bin/:/opt/maui/bin:/opt/torque/bin:/opt/torque/sbin:/opt/rocks/bin:/opt/
> rocks/sbin:/opt/sun-ct/bin:/home/leeping/bin
> 
> -----Original Message-----
> From: users [mailto:users-boun...@open-mpi.org] On Behalf Of Gustavo Correa
> Sent: Saturday, August 10, 2013 3:58 PM
> To: Open MPI Users
> Subject: Re: [OMPI users] Error launching single-node tasks from
> multiple-node job.
> 
> Lee-Ping
> 
> Something looks amiss.
> PBS_JOBID contains the job name.
> PBS_NODEFILE contains a list (with repetitions up to the number of cores) of
> the nodes that torque assigned to the job.
> 
> Why things get twisted it is hard to tell, it may be something in the Q-Chem
> scripts (could it be mixing up PBS_JOBID and PBS_NODEFILE?), it may be
> something else.
> A more remote possibility is if the cluster has a Torque qsub wrapper that
> may perhaps produce the aforementioned confusion.  Unlikely, but possible.
> 
> To sort out, run any simple job (mpiexec -np 32 hostname), or even your very
> Q-Chem job, but precede it with a bunch of printouts of the PBS environment
> variables:
> echo $PBS_JOBID
> echo $PBS_NODEFILE
> ls -l $PBS_NODEFILE
> cat $PBS_NODEFILE
> cat $PBS_JOBID [this one should fail, because that is not a file, but may
> work the PBS variables were messed up along the way]
> 
> I hope this helps,
> Gus Correa
> 
> On Aug 10, 2013, at 6:39 PM, Lee-Ping Wang wrote:
> 
>> Hi Gus,
>> 
>> It seems the calculation is now working, or at least it didn't crash.  
>> I set the PBS_JOBID environment variable to the name of my custom node 
>> file.  That is to say, I set PBS_JOBID=pbs_nodefile.compute-3-3.local.  
>> It appears that ras_tm_module.c is trying to open the file located at 
>> /scratch/leeping/$PBS_JOBID for some reason, and it is disregarding 
>> the machinefile argument on the command line.
>> 
>> It'll be a few hours before I know for sure whether the job actually
> worked.
>> I still don't know why things are structured this way, however. 
>> 
>> Thanks,
>> 
>> - Lee-Ping
>> 
>> -----Original Message-----
>> From: users [mailto:users-boun...@open-mpi.org] On Behalf Of Lee-Ping 
>> Wang
>> Sent: Saturday, August 10, 2013 3:07 PM
>> To: 'Open MPI Users'
>> Subject: Re: [OMPI users] Error launching single-node tasks from 
>> multiple-node job.
>> 
>> Hi Gus,
>> 
>> I tried your suggestions.  Here is the command line which executes mpirun.
>> I was puzzled because it still reported a file open failure, so I 
>> inserted a print statement into ras_tm_module.c and recompiled.  The
> results are below.
>> As you can see, it tries to open a different file
>> (/scratch/leeping/272055.certainty.stanford.edu) than the one I 
>> specified (/scratch/leeping/pbs_nodefile.compute-3-3.local).
>> 
>> - Lee-Ping
>> 
>> === mpirun command line ===
>> /home/leeping/opt/openmpi-1.4.2-intel11-dbg/bin/mpirun -machinefile 
>> /scratch/leeping/pbs_nodefile.compute-3-3.local -x HOME -x PWD -x QC 
>> -x QCAUX -x QCCLEAN -x QCFILEPREF -x QCLOCALSCR -x QCPLATFORM -x QCREF 
>> -x QCRSH -x QCRUNNAME -x QCSCRATCH
>>                      -np 24 /home/leeping/opt/qchem40/exe/qcprog.exe
>> .B.in.28642.qcin.1 ./qchem28642/ >>B.out
>> 
>> === Error message from compute node === [compute-3-3.local:28666] 
>> Warning: could not find environment variable "QCLOCALSCR"
>> [compute-3-3.local:28666] Warning: could not find environment variable 
>> "QCREF"
>> [compute-3-3.local:28666] Warning: could not find environment variable 
>> "QCRUNNAME"
>> Attempting to open /scratch/leeping/272055.certainty.stanford.edu
>> [compute-3-3.local:28666] [[56726,0],0] ORTE_ERROR_LOG: File open 
>> failure in file ras_tm_module.c at line 155 [compute-3-3.local:28666] 
>> [[56726,0],0]
>> ORTE_ERROR_LOG: File open failure in file ras_tm_module.c at line 87 
>> [compute-3-3.local:28666] [[56726,0],0] ORTE_ERROR_LOG: File open 
>> failure in file base/ras_base_allocate.c at line 133 
>> [compute-3-3.local:28666] [[56726,0],0] ORTE_ERROR_LOG: File open 
>> failure in file base/plm_base_launch_support.c at line 72 
>> [compute-3-3.local:28666] [[56726,0],0] ORTE_ERROR_LOG: File open 
>> failure in file plm_tm_module.c at line 167
>> 
>> -----Original Message-----
>> From: users [mailto:users-boun...@open-mpi.org] On Behalf Of Lee-Ping 
>> Wang
>> Sent: Saturday, August 10, 2013 12:51 PM
>> To: 'Open MPI Users'
>> Subject: Re: [OMPI users] Error launching single-node tasks from 
>> multiple-node job.
>> 
>> Hi Gus,
>> 
>> Thank you.  You gave me many helpful suggestions, which I will try out 
>> and get back to you.  I will provide more specifics (e.g. how my jobs 
>> were
>> submitted) in a future email.  
>> 
>> As for the queue policy, that is a highly political issue because the 
>> cluster is a shared resource.  My usual recourse is to use the batch 
>> system as effectively as possible within the confines of their 
>> policies.  This is why it makes sense to submit a single multiple-node 
>> batch job, which then executes several independent single-node tasks.
>> 
>> - Lee-Ping
>> 
>> -----Original Message-----
>> From: users [mailto:users-boun...@open-mpi.org] On Behalf Of Gustavo 
>> Correa
>> Sent: Saturday, August 10, 2013 12:39 PM
>> To: Open MPI Users
>> Subject: Re: [OMPI users] Error launching single-node tasks from 
>> multiple-node job.
>> 
>> Hi Lee-Ping
>> On Aug 10, 2013, at 3:15 PM, Lee-Ping Wang wrote:
>> 
>>> Hi Gus,
>>> 
>>> Thank you for your reply.  I want to run MPI jobs inside a single 
>>> node, but due to the resource allocation policies on the clusters, I 
>>> could get many more resources if I submit multiple-node "batch jobs".
>>> Once I have a multiple-node batch job, then I can use a command like 
>>> "pbsdsh" to run single node MPI jobs on each node that is allocated 
>>> to me.  Thus, the MPI jobs on each node are running independently of 
>>> each other and unaware of one another.
>> 
>> Even if you use pbdsh to launch separate MPI jobs on individual nodes, 
>> you probably (not 100% sure about that), probably need to specify he 
>> -hostfile naming the specific node that each job will run on.
>> 
>> Still quite confused because you didn't tell how your "qsub" command 
>> looks like, what Torque script (if any) it is launching, etc.
>> 
>>> 
>>> The actual call to mpirun is nontrivial to get, because Q-Chem has a 
>>> complicated series of wrapper scripts which ultimately calls mpirun.
>> 
>> Yes, I just found this out on the Web.  See my previous email.
>> 
>>> If the
>>> jobs are failing immediately, then I only have a small window to view 
>>> the actual command through "ps" or something.
>>> 
>> 
>> Are you launching the jobs interactively?  
>> I.e., with the -I switch to qsub?
>> 
>> 
>>> Another option is for me to compile OpenMPI without Torque / PBS support.
>>> If I do that, then it won't look for the node file anymore.  Is this 
>>> correct?
>> 
>> You will need to tell mpiexec where to launch the jobs.
>> If I understand what you are trying to achieve (and I am not sure I 
>> do), one way to do it would be to programatically split the 
>> $PBS_NODEFILE into several hostfiles, one per MPI job (so to speak) that
> you want to launch.
>> Then use each of these nodefiles for each of the MPI jobs.
>> Note that the PBS_NODEFILE has one line per-node-per-core, *not* one 
>> line per node.
>> I have no idea how the trick above could be reconciled with the Q-Chem 
>> scripts, though.
>> 
>> Overall, I don't understand why you would benefit from such a 
>> complicated scheme, rather than lauching either a big MPI job across 
>> all nodes that you requested (if the problem is large enough to 
>> benefit from  this many cores), or launch several small single-node 
>> jobs (if the problem is small enough to fit well a single node).
>> 
>> You may want to talk to the cluster managers, because there must be a 
>> way to reconcile their queue policies with your needs (if this not 
>> already in place).
>> We run tons of parallel single-node jobs here, for problems that fit 
>> well a single node.
>> 
>> 
>> My two cents
>> Gus Correa
>> 
>>> 
>>> I will try your suggestions and get back to you.  Thanks!
>>> 
>>> - Lee-Ping
>>> 
>>> -----Original Message-----
>>> From: users [mailto:users-boun...@open-mpi.org] On Behalf Of Gustavo
>> Correa
>>> Sent: Saturday, August 10, 2013 12:04 PM
>>> To: Open MPI Users
>>> Subject: Re: [OMPI users] Error launching single-node tasks from 
>>> multiple-node job.
>>> 
>>> Hi Lee-Ping
>>> 
>>> I know nothing about Q-Chem, but I was confused by these sentences:
>>> 
>>> "That is to say, these tasks are intended to use OpenMPI parallelism 
>>> on
>> each
>>> node, but no parallelism across nodes. "
>>> 
>>> "I do not observe this error when submitting single-node jobs."
>>> 
>>> "Since my jobs are only parallel over the node they're running on, I
>> believe
>>> that a node file of any kind is unnecessary. "
>>> 
>>> Are you trying to run MPI jobs across several nodes or inside a 
>>> single
>> node?
>>> 
>>> ***
>>> 
>>> Anyway, as far as I know,
>>> if your OpenMPI was compiled with Torque/PBS support, the 
>>> mpiexec/mpirun command will look for the $PBS_NODEFILE to learn in 
>>> which node(s) it
>> should
>>> launch the MPI processes, regardless of whether you are using one 
>>> node or more than one node.
>>> 
>>> You didn't send your mpiexec command line (which would help), but 
>>> assuming that Q-Chem allows some level of standard mpiexec command 
>>> options, you
>> could
>>> force passing the $PBS_NODEFILE to it.
>>> 
>>> Something like this (for two nodes with 8 cores each):
>>> 
>>> #PBS -q myqueue
>>> #PBS -l nodes=2:ppn=8
>>> #PBS -N myjob
>>> cd $PBS_O_WORKDIR
>>> ls -l $PBS_NODEFILE
>>> cat $PBS_NODEFILE
>>> 
>>> mpiexec -hostfile $PBS_NODEFILE -np 16 ./my-Q-chem-executable 
>>> <parameters
>> to
>>> Q-chem>
>>> 
>>> I hope this helps,
>>> Gus Correa
>>> 
>>> On Aug 10, 2013, at 1:51 PM, Lee-Ping Wang wrote:
>>> 
>>>> Hi there,
>>>> 
>>>> Recently, I've begun some calculations on a cluster where I submit a
>>> multiple node job to the Torque batch system, and the job executes
>> multiple
>>> single-node parallel tasks.  That is to say, these tasks are intended 
>>> to
>> use
>>> OpenMPI parallelism on each node, but no parallelism across nodes. 
>>>> 
>>>> Some background: The actual program being executed is Q-Chem 4.0.  I 
>>>> use
>>> OpenMPI 1.4.2 for this, because Q-Chem is notoriously difficult to 
>>> compile and this is the last known version of OpenMPI that this 
>>> version of Q-Chem
>> is
>>> known to work with.
>>>> 
>>>> My jobs are failing with the error message below; I do not observe 
>>>> this
>>> error when submitting single-node jobs.  From reading the mailing 
>>> list archives
>> (http://www.open-mpi.org/community/lists/users/2010/03/12348.php),
>>> I believe it is looking for a PBS node file somewhere.  Since my jobs 
>>> are only parallel over the node they're running on, I believe that a 
>>> node file of any kind is unnecessary.
>>>> 
>>>> My question is: Why is OpenMPI behaving differently when I submit a
>>> multi-node job compared to a single-node job?  How does OpenMPI 
>>> detect
>> that
>>> it is running under a multi-node allocation?  Is there a way I can 
>>> change OpenMPI's behavior so it always thinks it's running on a 
>>> single node, regardless of the type of job I submit to the batch system?
>>>> 
>>>> Thank you,
>>>> 
>>>> -          Lee-Ping Wang (Postdoc in Dept. of Chemistry, Stanford
>>> University)
>>>> 
>>>> [compute-1-1.local:10910] [[42010,0],0] ORTE_ERROR_LOG: File open 
>>>> failure in file ras_tm_module.c at line 153 
>>>> [compute-1-1.local:10909] [[42009,0],0] ORTE_ERROR_LOG: File open 
>>>> failure in file ras_tm_module.c at line 153 
>>>> [compute-1-1.local:10911] [[42011,0],0]
>>>> ORTE_ERROR_LOG: File open failure in file ras_tm_module.c at line 
>>>> 153 [compute-1-1.local:10910] [[42010,0],0] ORTE_ERROR_LOG: File 
>>>> open failure in file ras_tm_module.c at line 87 
>>>> [compute-1-1.local:10909] [[42009,0],0] ORTE_ERROR_LOG: File open 
>>>> failure in file ras_tm_module.c at line 87 [compute-1-1.local:10911] 
>>>> [[42011,0],0]
>>>> ORTE_ERROR_LOG: File open failure in file ras_tm_module.c at line 87 
>>>> [compute-1-1.local:10910] [[42010,0],0] ORTE_ERROR_LOG: File open 
>>>> failure in file base/ras_base_allocate.c at line 133 
>>>> [compute-1-1.local:10909] [[42009,0],0] ORTE_ERROR_LOG: File open 
>>>> failure in file base/ras_base_allocate.c at line 133 
>>>> [compute-1-1.local:10911] [[42011,0],0] ORTE_ERROR_LOG: File open 
>>>> failure in file base/ras_base_allocate.c at line 133 
>>>> [compute-1-1.local:10910] [[42010,0],0] ORTE_ERROR_LOG: File open 
>>>> failure in file base/plm_base_launch_support.c at line 72 
>>>> [compute-1-1.local:10909] [[42009,0],0] ORTE_ERROR_LOG: File open 
>>>> failure in file base/plm_base_launch_support.c at line 72 
>>>> [compute-1-1.local:10911] [[42011,0],0] ORTE_ERROR_LOG: File open 
>>>> failure in file base/plm_base_launch_support.c at line 72 
>>>> [compute-1-1.local:10910] [[42010,0],0] ORTE_ERROR_LOG: File open 
>>>> failure in file plm_tm_module.c at line 167 
>>>> [compute-1-1.local:10909] [[42009,0],0] ORTE_ERROR_LOG: File open 
>>>> failure in file plm_tm_module.c at line 167 
>>>> [compute-1-1.local:10911] [[42011,0],0]
>>>> ORTE_ERROR_LOG: File open failure in file plm_tm_module.c at line 
>>>> 167 _______________________________________________
>>>> users mailing list
>>>> us...@open-mpi.org
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>> 
>>> _______________________________________________
>>> users mailing list
>>> us...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>>> 
>>> _______________________________________________
>>> users mailing list
>>> us...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> 
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> 
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> 
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
>> 
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/users

Reply via email to