joerg,<div><br>There is another way of doing it as well: <br><blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><p>I have added these lines here:<br>compiler_args=-intel<br>project=Open MPI<br>project_short=OMPI<br>version=1.4.3<br>language=Fortran 77<br>compiler_env=F77<br>compiler_flags_env=FFLAGS<br>compiler=ifort<br>extra_includes=<br>preprocessor_flags=<br>compiler_flags=-pthread<br>linker_flags=<br>libs=-lmpi_f77 -lmpi -lopen-rte -lopen-pal   -ldl   -Wl,--export-dynamic -lnsl <br>-lutil -lm -ldl -lgfortran<br>required_file=<br>includedir=${includedir}<br>libdir=${libdir}</p><p>to <br> $OMPI_HOME/share/openmpi/<wbr>mpif77-wrapper-data.txt<br>(and similar for mpif90-wrapper-data.txt). All I need to do now is:<br>mpif77 -intel<br>and it calles the ifort compiler in my PATH and also links against the <br>libgfortran (which is handy if you are using libraries build with gfortran </p></blockquote><div>mixing fortran codes compiled with different fortran compilers is</div><div>a bad idea in my opinion; especially, if they use the same name</div><div>mangling scheme (at least for fortran 77 style calls). you may be</div><div>in for very some surprises.</div><blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><p>instead of ifort). It is probably similar to what Alex suggested.<br>You get some warning but it is working (at least for me).</p></blockquote><div>the warning is because intel fortran does not support the -pthread flag.</div><div><br></div><div>cheers,</div><div>     axel.</div><div><br></div><blockquote class="gmail_quote" style="margin: 0;margin-left: 0.8ex;border-left: 1px #ccc solid;padding-left: 1ex;"><p><br>My two pennies from a sunny London</p><p>Jörg</p><p><br>> <br>> > 2. for cp2k.popt:<br>> we're after getting cp2k.psmp  working. not cp2k.popt<br>> <br>> > INTEL_INC=/opt/intel/Compiler/<wbr>11.1/072/mkl/include<br>> > FFTW3_INC=.../fftw322/include<br>> > <br>> > CC       = cc<br>> > CPP      =<br>> > FC       = mpif90 -FR<br>> > #FC       = mpif90<br>> > LD = mpif90 -i_dynamic -openmp<br>> > AR       = ar -r<br>> > #DFLAGS   = -D__INTEL -D__FFTSG -D__parallel -D__BLACS -D__SCALAPACK<br>> > -D__FFTW3<br>> > DFLAGS = -D__INTEL -D__FFTSG -D__parallel -D__BLACS -D__SCALAPACK<br>> > -D__FFTW3 -D__LIBINT<br>> > CPPFLAGS = -C -traditional $(DFLAGS) -I$(INTEL_INC)<br>> > FCFLAGS = $(DFLAGS) -I$(INTEL_INC) -I$(FFTW3_INC) -O2 -xW -heap-arrays 64<br>> > -funroll-loops -fpp -free<br>> > FCFLAGS2 = $(DFLAGS) -I$(INTEL_INC) -I$(FFTW3_INC) -O1 -xW -heap-arrays<br>> > 64 -funroll-loops -fpp -free<br>> > LDFLAGS = $(FCFLAGS) -I$(INTEL_INC) -L/opt/intel/mkl/<a href="http://10.1.0.015/lib/em64t" target="_blank">10.1.0.015/<wbr>lib/em64t</a><br>> > #<br>> > LIBS = -L/opt/intel/mkl/<a href="http://10.1.0.015/lib/em64t" target="_blank">10.1.0.015/<wbr>lib/em64t</a> -lmkl_scalapack -lmkl_em64t<br>> > -lmkl_blacs_openmpi_lp64 -lguide -lpthread -lstdc++\<br>> <br>> this may cause some issues unless you define OMP_NUM_THREADS=1 by default.<br>> an IMO better<br>> solution is to link all intel libraries statically (so you don't have to<br>> mess with LD_LIBRARY_PATH<br>> after the compile) and use the sequential interface. e.g.<br>> <br>> LDFLAGS  = $(FCFLAGS) -static-intel<br>> LIBS     = -L/opt/intel/Compiler/11.1/<wbr>072/mkl/lib/em64t<br>> -Wl,--start-group,-Bstatic \<br>> -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 \<br>> -lmkl_intel_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group,-Bdynamic \<br>> -lfftw3<br>> <br>> this also works nicely for gfortran:<br>> LDFLAGS  = $(FCFLAGS)<br>> LIBS     = -L/opt/intel/Compiler/11.1/<wbr>072/mkl/lib/em64t<br>> -Wl,--start-group,-Bstatic \<br>> -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 \<br>> -lmkl_gf_lp64 -lmkl_sequential -lmkl_core -Wl,--end-group,-Bdynamic \<br>> -lfftw3<br>> <br>> the resulting executables work very well on our clusters. with and without<br>> thread support in OpenMPI (n.b.: one of the really nice things about<br>> OpenMPI is that i can swap the two MPI compiles without having to relink<br>> cp2k).<br>> <br>> now if only the cp2k.psmp binary would work, too. i would be a very happy<br>> camper and my colleagues would have no more excuse to not run cp2k jobs<br>> fast.<br>> <br>> cheers,<br>>     axel.<br>> <br>> > .../fftw322/lib/libfftw3.a \<br>> > .../libint114/lib/libderiv.a \<br>> > .../libint114/lib/libint.a<br>> > <br>> > OBJECTS_ARCHITECTURE = machine_intel.o<br>> > <br>> > <br>> > graphcon.o: graphcon.F<br>> > <br>> >         $(FC) -c $(FCFLAGS2)<br>> > <br>> > ------------------------------<wbr>------------------------------<wbr>----<br>> > "..." stands for your own direction.<br>> > <br>> > <br>> > Best regards,</p><p>-- <br>******************************<wbr>******************************<wbr>*<br>Jörg Saßmannshausen<br>University College London<br>Department of Chemistry<br>Gordon Street<br>London<br>WC1H 0AJ </p><p>email: <a>j.sas...@ucl.ac.uk</a><br>web: <a href="http://sassy.formativ.net" target="_blank">http://sassy.formativ.net</a></p><p>Please avoid sending me Word or PowerPoint attachments.<br>See <a href="http://www.gnu.org/philosophy/no-word-attachments.html" target="_blank">http://www.gnu.org/philosophy/<wbr>no-word-attachments.html</a><br></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p><p></p></blockquote></div>