- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sir
the installed version of ifort is 19.0.4.243 on ubuntu 18.04. the intel parallel studio xe (clusters) 2019 is the version
i am getting difficulty while compiling ARPACk-NG. It was downloaded from https://github.com/opencollab/arpack-ng/releases
i am following commands mentioned in read.md file to compile ARPACK-NG using CMake functionality:
$ mkdir build
$ cd build
$ cmake -D EXAMPLES=ON -D MPI=ON -D BUILD_SHARED_LIBS=ON ..
$ make
$ make install
it is expected to build everything including examples and parallel support (with MPI).
-- Detecting Fortran/C Interface - Failed to compile
CMake Warning (dev) at /usr/share/cmake-3.10/Modules/FortranCInterface.cmake:309 (message):
No FortranCInterface mangling known for sgemm
The Fortran compiler:
/opt/intel/compilers_and_libraries_2019.4.243/linux/mpi/intel64/bin/mpiifort
and the C compiler:
/opt/intel/compilers_and_libraries_2019.4.243/linux/bin/intel64/icc
failed to compile a simple test project using both languages.
my bashfile has
source /opt/intel/compilers_and_libraries_2019/linux/bin/compilervars.sh intel64
source /opt/intel/compilers_and_libraries_2019.4.243/linux/mkl/bin/mklvars.sh intel64 ilp64 mod
export CMAKE_INCLUDE_PATH=/opt/intel/compilers_and_libraries_2019.4.243/linux/mkl/include
export CMAKE_LIBRARY_PATH=/opt/intel/compilers_and_libraries_2019.4.243/linux/mkl/lib/intel64:/opt/intel/compilers_and_libraries_2019.4.243/linux/compiler/lib/intel64
export LD_LIBRARY_PATH=$CMAKE_LIBRARY_PATH:$LD_LIBRARY_PATH
export MKLROOT=/opt/intel/mkl
export FCFLAGS=-i8
export FFLAGS="-i8"
export CC=$(which icc)
export CXX=$(which icpc)
export FC=$(which mpiifort)
kindly let me know where i am making a mistake.
thanks
ab
- Tags:
- Cluster Computing
- General Support
- Intel® Cluster Ready
- Message Passing Interface (MPI)
- Parallel Computing
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vardaan,
I have provided you links for steps on how to load intel libraries and compilers you want use.
Here i am again providing the steps to load compilers(icc,mkl,mpi) you need to build your project. Please follow the below steps and confirm:
By default, <install_dir> is:
For root users: /opt/intel/
For non-root users: $HOME/intel/
1)Intel C Compiler/Fortran compiler
source <install_dir>/compilers_and_libraries_2020.<update number>.<package number>/linux/bin/compilervars.sh <ia32|intel64>
2)Intel MPI
source <install_dir>/compilers_and_libraries_<version>/linux/mpi/mpivars.sh
https://software.intel.com/en-us/get-started-with-mpi-for-linux
3) Intel MKL
source <install_dir>/compilers_and_libraries_<version>/linux/mkl/bin/mklvars.sh <intel64 mod ilp64>
https://software.intel.com/en-us/onemkl-linux-developer-guide-scripts-to-set-environment-variables
After loading these scripts set these environment variables to use intel compilers instead of GNU compilers
export CC=$(which icc)
export CXX=$(which icpc)
export FC=$(which mpiifort)
These scripts sets all the required environment variables required for intel compilers.
Let me know if you face any errors
Thanks
Prasanth
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We have tried to reproduce the issue and the cmake ran successfully.
The issue you might be facing is the required impi and fortan compilers are not properly loaded.
Try sourcing the latest version of impi and fortran again and run the cmake.
source /opt/intel/compilers_and_libraries_<version>/linux/bin/compilervars.sh intel64
source <installdir>/intel64/bin/mpivars.sh
Could you please tell me the output of which mpiifort.
Thanks
Prasanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Has the given solution worked for you, are you able to run cmake successfully.
Do let us know.
Reach out to us if you need any further help.
Thanks
Prasanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks prashanth
I tried to compile cmake -D EXAMPLES=ON -D INTERFACE64=ON -D MPI=ON -D BUILD_SHARED_LIBS=ON ..
however i am not sure if it has correctly compiled . I am not able to find detailed like integer size / 64 bit interface in build output
2 how can i get arpack.a files. i know ar q libarpack.a *.o will create archives but the issue is .f files are scattered in several directories like src/ util/ parpack.....\ which one should i consider if its sequentially compiled or using MPI
thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vardaan,
1)I am attaching my cmake output ,here you can see from the highlighted line
INTERFACE64 :1
The 64-bit integer interface (ILP64) for ARPACK, BLAS and LAPACK is set to 1. Are you looking for this?
2)Regarding the second point , could you please rephrase the question with more information of what you want.
Thanks
Prasanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Prashanth for all the pains taken and presenting in a more simple form. I loved the pics attached.
my output differs from yours in several ways
-- MPIFC: blank wheras it mentions in your output
-- BLAS:
-- link: /usr/lib/x86_64-linux-gnu/libopenblas.so
-- LAPACK:
-- link: /usr/lib/x86_64-linux-gnu/libopenblas.so
-- link: /usr/lib/x86_64-linux-gnu/libopenblas.so
why is it so ? i understand we are using different compilers. Though I am using intel but i am not getting same files (.so) as yours. there is no intel file ? is it because of environment settings ? how can get same as that yours. I strongly feel mixing is taking place which is affecting me later. It appears I am not using intel mkl libraries .....
My 2nd question is I require archive file of arpack ie libarpack.a.a files
The Cmake command does not produce libarpack.a file (if i am not mistaken). it needs to be created manually using ar q libarpack.a *.o
my concern is the .o files are in SRC, UTIL and Parpack directories and may also be elsewhere ARPACK-NG folder. which folder should i consider if i am working with MPI/64 bit interface with MPI=ON
2b what is parapck
3 If I am compiling using simple ifort (without mpi) shoud i keep MPI=0 or OFF and subsquently do i need parpack files
deepest regards
vs
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vardaan,
1) The BLAS and LAPACk comes with intel mkl. As you have parallel studio installed mkl is included in that.
Please check your mkl installation by following below link:
https://software.intel.com/en-us/onemkl-linux-developer-guide-checking-your-installation
Set the environment variables by running the scripts as mentioned in the below link:
https://software.intel.com/en-us/onemkl-linux-developer-guide-setting-environment-variables
2) The PARPACK as mentioned in the readme.md file means Parallel ARPACK routines. The subroutines invloving MPI are considered as parallel and placed under PARPACK . If you want to use MPI subroutines you have to include the *.o files in PARPACK in the static library you are creating.
3) If you do not want the MPI subroutines you can exclude them by setting a flag in CMAKE -D MPI=OFF which will disable the parallel support and PARPACK will not be created.
If your initial query is resolved please raise a new thread for any further questions.
Thanks
Prasanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
hi Prashanth
My simple query is what commands do i need to compile ARPACk using interl compiler and MKL libraries...
by defaults it is taking GNU libraries. example: to test arpack with sequential ILP64 MKL assuming you use gnu compilers
```$ ./bootstrap
$ export FFLAGS='-I/usr/include/mkl'
$ export FCFLAGS='-I/usr/include/mkl'
$ export LIBS='-Wl,--no-as-needed -lmkl_sequential -lmkl_core -lpthread -lm -ldl'
$ export INTERFACE64=1
$ ./configure --with-blas=mkl_gf_ilp64 --with-lapack=mkl_gf_ilp64
$ make all check```
How to use INTEL MLL LIb
The sceenshot that you sent, seems the RPACK was compiled using MKL libraries.
thanks
vs
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vardaan,
I have provided you links for steps on how to load intel libraries and compilers you want use.
Here i am again providing the steps to load compilers(icc,mkl,mpi) you need to build your project. Please follow the below steps and confirm:
By default, <install_dir> is:
For root users: /opt/intel/
For non-root users: $HOME/intel/
1)Intel C Compiler/Fortran compiler
source <install_dir>/compilers_and_libraries_2020.<update number>.<package number>/linux/bin/compilervars.sh <ia32|intel64>
2)Intel MPI
source <install_dir>/compilers_and_libraries_<version>/linux/mpi/mpivars.sh
https://software.intel.com/en-us/get-started-with-mpi-for-linux
3) Intel MKL
source <install_dir>/compilers_and_libraries_<version>/linux/mkl/bin/mklvars.sh <intel64 mod ilp64>
https://software.intel.com/en-us/onemkl-linux-developer-guide-scripts-to-set-environment-variables
After loading these scripts set these environment variables to use intel compilers instead of GNU compilers
export CC=$(which icc)
export CXX=$(which icpc)
export FC=$(which mpiifort)
These scripts sets all the required environment variables required for intel compilers.
Let me know if you face any errors
Thanks
Prasanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dwadasi, Prasanth (Intel) wrote:Hi Vardaan,
1)I am attaching my cmake output ,here you can see from the highlighted line
INTERFACE64 :1
The 64-bit integer interface (ILP64) for ARPACK, BLAS and LAPACK is set to 1. Are you looking for this?
2)Regarding the second point , could you please rephrase the question with more information of what you want.
Thanks
Prasanth
can you pl expalin how do you get link mentioned in MPIFC ?I coud not get it
thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Prashanth for the reply which i was looking for. It is very useful for a fresher like me.
Pl dont mind, if have 2 simple clarifications
1 Interface Libraries and Modules page 53 of the link
https://software.intel.com/sites/default/files/mkl-2020-developer-guide-mac.pdf
libmkl_blas95_ilp64.a Fortran 95 wrappers for BLAS (BLAS95) supporting LP64interface.
libmkl_lapack95_ilp64.a Fortran 95 wrappers for LAPACK (LAPACK95) supporting ILP64interface.
is it correct description given in above link blas95_ilp is for LP64 interface ! though it has ilp
2 Defaults MKLROOT refers to link =/opt/intel/mkl or /opt/intel/compilers_and_libraries_2019.40.243/linux/mkl in my case ?
thanks for being so patient and helping me
vs
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Vardaan,
1)I don't have a cluster edition of Parallel Studio so the MPI that comes with it does not include Fortran support. I have installed IMPI separately that's why the MPIFC is different from yours.
2)Looks like there is a mistake in the documentation the descriptions got reversed it seems.
3)The default MKLROOT for Parallel Studio is /opt/intel/compilers_and_libraries_2019.40.243/linux/mkl which was set while you source the mkl scripts.
Are you able to build your project now, if so can we close this thread?
Please raise a new thread if your initial query is resolved,
Thanks
Prasanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Is the build successful? Are you facing any errors?
Let us know if you need any help.
Thanks
Prasanth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
We are closing this assuming your problem is resolved.
Please raise a new thread for any further queries.
Thanks
Prasanth
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page