Hi Antony,
Thanks for your suggestion. I though mpif90 was not exactly a compiler. In any case, I did change it by ifort:
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
and it actually goes further than before, but it does not work yet. This is the message I got:
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
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?
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.