[Nek5000-users] Compiling nek5000 with MPI on Mac.

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Thu May 7 16:03:08 CDT 2015


Hi,
I'm trying to use nek5000 with MPI on a Mac.  OS is Yosemite.

Fortran compiler = gfortran:

nikolai:eddy wenhaowu$ gfortran --version
GNU Fortran (GCC) 5.1.0
Copyright (C) 2014 Free Software Foundation, Inc.

C compiler = mpicc from mpich:

nikolai:eddy wenhaowu$ mpicc --version
Apple LLVM version 6.1.0 (clang-602.0.49) (based on LLVM 3.6.0svn)
Target: x86_64-apple-darwin14.3.0
Thread model: posix


And I followed the instruction 'QuickStart':

Here is the beginning of my 'makenek':
-----------------------------------------------------------------
#!/bin/bash


# Nek5000 build config file


# (c) 2008,2009,2010 UCHICAGO ARGONNE, LLC



# source path


SOURCE_ROOT="/Users/wenhaowu/Documents/testcases/nek5/trunk/nek"


# Fortran compiler


F77="gfortran"


# C compiler


CC="mpicc"


# pre-processor symbol list


# (set PPLIST=? to get a list of available symbols)


#PPLIST="?"



# plug-in list


PLUGIN_LIST=""



# OPTIONAL SETTINGS


# -----------------



# enable MPI (default true)


#IFMPI="false"

...
-----------------------------------------------------------------

Here is my command:
./makenek eddy_uv

Here is an example what goes wrong:
-------------------------------------------------------------------------
mpicc -c  -O2 -DPTRSIZE8 -DMPI -DLONGINT8 -DUNDERSCORE -DGLOBAL_LONG_LONG
 -DPRE

FIX=jl_ /Users/wenhaowu/Documents/testcases/nek5/trunk/nek/nek_comm.c -o
obj/nek

_comm.o

In file included from
/Users/wenhaowu/Documents/testcases/nek5/trunk/nek/nek_com

m.c:17:

/opt/local/include/mpich-mp/mpi.h:116:56: error: expected identifier

static const MPI_Datatype mpich_mpi_char
MPICH_ATTR_TYPE_TAG(char)

               = MPI_CHAR;

                                                       ^

/opt/local/include/mpich-mp/mpi.h:24:106: note: expanded from macro
'MPICH_ATTR_TYPE_TAG'

#    define MPICH_ATTR_TYPE_TAG(type)
__attribute__((type_tag_for_datatype(MPI,type)))


                             ^

<command line>:2:13: note: expanded from here

#define MPI 1
-------------------------------------------------------------------------

The problem is nek5000 has #defined MPI to be 1, but the mpich header file
'mpi.h' uses the symbol 'MPI' (for a completely different reason).

How do other people use nek5000 with mpi on a Mac?

Thanks.

Sincerely,

Wenhao Wu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20150507/578f2d4e/attachment.html>


More information about the Nek5000-users mailing list