Skip to content

Commit 6d1444b

Browse files
authored
Add ARM64 options for NVIDIA HPC
1 parent eb84aac commit 6d1444b

File tree

1 file changed

+16
-3
lines changed

1 file changed

+16
-3
lines changed

cmake/cc.cmake

+16-3
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ endif ()
8484
if (${CMAKE_C_COMPILER_ID} STREQUAL "NVHPC")
8585
if (POWER)
8686
set(CCOMMON_OPT "${CCOMMON_OPT} -tp pwr8")
87-
else ()
87+
elseif (X86_64)
8888
set(CCOMMON_OPT "${CCOMMON_OPT} -tp px")
8989
endif ()
9090
endif ()
@@ -182,7 +182,9 @@ endif ()
182182

183183
if (${CORE} STREQUAL A64FX)
184184
if (NOT DYNAMIC_ARCH)
185-
if (${GCC_VERSION} VERSION_GREATER 11.0 OR ${GCC_VERSION} VERSION_EQUAL 11.0)
185+
if (${CMAKE_C_COMPILER_ID} STREQUAL "NVC" AND NOT NO_SVE)
186+
set (CCOMMON_OPT "${CCOMMON_OPT} -tp=a64fx")
187+
elseif (${GCC_VERSION} VERSION_GREATER 11.0 OR ${GCC_VERSION} VERSION_EQUAL 11.0)
186188
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.2-a+sve -mtune=a64fx")
187189
else ()
188190
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.2-a+sve")
@@ -194,6 +196,8 @@ if (${CORE} STREQUAL NEOVERSEN2)
194196
if (NOT DYNAMIC_ARCH)
195197
if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI" AND NOT NO_SVE)
196198
set (CCOMMON_OPT "${CCOMMON_OPT} -Msve_intrinsics -march=armv8.5-a+sve+sve2+bf16 -mtune=neoverse-n2")
199+
elseif (${CMAKE_C_COMPILER_ID} STREQUAL "NVC" AND NOT NO_SVE)
200+
set (CCOMMON_OPT "${CCOMMON_OPT} -tp=neoverse-v2")
197201
else ()
198202
if (${GCC_VERSION} VERSION_GREATER 10.4 OR ${GCC_VERSION} VERSION_EQUAL 10.4)
199203
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.5-a+sve+sve2+bf16 -mtune=neoverse-n2")
@@ -208,6 +212,8 @@ if (${CORE} STREQUAL NEOVERSEV1)
208212
if (NOT DYNAMIC_ARCH)
209213
if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI" AND NOT NO_SVE)
210214
set (CCOMMON_OPT "${CCOMMON_OPT} -Msve_intrinsics -march=armv8.4-a+sve -mtune=neoverse-v1")
215+
elseif (${CMAKE_C_COMPILER_ID} STREQUAL "NVC" AND NOT NO_SVE)
216+
set (CCOMMON_OPT "${CCOMMON_OPT} -tp=neoverse-v1")
211217
else ()
212218
if (${GCC_VERSION} VERSION_GREATER 10.4 OR ${GCC_VERSION} VERSION_EQUAL 10.4)
213219
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.4-a+sve -mtune=neoverse-v1")
@@ -220,7 +226,9 @@ endif ()
220226

221227
if (${CORE} STREQUAL NEOVERSEN1)
222228
if (NOT DYNAMIC_ARCH)
223-
if (${GCC_VERSION} VERSION_GREATER 9.4 OR ${GCC_VERSION} VERSION_EQUAL 9.4)
229+
if (${CMAKE_C_COMPILER_ID} STREQUAL "NVC" AND NOT NO_SVE)
230+
set (CCOMMON_OPT "${CCOMMON_OPT} -tp=neoverse-n1")
231+
elseif (${GCC_VERSION} VERSION_GREATER 9.4 OR ${GCC_VERSION} VERSION_EQUAL 9.4)
224232
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.2-a+sve -mtune=neoverse-n1")
225233
else ()
226234
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.2-a+sve")
@@ -232,6 +240,8 @@ if (${CORE} STREQUAL ARMV8SVE)
232240
if (NOT DYNAMIC_ARCH)
233241
if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI" AND NOT NO_SVE)
234242
set (CCOMMON_OPT "${CCOMMON_OPT} -Msve_intrinsics -march=armv8-a+sve")
243+
elseif (${CMAKE_C_COMPILER_ID} STREQUAL "NVC" AND NOT NO_SVE)
244+
set (CCOMMON_OPT "${CCOMMON_OPT} -tp=host")
235245
else ()
236246
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8-a+sve")
237247
endif ()
@@ -240,6 +250,9 @@ endif ()
240250

241251
if (${CORE} STREQUAL ARMV9SME)
242252
if (NOT DYNAMIC_ARCH)
253+
if (${CMAKE_C_COMPILER_ID} STREQUAL "NVC" AND NOT NO_SVE)
254+
set (CCOMMON_OPT "${CCOMMON_OPT} -tp=host")
255+
else ()
243256
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv9-a+sme")
244257
endif ()
245258
endif ()

0 commit comments

Comments
 (0)