Support #78
closedInstall software
100%
Description
To whom it may concern,
I should run a fortran code on titan and it requires the Open MPI software and the following libraries: Blas, Lapack, Blacs and Scalapack.
Can you help me to install them ?
Thanks and Cheers,
Walter
Updated by Henrik Levämäki over 7 years ago
Open MPI can be loaded with the command "module load imkl/11.2.3.187-iompi-2015.03".
This also loads the Intel MKL, which should contain all the desired math libraries: BLAS, LAPACK, BLACS, and ScaLAPACK.
In the makefile of your fortran code it might be enough to add a compiler flag "-mkl=parallel" or "-mkl=cluster", or maybe the linking has to be done explicitly, like here https://software.intel.com/en-us/node/528596.
Titan also has some non-Intel libraries, the whole list of available modules can be seen with "module avail".
Updated by Natale Walter Talarico over 7 years ago
I load the module imkl, but the flag "-mkl=parallel" and "-mkl=cluster" don't work.
So I need to link by myself the libraries, do you know how can I easily find the mklpath ?
Updated by Timo Eronen over 7 years ago
- Status changed from New to In Progress
- Assignee set to Cluster Admin
The module load command should adjust the paths automatically.
What is the output of command:
echo $LD_LIBRARY_PATH
What is your link command and what is the linker error message?
Updated by Natale Walter Talarico over 7 years ago
The output of command: echo $LD_LIBRARY_PATH is the following:
/cvmfs/fgi.csc.fi/apps/el7/imkl/11.2.3.187-iompi-2015.03/mkl/lib/intel64:/cvmfs/fgi.csc.fi/apps/el7/imkl/11.2.3.187-iompi-2015.03/lib/intel64:/cvmfs/fgi.csc.fi/apps/el7/OpenMPI/1.8.8-iccifort-2015.3.187-GNU-4.9.3-2.25/lib:/cvmfs/fgi.csc.fi/apps/el7/hwloc/1.11.1-iccifort-2015.3.187-GNU-4.9.3-2.25/lib:/cvmfs/fgi.csc.fi/apps/el7/numactl/2.0.10-iccifort-2015.3.187-GNU-4.9.3-2.25/lib:/cvmfs/fgi.csc.fi/apps/el7/ifort/2015.3.187-GNU-4.9.3-2.25/lib/intel64:/cvmfs/fgi.csc.fi/apps/el7/ifort/2015.3.187-GNU-4.9.3-2.25/mkl/lib/intel64:/cvmfs/fgi.csc.fi/apps/el7/ifort/2015.3.187-GNU-4.9.3-2.25/lib:/cvmfs/fgi.csc.fi/apps/el7/icc/2015.3.187-GNU-4.9.3-2.25/lib/intel64:/cvmfs/fgi.csc.fi/apps/el7/icc/2015.3.187-GNU-4.9.3-2.25/tbb/lib/intel64/gcc4.4:/cvmfs/fgi.csc.fi/apps/el7/icc/2015.3.187-GNU-4.9.3-2.25/mkl/lib/intel64:/cvmfs/fgi.csc.fi/apps/el7/icc/2015.3.187-GNU-4.9.3-2.25/ipp/lib/intel64:/cvmfs/fgi.csc.fi/apps/el7/icc/2015.3.187-GNU-4.9.3-2.25/lib:/cvmfs/fgi.csc.fi/apps/el7/binutils/2.25-GCC-4.9.3-binutils-2.25/lib:/cvmfs/fgi.csc.fi/apps/el7/GCC/4.9.3-binutils-2.25/lib/gcc/x86_64-unknown-linux-gnu/4.9.3:/cvmfs/fgi.csc.fi/apps/el7/GCC/4.9.3-binutils-2.25/lib64:/cvmfs/fgi.csc.fi/apps/el7/GCC/4.9.3-binutils-2.25/lib
I added the first path of the previous list into my Makefile (below a part of it)
FORTRAN_COMPILER = mpif90
COMPILERFLAGS = -g -O3 -m64 -mkl=parallel -march=native -mtune=native -msse2 -funroll-loops -fno-protect-parens -ffast-math -fcheck=all -Wall -Wtabs -Wextra -Wunderflow -Wno-zerotrip
LIBS = -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread
LIBSDIR = -L /cvmfs/fgi.csc.fi/apps/el7/imkl/11.2.3.187-iompi-2015.03/mkl/lib/intel64
EXEC = echo
all:echo.o
$(FORTRAN_COMPILER) \
-o bin/$(EXEC) \
parameters.o \
intchar.o \
echo_clust.o \
$(LIBSDIR) $(LIBS)
And now, i don't have any linker error message.
What I have done is it correct ?
Updated by Timo Eronen over 7 years ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100