I am using ubuntu 18.04 64 bit platform, working with intel compiler Parallel studio Xe_2019_cluster edition ifort version 188.8.131.52
pl let me know what is the default integer size using intel compiler
1 how can i set flags to get 64 size ie i8 for mkl cluster in bash file
2 how to find out the size (bit) of Open MPI installated
3 what is this error and how to overcome this
Could NOT find OpenMP_Fortran (missing: OpenMP_Fortran_FLAGS OpenMP_Fortran_LIB_NAMES)
-- Could NOT find OpenMP (missing: OpenMP_Fortran_FOUND)
3 if i suppress, OPENMP and then run make i get error #7002: Error in opening the compiled module file. Check INCLUDE paths. [MPI]
what does this mean... how can i resolve it
my bash file reads like this to set the environment
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 CC=$(which mpicc)
# export CXX=$(which mpicxx)
# export FC=$(which mpif90)
The default integer size in Intel Fortran is 32 bits. You can use the "-integer-size 64" compiler option to change that, but I would much rather see you declare things as the proper size in the program.
sir, I tried using export FCFLAGS="-i8" in bash file but it did not work
also used FCFFLAGS="-i8"
it still shows 4 bit inter size. what is the right command. kindly tell me.
1) By default the integer size in fortran is 4Bytes(32bits). If you want to make it 64bit use -integer-size 64 flag while compiling as mentioned by Steve Lionel.
The command looks like
ifort -integer-size 64 filename.f90
Note : you can get the size in bytes using sizeof(var) function in fortran.
Please check this page for more info https://software.intel.com/en-us/fortran-compiler-developer-guide-and-reference-sizeof
2) If you are looking for the size of the folder in which Open MPI installed , then use this command to find the folder size in bytes.
du -s -B1 openMPI_Installed_Folder
Alternately, if you are looking for the size of MPI_INT in OpenMPI it is 32bits . You can verify the size using sizeof(MPI_INT) in your fortran code.
3) Regarding this error , could you please provide your Cmake file so that we can debug the error.
4) Regarding the error #7002: Error in opening the compiled module file. Check INCLUDE paths , Please refer to the below link
The problem may be incorrect arrangement of modules.
thank you for a detailed response. as desired cmakefile is attached. also attached is doc file containing details of the code.pl let me know if any other file is required
the code is question can be downloaded from https://data.mendeley.com/datasets/3ptyfg2bmx/1
thanks and regards
I have tried with cmake file you have provided and it works fine for me.
Maybe the problem is that the required intel fortran , impi and icc compilers were not sourced.
Please refer the Prerequisites/Before-you-begin sections of the below compilers:
If you code do not require OpenMP , you can skip the section where it is failing by giving command as
cmake -DWITH_OPENMP=OFF <path>
The required environment variables will be set when you source the scripts, If you need to change please keep the previous path and do not override them.
eg : export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/
Could you please specify your OpenMP version. You can get that by running this command
echo |cpp -fopenmp -dM |grep -i open