Skip to content

Commit 1e264a4

Browse files
authored
Update zen3 subconfig to support NVHPC compilers. (#779)
Details: - Parse $(CC_VENDOR) values of "nvc" in 'zen3' make_defs.mk file. - Minor refactor to accommodate above edit. - CREDITS file update.
1 parent c2099ed commit 1e264a4

File tree

2 files changed

+16
-6
lines changed

2 files changed

+16
-6
lines changed

CREDITS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ but many others have contributed code, ideas, and feedback, including
1616
Alex Arslan @ararslan
1717
Vernon Austel (IBM, T.J. Watson Research Center)
1818
Mohsen Aznaveh @Aznaveh (Texas A&M University)
19+
Abhishek Bagusetty @abagusetty (Argonne National Laboratory)
1920
Satish Balay @balay (Argonne National Laboratory)
2021
Kihiro Bando @bandokihiro
2122
Matthew Brett @matthew-brett (University of Birmingham)

config/zen3/make_defs.mk

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
22
#
3-
# BLIS
3+
# BLIS
44
# An object-based framework for developing high-performance BLAS-like
55
# libraries.
66
#
@@ -35,7 +35,7 @@
3535

3636
# Declare the name of the current configuration and add it to the
3737
# running list of configurations included by common.mk.
38-
THIS_CONFIG := zen3
38+
THIS_CONFIG := zen3
3939
#CONFIGS_INCL += $(THIS_CONFIG)
4040

4141
#
@@ -65,8 +65,8 @@ endif
6565
# they make explicit use of the rbp register.
6666
CKOPTFLAGS := $(COPTFLAGS) -fomit-frame-pointer
6767
CROPTFLAGS := $(CKOPTFLAGS)
68-
CKVECFLAGS := -mavx2 -mfma -mfpmath=sse
69-
CRVECFLAGS := $(CKVECFLAGS) -funsafe-math-optimizations -ffp-contract=fast
68+
CKVECFLAGS := -mavx2 -mfma
69+
CRVECFLAGS := $(CKVECFLAGS)
7070
ifeq ($(CC_VENDOR),gcc)
7171
ifeq ($(GCC_OT_9_1_0),yes) # gcc versions older than 9.1.
7272
CVECFLAGS_VER := -march=znver1 -mno-avx256-split-unaligned-store
@@ -77,6 +77,8 @@ ifeq ($(CC_VENDOR),gcc)
7777
CVECFLAGS_VER := -march=znver3
7878
endif
7979
endif
80+
CKVECFLAGS += -mfpmath=sse
81+
CRVECFLAGS += -funsafe-math-optimizations -ffp-contract=fast
8082
else
8183
ifeq ($(CC_VENDOR),clang)
8284
ifeq ($(CLANG_OT_9_0_0),yes) # clang versions older than 9.0.
@@ -92,6 +94,8 @@ ifeq ($(CC_VENDOR),clang)
9294
endif
9395
endif
9496
endif
97+
CKVECFLAGS += -mfpmath=sse
98+
CRVECFLAGS += -funsafe-math-optimizations -ffp-contract=fast
9599
else
96100
ifeq ($(CC_VENDOR),aocc)
97101
ifeq ($(AOCC_OT_2_0_0),yes) # aocc versions older than 2.0.
@@ -103,8 +107,14 @@ ifeq ($(CC_VENDOR),aocc)
103107
CVECFLAGS_VER := -march=znver3
104108
endif
105109
endif
110+
CKVECFLAGS += -mfpmath=sse
111+
CRVECFLAGS += -funsafe-math-optimizations -ffp-contract=fast
112+
ifeq ($(CC_VENDOR),nvc)
113+
CVECFLAGS_VER := -march=znver3
114+
CRVECFLAGS += -fast
106115
else
107-
$(error gcc, clang, or aocc is required for this configuration.)
116+
$(error gcc, clang, nvc or aocc is required for this configuration.)
117+
endif
108118
endif
109119
endif
110120
endif
@@ -114,4 +124,3 @@ CRVECFLAGS += $(CVECFLAGS_VER)
114124
# Store all of the variables here to new variables containing the
115125
# configuration name.
116126
$(eval $(call store-make-defs,$(THIS_CONFIG)))
117-

0 commit comments

Comments
 (0)