[MITgcm-support] Problem with parallel build

Gustavo Correa gus at ldeo.columbia.edu
Fri Nov 11 10:30:25 EST 2011


Hi Chun-Yan, Martin

I think the macros MPI_INC_DIR, MPI_HEADER_FILES_INC, probably should point to
a *directory*, not to a file.
However, on my admittedly old build options files I don't have these macros.
I have the "INCLUDES" macro which is again points to the MPI include *directory*, not to a file:
INCLUDES=/path/to/mpi/include

I don't think there is any mpiof.h file in MPI either.
It sounds as some typo.
I would just remove it from the options file and see how it goes.

In addition, I second Martin's suggestion 
that you use the FC=mpif77 or FC=mpif90 compiler wrapper,
instead of the compiler itself (ifort, gfortran, whatever). 
The compiler wrapper will be able to find the include files.

I hope this helps,
Gus Correa

On Nov 11, 2011, at 7:57 AM, Martin Losch wrote:

> Chunyan,
> 
> I do not know either, what mpiof.h is (but I have to admit that I do not "speak mpi" very well) and I could not find any reference to "mpiof.h" in the code:
> grep mpiof.h */inc/* */scr/* pkg/*/*
> did not give any hits.
> 
> Based on the most recent code (some of the build-option files have been merged or moved to 'unsupported', including linux_amd64_gfortran+mpi_generic), I suggest that you try to start from linux_amd64_gfortran
> and add a line
> MPI_INC_DIR=/usr/include/openmpi-x86_64/mpif.h'
> and you replace the lines
>  CC=${CC:=mpicc}
>  FC=${FC:=mpif77}
>  F90C=${F90C:=mpif90}
> with
>  CC=/usr/lib64/openmpi/bin/mpicc
>  FC=/usr/lib64/openmpi/bin/mpif77
>  F90C=/usr/lib64/openmpi/bin/mpif90
> 
> If that still does not work, you should prove to yourself, that your MPI-installation is working properly: compile and run a simple program such as this one:
> <http://www.rcac.purdue.edu/userinfo/resources/common/run/pbs/examples/hello77_fortran.html>
> with mpif77/90
> 
> Martin
> 
> 
> Nov 11, 2011, at 1:02 PM, Chun-Yan Zhou wrote:
> 
>> Dear Gustavo,
>> 
>> Thanks for your help. Yes, I found the mpif77 in the path '/usr/lib64/openmpi/bin/' and the mpif.h in the path  '/usr/include/openmpi-x86_64/', but still can't find the mpiof.h and the the administer told me that he don't (yet) know which package mpiof.h belongs to - could you confirm this is the correct filename?
>> Anyway, I tried to modify the 'linux_amd64_gfortran+mpi_generic' as follows:
>> 
>>    MPI_HEADER_FILES='mpif.h mpiof.h'
>>    MPI_HEADER_FILES_INC='/usr/include/openmpi-x86_64/mpif.h'
>> 
>> ../../../tools/cyrus-imapd-makedepend/makedepend: warning:  mdsio_readvector.F (reading EESUPPORT.h, line 175): cannot find include file "mpif.h"
>> not in mpif.h
>> not in mpif.h
>> not in /usr/include/mpif.h
>> 
>> It seems it didn't point to the mpif.h path I set.
>> 
>> What's the problem? Any suggestions? I feel frustrated about the MPI thing, it is too complicated to me. Help me out, please.
>> Best wishes.
>> chunyan
>> 
>> The University of Dundee is a registered Scottish charity, No: SC015096
>> 
>> _______________________________________________
>> MITgcm-support mailing list
>> MITgcm-support at mitgcm.org
>> http://mitgcm.org/mailman/listinfo/mitgcm-support
> 
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support




More information about the MITgcm-support mailing list