Skip to content

Commit

Permalink
Add Kestrel machine and remove Rhodes machine from Make.nrel (AMReX-C…
Browse files Browse the repository at this point in the history
  • Loading branch information
jrood-nrel authored Sep 6, 2023
1 parent dd3bcb8 commit f3598d2
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 44 deletions.
8 changes: 4 additions & 4 deletions Tools/GNUMake/Make.machines
Original file line number Diff line number Diff line change
Expand Up @@ -127,13 +127,13 @@ ifeq ($(findstring aurora, $(host_name)), aurora)
which_computer := aurora
endif

ifeq ($(findstring eagle, $(NREL_CLUSTER)), eagle)
ifeq ($(findstring kestrel, $(NREL_CLUSTER)), kestrel)
which_site := nrel
which_computer := eagle
which_computer := kestrel
endif
ifeq ($(findstring rhodes, $(NREL_CLUSTER)), rhodes)
ifeq ($(findstring eagle, $(NREL_CLUSTER)), eagle)
which_site := nrel
which_computer := rhodes
which_computer := eagle
endif

ifeq ($(findstring daint, $(host_name)), daint)
Expand Down
62 changes: 22 additions & 40 deletions Tools/GNUMake/sites/Make.nrel
Original file line number Diff line number Diff line change
@@ -1,12 +1,19 @@
ifneq ($(which_computer),$(filter $(which_computer),eagle rhodes))
ifneq ($(which_computer),$(filter $(which_computer),kestrel eagle))
$(error Unknown NREL computer, $(which_computer))
endif

ifeq ($(which_computer), eagle)
ifeq ($(which_computer), kestrel)
CXX := CC
CC := cc
FC := ftn
F90 := ftn
endif

# Eagle is homogeneous at the moment
# so we can be very specific about arch.
# We are not accommodating older compilers
# that will fail with these flags.
ifeq ($(which_computer), eagle)
ifeq ($(COMP), intel)
CXXFLAGS += -xSKYLAKE-AVX512
CFLAGS += -xSKYLAKE-AVX512
Expand All @@ -23,47 +30,22 @@ ifeq ($(which_computer), eagle)
endif
ifeq ($(USE_CUDA),TRUE)
ifneq ($(CUDA_HOME),)
SYSTEM_CUDA_PATH := $(CUDA_HOME)
COMPILE_CUDA_PATH := $(CUDA_HOME)
SYSTEM_CUDA_PATH := $(CUDA_HOME)
COMPILE_CUDA_PATH := $(CUDA_HOME)
endif
CUDA_ARCH = 70
endif
else ifeq ($(which_computer), rhodes)
# Rhodes is dedicated single node machine for testing
ifeq ($(COMP), intel)
CXXFLAGS += -xCORE-AVX2
CFLAGS += -xCORE-AVX2
FFLAGS += -xCORE-AVX2
F90FLAGS += -xCORE-AVX2
endif
endif

ifeq ($(USE_MPI),TRUE)
CXX := mpicxx
CC := mpicc
FC := mpif90
F90 := mpif90
ifeq ($(COMP), intel)
ifeq ($(which_computer), eagle)
# Always assume MPT on Eagle
export MPICXX_CXX := icpc
export MPICC_CC := icc
export MPIF90_F90 := ifort
else ifeq ($(which_computer), rhodes)
CXX := mpiicpc
CC := mpiicc
FC := mpiifort
F90 := mpiifort
endif
endif
ifneq ($(findstring mpich, $(shell $(F90) -show 2>&1)),)
mpif90_link_flags := $(shell $(F90) -link_info)
LIBRARIES += $(wordlist 2,1024,$(mpif90_link_flags))
else ifneq ($(findstring Open MPI, $(shell $(F90) -showme:version 2>&1)),)
mpif90_link_flags := $(shell $(F90) -showme:link)
LIBRARIES += $(mpif90_link_flags)
else
# MPT case (no option available to query link flags)
ifeq ($(USE_MPI),TRUE)
# Always assume HPE MPT on Eagle
LIBRARIES += -lmpi
CXX := mpicxx
CC := mpicc
FC := mpif90
F90 := mpif90
ifeq ($(COMP), intel)
export MPICXX_CXX := icpc
export MPICC_CC := icc
export MPIF90_F90 := ifort
endif
endif
endif

0 comments on commit f3598d2

Please sign in to comment.