<br>Dear&nbsp; Riccardo,<br><br>First of all let me clarify that &quot;-in&quot; is not an option for mpirun but for espresso itself, i.e. you should type something like <br><br>mpirun -np 4 directory/where/espresso/is/pw.x -in <a href="http://file.in">file.in</a> &gt; file.out<br>
<br>instead of<br><br>mpirun -np 4 directory/where/espresso/is/pw.x &lt; <a href="http://file.in">file.in</a> &gt; file.out<br><br>That&#39;s all.<br><br>Second, specifying options like &quot;mpirun -np 4 --host localhost&quot; or &quot;mpirun h C ...&quot; are not likely to solve your problem.<br>
<br><br>Now, I don&#39;t know how often people explains step by step the configuration for a particular machine but since I got a 4-core Xeon just one week ago I will try to post here all the steps that I have made so far (please: execute the first four steps as root, the symbols &quot;&gt;&quot; that appear starting some of the lines are just there for signaling the terminal prompt, you don&#39;t have to write them):<br>
<br>1- I downloaded the latest versions of icc, ifort, and mkl (10.1.015, 10.1.015, and <a href="http://10.0.2.018">10.0.2.018</a> respectively) from Intel&#39;s web site as a non-supported version and installed all the packages including idbg (idbg comes twice, with icc and ifort but it is the same package)<br>
<br>2- I copied the files: ifortvars.sh, iccvars.sh, idbvars.sh, and mklvarsem64t.sh (all of this if you are using bash as your shell) that come with the compilers and the mkl libraries, to the directory /etc/profile.d/ (which should already exist assuming that you don&#39;t use ubuntu in your Xeon machine).<br>
<br>3- now, you should download the latest version of LAM/MPI (I found this one easier to configure than mpich2 in runlevel2, since it does not require a certain mpd daemon in order to run properly)<br><br>Let&#39;s say that you unpack your lam/mpi inside a directory named /opt/MPI/ then you will have a directory that looks like : /opt/MPI/lam-7.1.4&nbsp; .&nbsp; Now you can create inside that directory a configure script that looks like:<br>
<br><br>==================================================================<br><br>&gt;vi myscript.sh<br>#!/bin/sh<br><br>cd /opt/MPI/lam-7.1.4<br>CC=icc<br>CXX=icpc<br>FC=ifort<br><br>export CC CXX FC<br><br># Lam without gm<br>
./configure --prefix=/opt/MPI/lam-7.1.4/lam --with-rpi=usysv --without-threads --disable-tv-queue<br><br>make<br>make install<br><br>exit<br><br>=================================================================<br><br><br>
And enable it for execution :<br><br>&gt; chmod 755 myscript.sh<br><br>This version of the script is the most basic that you can have in order to compile your lam/mpi, but I do not know what other options could be used in order to enhance our lam/mpi performance for a Xeon machine and the specific compilers that I am using. If somebody who knows how to improve on this posts this information I would be very grateful as well.<br>
<br>execute this by typing:<br><br>&gt; ./myscript.sh<br><br><br>IF YOU&#39;VE MANAGED TO MAKE ALL OF THIS TO WORK WITH A DIFFERENT COMPILER YOU DON&quot;T NEED TO DO IT AGAIN UNLESS YOU THINK THAT INTEL COMPILERS CAN DO A BETTER JOB.<br>
<br>when the process ends successfully you need to create also a hostfile inside /opt/MPI//lam-7.1.4/lam/etc/ , go inside there and do:<br><br><br>===================================================================<br><br>
&gt;vi hostfile<br>localhost<br>localhost<br>localhost<br>localhost<br><br>===================================================================<br><br><br>4- Then, all what you have to do now is to create yet another file inside /etc/profile.d/ :<br>
<br><br>===================================================================<br><br>&gt;vi lam.sh<br>#!/bin/sh<br><br>export LAM=/opt/MPI/lam-7.1.4/lam<br><br>export OMP_NUM_THREADS=1<br><br>PATH=/opt/MPI/lam-7.1.4/lam/include:/opt/MPI/lam-7.1.4/lam/bin:$PATH<br>
<br>export PATH<br><br>LD_LIBRARY_PATH=/opt/MPI/lam-7.1.4/lam/lib:$LD_LIBRARY_PATH<br><br>export LD_LIBRARY_PATH<br><br>MANPATH=/opt/MPI/lam-7.1.4/lam/man:$MANPATH<br><br>export MANPATH<br><br>export LAMRSH=ssh<br><br>===================================================================<br>
<br><br>Note the following:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -export OMP_NUM_THREADS=1 ,as recently suggested by Axel Kohlmeyer is there in order to avoid bad behavior from mkl libraries.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -PATH=/opt/MPI/lam-7.1.4/lam/include without this piece the espresso&#39;s &quot;./configure&quot; command will not properly compile in parallel since the file &quot;mpif.h&quot; with the definitions is inthere.<br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; What I observed by running &quot;mpirun -np 4&quot; with a non parallel pw.x in my machine was, that with the &quot;&lt;&quot; option the code collapsed, while with the &quot;-in&quot; option the code seems to run but it does the very same calculation in each core, and therefore, it writes the same output four times inside a single output file, of course, still using the same time that one single processor would use.<br>
<br>5- Now, as normal user (logout from root) go and test that your parallel environment is working (maybe you will want to reboot your machine, or &quot;source&quot; each one of the &quot;xxx.sh&quot; scripts recently created inside /etc/profile.d, or open a new terminal)<br>
<br><br>&gt; laminfo<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LAM/MPI: 7.1.4<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Prefix: /opt/MPI/lam-7.1.4/lam<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Architecture: x86_64-unknown-linux-gnu<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configured by: root<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configured on: Sun Apr 27 16:38:22 EDT 2008<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Configure host: GiNUx3<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Memory manager: ptmalloc2<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C bindings: yes<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++ bindings: yes<br>&nbsp;&nbsp;&nbsp; Fortran bindings: yes<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C compiler: icc<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++ compiler: icpc<br>&nbsp;&nbsp;&nbsp; Fortran compiler: ifort<br>
&nbsp;&nbsp;&nbsp;&nbsp; Fortran symbols: underscore<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C profiling: yes<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++ profiling: yes<br>&nbsp;&nbsp; Fortran profiling: yes<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; C++ exceptions: no<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thread support: no<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ROMIO support: yes<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; IMPI support: no<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Debug support: no<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Purify clean: no<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSI boot: globus (API v1.1, Module v0.6)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSI boot: rsh (API v1.1, Module v1.1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSI boot: slurm (API v1.1, Module v1.0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSI coll: lam_basic (API v1.1, Module v7.1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSI coll: shmem (API v1.1, Module v1.0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSI coll: smp (API v1.1, Module v1.2)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSI rpi: crtcp (API v1.1, Module v1.1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSI rpi: lamd (API v1.0, Module v7.1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSI rpi: sysv (API v1.0, Module v7.1)<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSI rpi: tcp (API v1.0, Module v7.1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSI rpi: usysv (API v1.0, Module v7.1)<br><br>&gt;lamboot<br><br>LAM 7.1.4/MPI 2 C++/ROMIO - Indiana University<br><br><br>&gt;lamnodes<br>n0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; localhost.localdomain:1:origin,this_node<br>
<br>&gt;lamhalt<br><br>LAM 7.1.4/MPI 2 C++/ROMIO - Indiana University<br><br><br><br>NOW ESPRESSO,<br><br>6- After having done the previous steps on my machine the configuration of espresso just worked by doing ./configure , but I had to do the following in order to make espresso understand that the system is a parallel machine,<br>
<br>as root:<br><br>&gt;cp /opt/MPI/lam-7.1.4/lam/bin/mpif77 /opt/MPI/lam-7.1.4/lam/bin/mpif90<br><br>In order to make sure that the parallel compiler is named mpif90, mpif77 is just the default name that lam/mpi uses and it is capable of compiling any fortran code. The last part of the output of&nbsp; ./configure&nbsp; then looks like this after execution:<br>
<br>--------------------------------------------------------------------<br>ESPRESSO can take advantage of several optimized numerical libraries<br>(essl, fftw, mkl...).&nbsp; This configure script attempts to find them,<br>but may fail if they have been installed in non-standard locations.<br>
If a required library is not found, the local copy will be compiled.<br><br>The following libraries have been found:<br>&nbsp; BLAS_LIBS= -lmkl_em64t<br>&nbsp; LAPACK_LIBS=&nbsp; -lmkl_em64t<br>&nbsp; FFT_LIBS=<br>Please check if this is what you expect.<br>
<br>If any libraries are missing, you may specify a list of directories<br>to search and retry, as follows:<br>&nbsp; ./configure LIBDIRS=&quot;list of directories, separated by spaces&quot;<br><br>Parallel environment detected successfully.<br>
Configured for compilation of parallel executables.<br><br>For more info, read the ESPRESSO User&#39;s Guide (Doc/users-guide.tex).<br>--------------------------------------------------------------------<br>configure: success<br>
<br><br><br>7- The make.sys file should NOW contain:<br><br>=======================================================<br><br>DFLAGS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =&nbsp; -D__INTEL -D__FFTW -D__USE_INTERNAL_FFTW -D__MPI -D__PARA<br><br>MPIF90&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = mpif90<br>
<br>LD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = mpif90<br><br>=======================================================<br><br>Interestingly enough, with this process I can direct input with &quot;&lt;&quot; instead of using &quot;-in&quot; without getting any error, and then I can run all the examples in parallel.<br>
<br><br><br>CHEERS,<br><br>J. A. MONTOYA<br><br><br><br><br><br><div class="gmail_quote">On Fri, Apr 25, 2008 at 10:46 AM, Riccardo Sabatini &lt;<a href="mailto:sabatini@sissa.it">sabatini@sissa.it</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi again,<br>
<br>
 &nbsp; i wrote &quot;3 times&quot; meaning that even if i launch mpirun with 4<br>
processors the error comes out just three times, maybe mpirun launches<br>
only three instances of the program,sorry for the misunderstanding. I<br>
tried to launch with the direct location to the file instead the std<br>
input redirection but nothing still works (i don&#39;t usually launch pw<br>
interactively, was just the pasted snippet to let the mailing list<br>
understand me).<br>
<br>
 &nbsp; I haven&#39;t tried anyway the -in flag, seems the openmpi i have<br>
doesn&#39;t understand that flag but i&#39;ll look in the help manual to see<br>
if there&#39;s something similar, maybe the problem is there. I&#39;ll let you<br>
know as soon as i try.<br>
<br>
 &nbsp; Thanks for the help, regards<br>
<font color="#888888"><br>
 &nbsp; &nbsp; Riccardo<br>
</font><div><div></div><div class="Wj3C7c"><br>
Quoting Axel Kohlmeyer &lt;<a href="mailto:akohlmey@cmm.chem.upenn.edu">akohlmey@cmm.chem.upenn.edu</a>&gt;:<br>
<br>
&gt; On Fri, 25 Apr 2008, Riccardo Sabatini wrote:<br>
&gt;<br>
&gt; RS&gt; Hello everyone,<br>
&gt;<br>
&gt; hi riccardo,<br>
&gt;<br>
&gt; RS&gt;<br>
&gt; RS&gt; &nbsp; &nbsp; i finally compiled espresso with MPI (thanks for the suggestion,<br>
&gt; RS&gt; with gfortran worked perfectly). I had no problem in the compilation<br>
&gt; RS&gt; but i can&#39;t make it run. I&#39;m trying a super easy run: from the<br>
&gt; RS&gt; exercise01 the <a href="http://si.scf.cg.in" target="_blank">si.scf.cg.in</a>.<br>
&gt; RS&gt;<br>
&gt; RS&gt; &nbsp; &nbsp; Now, if i run the file with the espresso 3.2 compiled without mpi<br>
&gt; RS&gt; obviously runs perfectly but if i try the same file with the mpi<br>
&gt; RS&gt; version it gives me this error (3 times)<br>
&gt;<br>
&gt; doing the same thing 3 times doesn&#39;t make it more likely to work...<br>
&gt;<br>
&gt; RS&gt; &nbsp; &nbsp; &nbsp; stopping ...<br>
&gt; RS&gt;<br>
&gt; ---------------------------------------------------------------------------------<br>
&gt; RS&gt;<br>
&gt; RS&gt; &nbsp; &nbsp; &nbsp;My launch command is (i&#39;m running on a four cores processor now)<br>
&gt; RS&gt;<br>
&gt; RS&gt; &nbsp; &nbsp; &nbsp; mpirun -np 4 ../QE-MPI/bin/pw.x &lt; <a href="http://prova.in" target="_blank">prova.in</a><br>
&gt;<br>
&gt; have you tried the -in flag? not all MPI implementations<br>
&gt; replicate the input across all nodes and i personally<br>
&gt; think it is in general a bad idea to read an input from<br>
&gt; stdin. we don&#39;t run anything interactively these days<br>
&gt; anyways and being able to check file status etc. is<br>
&gt; a bit advantage.<br>
&gt;<br>
&gt; cheers,<br>
&gt; &nbsp; &nbsp; axel.<br>
&gt;<br>
&gt; RS&gt; &nbsp; &nbsp; &nbsp;Is there something i&#39;m missing ? Maybe a line do add for parallel<br>
&gt; RS&gt; compilation in the input file ? I&#39;ve tried the only option in the<br>
&gt; RS&gt; INPUT_PW about parallel compilation, wf_collect, but nothing changes.<br>
&gt; RS&gt; Since the compilation gave me 0 errors maybe the problem is the<br>
&gt; RS&gt; combination openMPI+gfotran+espresso-4.0.<br>
&gt; RS&gt;<br>
&gt; RS&gt; &nbsp; &nbsp; &nbsp;Thanks for the help,<br>
&gt; RS&gt;<br>
&gt; RS&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Riccardo<br>
&gt; RS&gt;<br>
&gt; RS&gt; ----------------------------------------------------------------<br>
&gt; RS&gt; &nbsp; &nbsp;SISSA Webmail <a href="https://webmail.sissa.it/" target="_blank">https://webmail.sissa.it/</a><br>
&gt; RS&gt; &nbsp; &nbsp;Powered by Horde <a href="http://www.horde.org/" target="_blank">http://www.horde.org/</a><br>
&gt; RS&gt;<br>
&gt; RS&gt;<br>
&gt; RS&gt; _______________________________________________<br>
&gt; RS&gt; Pw_forum mailing list<br>
&gt; RS&gt; <a href="mailto:Pw_forum@pwscf.org">Pw_forum@pwscf.org</a><br>
&gt; RS&gt; <a href="http://www.democritos.it/mailman/listinfo/pw_forum" target="_blank">http://www.democritos.it/mailman/listinfo/pw_forum</a><br>
&gt; RS&gt;<br>
&gt;<br>
&gt; --<br>
&gt; =======================================================================<br>
&gt; Axel Kohlmeyer &nbsp; <a href="mailto:akohlmey@cmm.chem.upenn.edu">akohlmey@cmm.chem.upenn.edu</a> &nbsp; <a href="http://www.cmm.upenn.edu" target="_blank">http://www.cmm.upenn.edu</a><br>
&gt; &nbsp; &nbsp;Center for Molecular Modeling &nbsp; -- &nbsp; University of Pennsylvania<br>
&gt; Department of Chemistry, 231 S.34th Street, Philadelphia, PA 19104-6323<br>
&gt; tel: 1-215-898-1582, &nbsp;fax: 1-215-573-6233, &nbsp;office-tel: 1-215-898-5425<br>
&gt; =======================================================================<br>
&gt; If you make something idiot-proof, the universe creates a better idiot.<br>
&gt;<br>
<br>
</div></div>----------------------------------------------------------------<br>
<div class="Ih2E3d"> &nbsp; SISSA Webmail <a href="https://webmail.sissa.it/" target="_blank">https://webmail.sissa.it/</a><br>
</div><div class="Ih2E3d"> &nbsp; Powered by Horde <a href="http://www.horde.org/" target="_blank">http://www.horde.org/</a><br>
<br>
<br>
</div><div><div></div><div class="Wj3C7c">_______________________________________________<br>
Pw_forum mailing list<br>
<a href="mailto:Pw_forum@pwscf.org">Pw_forum@pwscf.org</a><br>
<a href="http://www.democritos.it/mailman/listinfo/pw_forum" target="_blank">http://www.democritos.it/mailman/listinfo/pw_forum</a><br>
</div></div></blockquote></div><br>