Hi Mario,Mario Acero wrote:Hi Antony,
Thanks for your suggestion. I though mpif90 was not exactly a compiler. In any case, I did change it by ifort:
and it actually goes further than before, but it does not work yet. This is the message I got:Code: Select all
#Intel MPI #these settings for ifort 13 and higher #Can remove -xHost if your cluster is not uniform, or specify specific processor optimizations -x... F90C = ifort FFLAGS = -mkl -openmp -O3 -xHost -no-prec-div -fpp -DMPI LAPACKL = -lmpi
As far as I understand, there would be a problem with mpi, but I know that the file "mpif.h" actually exists in my system, so what is happening?Code: Select all
cd ./source && make all make[1]: Entering directory `/home/macero/Documents/CosmoMC_PLANK/cosmomc/source' cd ../camb && \ make --file=Makefile_main libcamb_recfast.a \ RECOMBINATION=recfast EQUATIONS=equations_ppf NONLINEAR=halofit_ppf make[2]: Entering directory `/home/macero/Documents/CosmoMC_PLANK/cosmomc/camb' ifort -mkl -openmp -O3 -xHost -no-prec-div -fpp -DMPI -DCLIK -c constants.f90 ifort -mkl -openmp -O3 -xHost -no-prec-div -fpp -DMPI -DCLIK -c utils.F90 utils.F90(950): error #5102: Cannot open include file 'mpif.h' include "mpif.h" ------------^ utils.F90(1033): error #6404: This name does not have a type, and must have an explicit type. [MPI_COMM_WORLD] call mpi_comm_rank(mpi_comm_world,GetMPIrank,ierror) ----------------------^ utils.F90(1072): error #6404: This name does not have a type, and must have an explicit type. [MPI_SUCCESS] if (ierror/=MPI_SUCCESS) stop 'MpiStat: MPI rank' --------------------^ utils.F90(1089): error #6404: This name does not have a type, and must have an explicit type. [MPI_STATUS_IGNORE] call MPI_IPROBE(0,0,MPI_COMM_WORLD,flag, MPI_STATUS_IGNORE,ierr) ------------------------------------------------^ utils.F90(1091): error #6404: This name does not have a type, and must have an explicit type. [MPI_INTEGER] call MPI_RECV(i,1,MPI_INTEGER, 0,0,MPI_COMM_WORLD,status,ierr) -------------------------------^ utils.F90(1083): error #6279: A specification expression object must be a dummy argument, a COMMON block object, or an object accessible through host or use association [MPI_STATUS_SIZE] integer flag, ierr, STATUS(MPI_STATUS_SIZE) --------------------------------^ utils.F90(1083): error #6404: This name does not have a type, and must have an explicit type. [MPI_STATUS_SIZE] integer flag, ierr, STATUS(MPI_STATUS_SIZE) --------------------------------^ utils.F90(2591): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [AMLUTILS] use AMLUtils ------^ utils.F90(2631): error #7002: Error in opening the compiled module file. Check INCLUDE paths. [AMLUTILS] use AMLUtils -------^ utils.F90(2623): error #6404: This name does not have a type, and must have an explicit type. [FEEDBACK] if (Feedback > 0 ) write(*,'(" Random seeds:",1I6,",",1I6," rand_inst:",1I4)') ij,kl,rand_inst ----------^ compilation aborted for utils.F90 (code 1) make[2]: *** [utils.o] Error 1 make[2]: Leaving directory `/home/macero/Documents/CosmoMC_PLANK/cosmomc/camb' make[1]: *** [camb] Error 2 make[1]: Leaving directory `/home/macero/Documents/CosmoMC_PLANK/cosmomc/source' make: *** [all] Error 2
On the other hand, let me say that I am using Ubuntu 13.04 and I installed the openMPI libraries by using the Synaptic Package Manager. I wonder if this could have something to do with my cosmomc compilation problem?
So, how can I proceed with the compilation using ifort (as recommended) but also the mpi function?
Thank you all.
Cheers,
Mario AAO.
If you are compiling with just ifort and not using MPI then you need to remove the -DMPI from FFLAGS, that will resolve the error messages you are seeing. Also remove -lmpi from LAPACKL
Best,
Jason