/[MITgcm]/MITgcm/tools/build_options/linux_amd64_pgf77
ViewVC logotype

Diff of /MITgcm/tools/build_options/linux_amd64_pgf77

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph | View Patch Patch

revision 1.3 by jmc, Mon Dec 20 14:45:18 2010 UTC revision 1.10 by jmc, Wed Dec 28 23:16:22 2016 UTC
# Line 6  Line 6 
6  # Build options for PGI compiler on Linux AMD64 platform  # Build options for PGI compiler on Linux AMD64 platform
7  #  #
8  # tested with PGI version 10.9 on baudelaire (Linux 2.6.34.7-61.fc13.x86_64), using:  # tested with PGI version 10.9 on baudelaire (Linux 2.6.34.7-61.fc13.x86_64), using:
 #-------  
9  #   -  sh,bash:  #   -  sh,bash:
10  #     > export PGI=/srv/software/pgi/pgi-10.9  #     > export PGI=/srv/software/pgi/pgi-10.9
11  #     > export PATH=$PGI/linux86-64/10.9/bin:$PATH  #     > export PATH=$PGI/linux86-64/10.9/bin:$PATH
# Line 17  Line 16 
16  #     > set path=($PGI/linux86-64/10.9/bin $path)  #     > set path=($PGI/linux86-64/10.9/bin $path)
17  #     > setenv MANPATH "$MANPATH":$PGI/linux86-64/10.9/man  #     > setenv MANPATH "$MANPATH":$PGI/linux86-64/10.9/man
18  #     > setenv LM_LICENSE_FILE $PGI/license.dat  #     > setenv LM_LICENSE_FILE $PGI/license.dat
19    #
20    # and tested also with MPI on acesgrid (Fedora Core 15), using:
21    #       module load pgi     (Version 11.7)
22    #   and with mpich2:
23    #       module load mvapich2
24    #   or  with openmpi: (support also OpenMP to run mpi+mth)
25    #       module load openmpi
26    
27    #-------
28    # compile (genmake2 -omp) and run with OpenMP: needs to set environment var.
29    #    OMP_NUM_THREADS and generally, needs to increase the thread stack-size:
30    #   -  sh,bash:
31    #     > export OMP_NUM_THREADS=2
32    #     > export OMP_STACKSIZE=400m
33    #   - csh,tcsh:
34    #     > setenv OMP_NUM_THREADS 2
35    #     > setenv OMP_STACKSIZE 400m
36  #-------  #-------
37    
38  FC=pgf77  if test "x$MPI" = xtrue ; then
39  CC=pgcc    CC=mpicc
40      FC=mpif77
41      F90C=mpif90
42    else
43      CC=pgcc
44      FC=pgf77
45      F90C=pgf90
46    fi
47    
48  DEFINES='-DWORDLENGTH=4 -DNML_EXTENDED_F77'  DEFINES="-DWORDLENGTH=4"
49    if test "x$ALWAYS_USE_F90" = x1 ; then
50        FC=$F90C
51    else
52        DEFINES="$DEFINES -DNML_EXTENDED_F77"
53    fi
54  CPP='cpp -traditional -P'  CPP='cpp -traditional -P'
55    F90FIXEDFORMAT='-Mfixed'
56  EXTENDED_SRC_FLAG='-Mextend'  EXTENDED_SRC_FLAG='-Mextend'
57  GET_FC_VERSION="-V"  GET_FC_VERSION="-V"
58    OMPFLAG='-mp'
59    
60  NOOPTFLAGS='-O0'  NOOPTFLAGS='-O0'
61    NOOPTFILES=''
62    
63  if test "x$IEEE" = x ; then  FFLAGS="$FFLAGS -byteswapio -Ktrap=fp"
64      #  No need for IEEE-754  #- might want to use '-r8' for fizhi pkg:
65      FFLAGS="$FFLAGS -byteswapio -Ktrap=fp"  #FFLAGS="$FFLAGS -r8"
66    
67    if test "x$IEEE" = x ; then     #- with optimisation:
68      FOPTIM='-tp k8-64 -pc=64 -O2 -Mvect=sse'      FOPTIM='-tp k8-64 -pc=64 -O2 -Mvect=sse'
69     #FOPTIM="$FOPTIM -fastsse -O3 -Msmart -Mvect=cachesize:1048576,transform"     #FOPTIM="$FOPTIM -fastsse -O3 -Msmart -Mvect=cachesize:1048576,transform"
70  else  else                            #- no optimisation + IEEE :
71      #  Try to follow IEEE-754     #FFLAGS="$FFLAGS -Mdclchk"  #- pkg/zonal_filt does not pass with declaration-check
     FFLAGS="$FFLAGS -byteswapio -Ktrap=fp -Mdclchk"  
72      FOPTIM='-pc=64 -O0 -Kieee'      FOPTIM='-pc=64 -O0 -Kieee'
73  fi  fi
 #- might want to use '-r8' for fizhi pkg:  
 #FFLAGS="$FFLAGS -r8"  
74    
75    F90FLAGS=$FFLAGS
76    F90OPTIM=$FOPTIM
77    
78    INCLUDEDIRS=''
79    INCLUDES=''
80    LIBS=''
81    
82    if [ "x$NETCDF_ROOT" != x ] ; then
83        INCLUDEDIR="${NETCDF_ROOT}/include"
84        INCLUDES="-I${NETCDF_ROOT}/include"
85        LIBDIR="${NETCDF_ROOT}/lib"
86        LIBS="-L${NETCDF_ROOT}/lib"
87    elif [ "x$NETCDF_HOME" != x ]; then
88        INCLUDEDIR="${NETCDF_HOME}/include"
89        INCLUDES="-I${NETCDF_HOME}/include"
90        LIBDIR="${NETCDF_HOME}/lib"
91        LIBS="-L${NETCDF_HOME}/lib"
92    elif [ "x$NETCDF_INC" != x -a "x$NETCDF_LIB" != x ]; then
93        NETCDF_INC=`echo $NETCDF_INC | sed 's/-I//g'`
94        NETCDF_LIB=`echo $NETCDF_LIB | sed 's/-L//g'`
95        INCLUDEDIR="${NETCDF_INC}"
96        INCLUDES="-I${NETCDF_INC}"
97        LIBDIR="${NETCDF_LIB}"
98        LIBS="-L${NETCDF_LIB}"
99    elif [ "x$NETCDF_INCDIR" != x -a "x$NETCDF_LIBDIR" != x ]; then
100        INCLUDEDIR="${NETCDF_INCDIR}"
101        INCLUDES="-I${NETCDF_INCDIR}"
102        LIBDIR="${NETCDF_LIBDIR}"
103        LIBS="-L${NETCDF_LIBDIR}"
104    fi
105    
106    if [ -n "$MPI_INC_DIR" -a "x$MPI" = xtrue ] ; then
107        INCLUDES="$INCLUDES -I$MPI_INC_DIR"
108        INCLUDEDIRS="$INCLUDEDIRS $MPI_INC_DIR"
109        #- used for parallel (MPI) DIVA
110        MPIINCLUDEDIR="$MPI_INC_DIR"
111       #MPI_HEADER_FILES='mpif.h mpiof.h'
112    fi

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.10

  ViewVC Help
Powered by ViewVC 1.1.22