1- ifneq ($(which_computer),$(filter $(which_computer),eagle rhodes ))
1+ ifneq ($(which_computer),$(filter $(which_computer),kestrel eagle ))
22 $(error Unknown NREL computer, $(which_computer))
33endif
44
5- ifeq ($(which_computer), eagle)
5+ ifeq ($(which_computer), kestrel)
6+ CXX := CC
7+ CC := cc
8+ FC := ftn
9+ F90 := ftn
10+ endif
11+
612# Eagle is homogeneous at the moment
713# so we can be very specific about arch.
814# We are not accommodating older compilers
915# that will fail with these flags.
16+ ifeq ($(which_computer), eagle)
1017 ifeq ($(COMP), intel)
1118 CXXFLAGS += -xSKYLAKE-AVX512
1219 CFLAGS += -xSKYLAKE-AVX512
@@ -23,47 +30,22 @@ ifeq ($(which_computer), eagle)
2330 endif
2431 ifeq ($(USE_CUDA),TRUE)
2532 ifneq ($(CUDA_HOME),)
26- SYSTEM_CUDA_PATH := $(CUDA_HOME)
27- COMPILE_CUDA_PATH := $(CUDA_HOME)
33+ SYSTEM_CUDA_PATH := $(CUDA_HOME)
34+ COMPILE_CUDA_PATH := $(CUDA_HOME)
2835 endif
2936 CUDA_ARCH = 70
3037 endif
31- else ifeq ($(which_computer), rhodes)
32- # Rhodes is dedicated single node machine for testing
33- ifeq ($(COMP), intel)
34- CXXFLAGS += -xCORE-AVX2
35- CFLAGS += -xCORE-AVX2
36- FFLAGS += -xCORE-AVX2
37- F90FLAGS += -xCORE-AVX2
38- endif
39- endif
40-
41- ifeq ($(USE_MPI),TRUE)
42- CXX := mpicxx
43- CC := mpicc
44- FC := mpif90
45- F90 := mpif90
46- ifeq ($(COMP), intel)
47- ifeq ($(which_computer), eagle)
48- # Always assume MPT on Eagle
49- export MPICXX_CXX := icpc
50- export MPICC_CC := icc
51- export MPIF90_F90 := ifort
52- else ifeq ($(which_computer), rhodes)
53- CXX := mpiicpc
54- CC := mpiicc
55- FC := mpiifort
56- F90 := mpiifort
57- endif
58- endif
59- ifneq ($(findstring mpich, $(shell $(F90) -show 2>&1)),)
60- mpif90_link_flags := $(shell $(F90) -link_info)
61- LIBRARIES += $(wordlist 2,1024,$(mpif90_link_flags))
62- else ifneq ($(findstring Open MPI, $(shell $(F90) -showme:version 2>&1)),)
63- mpif90_link_flags := $(shell $(F90) -showme:link)
64- LIBRARIES += $(mpif90_link_flags)
65- else
66- # MPT case (no option available to query link flags)
38+ ifeq ($(USE_MPI),TRUE)
39+ # Always assume HPE MPT on Eagle
6740 LIBRARIES += -lmpi
41+ CXX := mpicxx
42+ CC := mpicc
43+ FC := mpif90
44+ F90 := mpif90
45+ ifeq ($(COMP), intel)
46+ export MPICXX_CXX := icpc
47+ export MPICC_CC := icc
48+ export MPIF90_F90 := ifort
49+ endif
6850 endif
6951endif
0 commit comments