Skip to content

Instantly share code, notes, and snippets.

@smhr
Created November 30, 2020 16:15
Show Gist options
  • Save smhr/a7070cdd741e3a427e6ce774979036c8 to your computer and use it in GitHub Desktop.
Save smhr/a7070cdd741e3a427e6ce774979036c8 to your computer and use it in GitHub Desktop.
Enzo machine file for Scicluster
#=======================================================================
#
# FILE: Make.mach.scicluster
#
# DESCRIPTION: Makefile settings for scicluster at FUM
#
# AUTHOR: S. Mohammad Hosseinirad (smhr313@gmail.com)
#
# DATE: 2020-11-30
#
#=======================================================================
MACH_TEXT = Scicluster
MACH_VALID = 1
MACH_FILE = Make.mach.scicluster
MACH_NOTES = 'Please load this modules:\
module load HDF5/1.10.2-gompi-2018b \
before compiling or running enzo.\
gmake machine-scicluster\
gmake opt-high\
make show-config\
make -j 8\
'
#-----------------------------------------------------------------------
# Install paths (local variables)
#-----------------------------------------------------------------------
LOCAL_HDF5_INSTALL = /home/modules/software/HDF5/1.10.2-gompi-2018b # mandatory
LOCAL_GRACKLE_INSTALL = /PATH/TO/GRACKLE/INSTALL # optional
LOCAL_HYPRE_INSTALL = /PATH/TO/HYPRE/INSTALL # optional
#-----------------------------------------------------------------------
# Compiler settings
#-----------------------------------------------------------------------
MACH_CPP = cpp # C preprocessor command
# With MPI
MACH_CC_MPI = mpicc # C compiler when using MPI
MACH_CXX_MPI = mpic++ # C++ compiler when using MPI
MACH_FC_MPI = gfortran # Fortran 77 compiler when using MPI
MACH_F90_MPI = gfortran # Fortran 90 compiler when using MPI
MACH_LD_MPI = mpic++ # Linker when using MPI
# Without MPI
MACH_CC_NOMPI = gcc # C compiler when not using MPI
MACH_CXX_NOMPI = g++ # C++ compiler when not using MPI
MACH_FC_NOMPI = gfortran # Fortran 77 compiler when not using MPI
MACH_F90_NOMPI = gfortran # Fortran 90 compiler when not using MPI
MACH_LD_NOMPI = g++ # Linker when not using MPI
#-----------------------------------------------------------------------
# Machine-dependent defines
#-----------------------------------------------------------------------
MACH_DEFINES = -DLINUX -DH5_USE_16_API
#-----------------------------------------------------------------------
# Compiler flag settings
#-----------------------------------------------------------------------
MACH_CPPFLAGS = -P -traditional
MACH_CFLAGS =
MACH_CXXFLAGS =
MACH_FFLAGS = -fno-second-underscore -ffixed-line-length-132
MACH_F90FLAGS = -fno-second-underscore
MACH_LDFLAGS =
#-----------------------------------------------------------------------
# Optimization flags
#-----------------------------------------------------------------------
MACH_OPT_WARN = -Wall -g
MACH_OPT_DEBUG = -g
MACH_OPT_HIGH = -O2
MACH_OPT_AGGRESSIVE = -O3 -g
#-----------------------------------------------------------------------
# Includes
#-----------------------------------------------------------------------
LOCAL_INCLUDES_MPI = # MPI includes
LOCAL_INCLUDES_HDF5 = -I$(LOCAL_HDF5_INSTALL)/ # HDF5 includes
LOCAL_INCLUDES_HYPRE = -I$(LOCAL_HYPRE_INSTALL)/include
LOCAL_INCLUDES_PAPI = # PAPI includes
LOCAL_INCLUDES_GRACKLE = -I$(LOCAL_GRACKLE_INSTALL)/include
MACH_INCLUDES = $(LOCAL_INCLUDES_HDF5)
MACH_INCLUDES_MPI = $(LOCAL_INCLUDES_MPI)
MACH_INCLUDES_HYPRE = $(LOCAL_INCLUDES_HYPRE)
MACH_INCLUDES_PAPI = $(LOCAL_INCLUDES_PAPI)
MACH_INCLUDES_GRACKLE = $(LOCAL_INCLUDES_GRACKLE)
#-----------------------------------------------------------------------
# Libraries
#-----------------------------------------------------------------------
LOCAL_LIBS_MPI = # MPI libraries
LOCAL_LIBS_HDF5 = -L$(LOCAL_HDF5_INSTALL) -lhdf5 -lz
LOCAL_LIBS_HYPRE = -L$(LOCAL_HYPRE_INSTALL)/lib -lHYPRE
LOCAL_LIBS_PAPI = # PAPI libraries
LOCAL_LIBS_MACH = -lgfortran # Machine-dependent libraries
LOCAL_LIBS_GRACKLE = -L$(LOCAL_GRACKLE_INSTALL)/lib -lgrackle
MACH_LIBS = $(LOCAL_LIBS_HDF5) $(LOCAL_LIBS_MACH)
MACH_LIBS_MPI = $(LOCAL_LIBS_MPI)
MACH_LIBS_HYPRE = $(LOCAL_LIBS_HYPRE)
MACH_LIBS_PAPI = $(LOCAL_LIBS_PAPI)
MACH_LIBS_GRACKLE = $(LOCAL_LIBS_GRACKLE)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment