<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7655.1">
<TITLE>RE: [torqueusers] Torque environment problem</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->

<P><FONT SIZE=2>Hi,<BR>
<BR>
I have recompiled openmpi-1.4.3 with tm support.&nbsp;<BR>
<BR>
I have confirmed that it is available via:<BR>
<BR>
[rsvancara@node1 ~]$ ompi_info |grep plm<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MCA plm: rsh (MCA v2.0, API v2.0, Component v1.4.3)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MCA plm: slurm (MCA v2.0, API v2.0, Component v1.4.3)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MCA plm: tm (MCA v2.0, API v2.0, Component v1.4.3)<BR>
<BR>
[rsvancara@node164 ~]$ ompi_info |grep plm<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MCA plm: rsh (MCA v2.0, API v2.0, Component v1.4.3)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MCA plm: slurm (MCA v2.0, API v2.0, Component v1.4.3)<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MCA plm: tm (MCA v2.0, API v2.0, Component v1.4.3)<BR>
<BR>
<BR>
When I launch jobs using openmpi, I have to use:<BR>
<BR>
-mca plm rsh<BR>
<BR>
If I set this to<BR>
<BR>
-mca plm tm<BR>
<BR>
Then no remote processes are launched.&nbsp; I do not mind using rsh, however, I would prefer to have torque &quot;Do the right thing&quot; and just work.&nbsp; I am using torque version 2.4.7.<BR>
<BR>
Is this a torque/openmpi compatibility issue?&nbsp; Or is this how torque is supposed to work with openmpi?&nbsp; I thought torque would launch the remote processes and clean them up after.<BR>
<BR>
I would appreciate any suggestions.&nbsp;<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: torqueusers-bounces@supercluster.org on behalf of Gustavo Correa<BR>
Sent: Sat 3/19/2011 5:48 PM<BR>
To: Torque Users Mailing List<BR>
Subject: Re: [torqueusers] Torque environment problem<BR>
<BR>
Hi Randall<BR>
<BR>
If you build OpenMPI with Torque support, mpiexec will use the<BR>
nodes and processors provided by Torque, and you don't<BR>
need to provide any hostfile whatsoever.<BR>
We've been using OpenMPI with Torque support for quite a while.<BR>
<BR>
To do so, you need to configure OpenMPI this way:<BR>
<BR>
./configure --prefix=/directory/to/install/openmpi --with-tm=/directory/where/you/installed/torque<BR>
<BR>
See the OpenMPI FAQ about this:<BR>
<A HREF="http://www.open-mpi.org/faq/?category=building#build-rte-tm">http://www.open-mpi.org/faq/?category=building#build-rte-tm</A><BR>
<BR>
Still, although your script to restore the &quot;np=$NPROC&quot; syntax is very clever,<BR>
I guess you could use directly the $PBS_NODEFILE as your hostfile,<BR>
when OpenMPI is not built with Torque support.<BR>
<BR>
The issue with LD_LIBRARY_PATH may be in addition to the nodefile mismatch<BR>
problem you had.<BR>
OpenMPI requires both PATH and LD_LIBRARY_PATH to be set on all hosts<BR>
where the parallel program runs:<BR>
<BR>
<A HREF="http://www.open-mpi.org/faq/?category=running#adding-ompi-to-path">http://www.open-mpi.org/faq/?category=running#adding-ompi-to-path</A><BR>
<BR>
If your home directory is NFS mounted on your cluster,<BR>
the easy way to do it is to set both in your .bashrc/.cshrc file.<BR>
<BR>
I hope this helps.<BR>
Gus Correa<BR>
<BR>
<BR>
On Mar 19, 2011, at 8:15 PM, Svancara, Randall wrote:<BR>
<BR>
&gt; Hi<BR>
&gt;<BR>
&gt; I did figure out the issue, or at least I am on the path to a solution.<BR>
&gt;<BR>
&gt; I was assuming that when I submit a job via torque with the PBS parameter: #PBS -l nodes=12:ppn=12 that the PBS_NODEFILE parameter would have the correctly formatted hosts file for openmpi.<BR>
&gt;<BR>
&gt; What I am seeing is that torque will generate a hosts file that looks like this:<BR>
&gt;<BR>
&gt; node164<BR>
&gt; node164<BR>
&gt; node164<BR>
&gt; node164<BR>
&gt; node164<BR>
&gt; node164<BR>
&gt; node164<BR>
&gt; node164<BR>
&gt; node164<BR>
&gt; node164<BR>
&gt; node164<BR>
&gt; node164<BR>
&gt; node164<BR>
&gt; node163<BR>
&gt; node163<BR>
&gt; node163<BR>
&gt; node163<BR>
&gt; node163<BR>
&gt; node163<BR>
&gt; node163<BR>
&gt; node163<BR>
&gt; node163<BR>
&gt; node163<BR>
&gt; node163<BR>
&gt; node163<BR>
&gt; ....<BR>
&gt;<BR>
&gt;<BR>
&gt; But from what I can see, openmpi expects a hostfile list likethis:<BR>
&gt;<BR>
&gt; node164 slots=12<BR>
&gt; node163 slots=12<BR>
&gt;<BR>
&gt; So what I had to do in my script is add the following code:<BR>
&gt;<BR>
&gt; np=$(cat $PBS_NODEFILE | wc -l)<BR>
&gt;<BR>
&gt; for i in `cat ${PBS_NODEFILE}|sort -u`; do<BR>
&gt;&nbsp;&nbsp; echo $i slots=12 &gt; /home/admins/rsvancara/nodes<BR>
&gt; done<BR>
&gt;<BR>
&gt; /usr/mpi/intel/openmpi-1.4.3/bin/mpiexec $RUN $MCA -np $np -hostfile /home/admins/rsvancara/nodes /home/admins/rsvancara/TEST/mpitest<BR>
&gt;<BR>
&gt; I guess I was expecting openmpi to do the right thing but apparently torque and openmpi are not on the same page in terms of formatting for a hosts file.&nbsp; I am using version 2.4.7 of torque.&nbsp; Would newer versions of torque correctly generate a hosts file?<BR>
&gt;<BR>
&gt; The strange thing is that why would openmpi just simply tell me it may be a LD_LIBRARY_PATH problem seems rather vague.&nbsp; A better response would be &quot;What the .... am I supposed to do with this hosts file you idiot, please format it correctly&quot;.&nbsp;<BR>
&gt;<BR>
&gt; Best regards<BR>
&gt;<BR>
&gt; Randall<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; -----Original Message-----<BR>
&gt; From: torqueusers-bounces@supercluster.org on behalf of Shenglong Wang<BR>
&gt; Sent: Fri 3/18/2011 8:45 PM<BR>
&gt; To: Torque Users Mailing List<BR>
&gt; Subject: Re: [torqueusers] Torque environment problem<BR>
&gt;<BR>
&gt; Have you set LD_LIBRARY_PATH in your ~/.bashrc file? Did you try to include LD_LIBRARY_PATH to mpirun or mpiexec?<BR>
&gt;<BR>
&gt; np=$(cat $PBS_NODEFILE | wc -l)<BR>
&gt;<BR>
&gt; mpiexec -np $np -hostfile $PBS_NODEFILE env LD_LIBRARY_PATH=$LD_LIBRARY_PATH XXXX<BR>
&gt;<BR>
&gt; Best,<BR>
&gt;<BR>
&gt; Shenglong<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; On Mar 18, 2011, at 11:36 PM, Svancara, Randall wrote:<BR>
&gt;<BR>
&gt; &gt; I just wanted to add that if I launch a job on one node, everything works fine.&nbsp; For example in my job script if I specify<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; #PBS -l nodes=1:ppn=12<BR>
&gt; &gt;<BR>
&gt; &gt; Then everything runs fine.<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; However, if I specify two nodes, then everything fails.<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; #PBS -l nodes=1:ppn=12<BR>
&gt; &gt;<BR>
&gt; &gt; This also fails<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; #PBS -l nodes=13<BR>
&gt; &gt;<BR>
&gt; &gt; But this does not:<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; #PBS -l nodes=12<BR>
&gt; &gt;<BR>
&gt; &gt; Thanks,<BR>
&gt; &gt;<BR>
&gt; &gt; Randall<BR>
&gt; &gt;<BR>
&gt; &gt; -----Original Message-----<BR>
&gt; &gt; From: torqueusers-bounces@supercluster.org on behalf of Svancara, Randall<BR>
&gt; &gt; Sent: Fri 3/18/2011 7:48 PM<BR>
&gt; &gt; To: torqueusers@supercluster.org<BR>
&gt; &gt; Subject: [torqueusers] Torque environment problem<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; Hi,<BR>
&gt; &gt;<BR>
&gt; &gt; We are in the process of setting up a new cluster.&nbsp;&nbsp; One issue I am experiencing is with openmpi jobs launched through torque.<BR>
&gt; &gt;<BR>
&gt; &gt; When I launch a simple job using a very basic mpi &quot;Hello World&quot; script I am seeing the following errors from openmpi:<BR>
&gt; &gt;<BR>
&gt; &gt; **************************<BR>
&gt; &gt;<BR>
&gt; &gt; [node164:06689] plm:tm: failed to poll for a spawned daemon, return status = 17002<BR>
&gt; &gt; --------------------------------------------------------------------------<BR>
&gt; &gt; A daemon (pid unknown) died unexpectedly on signal 1&nbsp; while attempting to<BR>
&gt; &gt; launch so we are aborting.<BR>
&gt; &gt;<BR>
&gt; &gt; There may be more information reported by the environment (see above).<BR>
&gt; &gt;<BR>
&gt; &gt; This may be because the daemon was unable to find all the needed shared<BR>
&gt; &gt; libraries on the remote node. You may set your LD_LIBRARY_PATH to have the<BR>
&gt; &gt; location of the shared libraries on the remote nodes and this will<BR>
&gt; &gt; automatically be forwarded to the remote nodes.<BR>
&gt; &gt; --------------------------------------------------------------------------<BR>
&gt; &gt; --------------------------------------------------------------------------<BR>
&gt; &gt; mpirun noticed that the job aborted, but has no info as to the process<BR>
&gt; &gt; that caused that situation.<BR>
&gt; &gt; --------------------------------------------------------------------------<BR>
&gt; &gt; --------------------------------------------------------------------------<BR>
&gt; &gt; mpirun was unable to cleanly terminate the daemons on the nodes shown<BR>
&gt; &gt; below. Additional manual cleanup may be required - please refer to<BR>
&gt; &gt; the &quot;orte-clean&quot; tool for assistance.<BR>
&gt; &gt; --------------------------------------------------------------------------<BR>
&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; node163 - daemon did not report back when launched<BR>
&gt; &gt; Completed executing:<BR>
&gt; &gt;<BR>
&gt; &gt; *************************<BR>
&gt; &gt;<BR>
&gt; &gt; However when launch a job running mpiexec, everything seems to work fine using the following script:<BR>
&gt; &gt;<BR>
&gt; &gt; /usr/mpi/intel/openmpi-1.4.3/bin/mpirun -hostfile /home/admins/rsvancara/hosts -n 24 /home/admins/rsvancara/TEST/mpitest<BR>
&gt; &gt;<BR>
&gt; &gt; The job runs on 24 nodes with 12 processes per node.<BR>
&gt; &gt;<BR>
&gt; &gt; I have verified that my .bashrc is working.&nbsp; I have tried to launch from an interactive job using qsub -I -lnodes=12:ppn12 without any success.&nbsp; I am assuming this is an environment problem, however, I am unsure as the openmpi error includes &quot;MAY&quot;.<BR>
&gt; &gt;<BR>
&gt; &gt; My question is:<BR>
&gt; &gt;<BR>
&gt; &gt; 1.&nbsp; Has anyone had this problem before (I am sure they have)<BR>
&gt; &gt; 2.&nbsp; How would I go about troubleshooting this problem.<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; I am using torque version 2.4.7.<BR>
&gt; &gt;<BR>
&gt; &gt; Thanks for any assistance anyone can provide.<BR>
&gt; &gt;<BR>
&gt; &gt;<BR>
&gt; &gt; _______________________________________________<BR>
&gt; &gt; torqueusers mailing list<BR>
&gt; &gt; torqueusers@supercluster.org<BR>
&gt; &gt; <A HREF="http://www.supercluster.org/mailman/listinfo/torqueusers">http://www.supercluster.org/mailman/listinfo/torqueusers</A><BR>
&gt;<BR>
&gt;<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; torqueusers mailing list<BR>
&gt; torqueusers@supercluster.org<BR>
&gt; <A HREF="http://www.supercluster.org/mailman/listinfo/torqueusers">http://www.supercluster.org/mailman/listinfo/torqueusers</A><BR>
<BR>
_______________________________________________<BR>
torqueusers mailing list<BR>
torqueusers@supercluster.org<BR>
<A HREF="http://www.supercluster.org/mailman/listinfo/torqueusers">http://www.supercluster.org/mailman/listinfo/torqueusers</A><BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>