Browse Source

Add ARM64 options for NVIDIA HPC

tags/v0.3.30
Martin Kroeker GitHub 7 months ago
parent
commit
6d1444be3a
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
1 changed files with 16 additions and 3 deletions
  1. +16
    -3
      cmake/cc.cmake

+ 16
- 3
cmake/cc.cmake View File

@@ -84,7 +84,7 @@ endif ()
if (${CMAKE_C_COMPILER_ID} STREQUAL "NVHPC") if (${CMAKE_C_COMPILER_ID} STREQUAL "NVHPC")
if (POWER) if (POWER)
set(CCOMMON_OPT "${CCOMMON_OPT} -tp pwr8") set(CCOMMON_OPT "${CCOMMON_OPT} -tp pwr8")
else ()
elseif (X86_64)
set(CCOMMON_OPT "${CCOMMON_OPT} -tp px") set(CCOMMON_OPT "${CCOMMON_OPT} -tp px")
endif () endif ()
endif () endif ()
@@ -182,7 +182,9 @@ endif ()


if (${CORE} STREQUAL A64FX) if (${CORE} STREQUAL A64FX)
if (NOT DYNAMIC_ARCH) if (NOT DYNAMIC_ARCH)
if (${GCC_VERSION} VERSION_GREATER 11.0 OR ${GCC_VERSION} VERSION_EQUAL 11.0)
if (${CMAKE_C_COMPILER_ID} STREQUAL "NVC" AND NOT NO_SVE)
set (CCOMMON_OPT "${CCOMMON_OPT} -tp=a64fx")
elseif (${GCC_VERSION} VERSION_GREATER 11.0 OR ${GCC_VERSION} VERSION_EQUAL 11.0)
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.2-a+sve -mtune=a64fx") set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.2-a+sve -mtune=a64fx")
else () else ()
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.2-a+sve") set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.2-a+sve")
@@ -194,6 +196,8 @@ if (${CORE} STREQUAL NEOVERSEN2)
if (NOT DYNAMIC_ARCH) if (NOT DYNAMIC_ARCH)
if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI" AND NOT NO_SVE) if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI" AND NOT NO_SVE)
set (CCOMMON_OPT "${CCOMMON_OPT} -Msve_intrinsics -march=armv8.5-a+sve+sve2+bf16 -mtune=neoverse-n2") set (CCOMMON_OPT "${CCOMMON_OPT} -Msve_intrinsics -march=armv8.5-a+sve+sve2+bf16 -mtune=neoverse-n2")
elseif (${CMAKE_C_COMPILER_ID} STREQUAL "NVC" AND NOT NO_SVE)
set (CCOMMON_OPT "${CCOMMON_OPT} -tp=neoverse-v2")
else () else ()
if (${GCC_VERSION} VERSION_GREATER 10.4 OR ${GCC_VERSION} VERSION_EQUAL 10.4) if (${GCC_VERSION} VERSION_GREATER 10.4 OR ${GCC_VERSION} VERSION_EQUAL 10.4)
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.5-a+sve+sve2+bf16 -mtune=neoverse-n2") set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.5-a+sve+sve2+bf16 -mtune=neoverse-n2")
@@ -208,6 +212,8 @@ if (${CORE} STREQUAL NEOVERSEV1)
if (NOT DYNAMIC_ARCH) if (NOT DYNAMIC_ARCH)
if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI" AND NOT NO_SVE) if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI" AND NOT NO_SVE)
set (CCOMMON_OPT "${CCOMMON_OPT} -Msve_intrinsics -march=armv8.4-a+sve -mtune=neoverse-v1") set (CCOMMON_OPT "${CCOMMON_OPT} -Msve_intrinsics -march=armv8.4-a+sve -mtune=neoverse-v1")
elseif (${CMAKE_C_COMPILER_ID} STREQUAL "NVC" AND NOT NO_SVE)
set (CCOMMON_OPT "${CCOMMON_OPT} -tp=neoverse-v1")
else () else ()
if (${GCC_VERSION} VERSION_GREATER 10.4 OR ${GCC_VERSION} VERSION_EQUAL 10.4) if (${GCC_VERSION} VERSION_GREATER 10.4 OR ${GCC_VERSION} VERSION_EQUAL 10.4)
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.4-a+sve -mtune=neoverse-v1") set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.4-a+sve -mtune=neoverse-v1")
@@ -220,7 +226,9 @@ endif ()


if (${CORE} STREQUAL NEOVERSEN1) if (${CORE} STREQUAL NEOVERSEN1)
if (NOT DYNAMIC_ARCH) if (NOT DYNAMIC_ARCH)
if (${GCC_VERSION} VERSION_GREATER 9.4 OR ${GCC_VERSION} VERSION_EQUAL 9.4)
if (${CMAKE_C_COMPILER_ID} STREQUAL "NVC" AND NOT NO_SVE)
set (CCOMMON_OPT "${CCOMMON_OPT} -tp=neoverse-n1")
elseif (${GCC_VERSION} VERSION_GREATER 9.4 OR ${GCC_VERSION} VERSION_EQUAL 9.4)
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.2-a+sve -mtune=neoverse-n1") set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.2-a+sve -mtune=neoverse-n1")
else () else ()
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.2-a+sve") set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8.2-a+sve")
@@ -232,6 +240,8 @@ if (${CORE} STREQUAL ARMV8SVE)
if (NOT DYNAMIC_ARCH) if (NOT DYNAMIC_ARCH)
if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI" AND NOT NO_SVE) if (${CMAKE_C_COMPILER_ID} STREQUAL "PGI" AND NOT NO_SVE)
set (CCOMMON_OPT "${CCOMMON_OPT} -Msve_intrinsics -march=armv8-a+sve") set (CCOMMON_OPT "${CCOMMON_OPT} -Msve_intrinsics -march=armv8-a+sve")
elseif (${CMAKE_C_COMPILER_ID} STREQUAL "NVC" AND NOT NO_SVE)
set (CCOMMON_OPT "${CCOMMON_OPT} -tp=host")
else () else ()
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8-a+sve") set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv8-a+sve")
endif () endif ()
@@ -240,6 +250,9 @@ endif ()


if (${CORE} STREQUAL ARMV9SME) if (${CORE} STREQUAL ARMV9SME)
if (NOT DYNAMIC_ARCH) if (NOT DYNAMIC_ARCH)
if (${CMAKE_C_COMPILER_ID} STREQUAL "NVC" AND NOT NO_SVE)
set (CCOMMON_OPT "${CCOMMON_OPT} -tp=host")
else ()
set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv9-a+sme") set (CCOMMON_OPT "${CCOMMON_OPT} -march=armv9-a+sme")
endif () endif ()
endif () endif ()


Loading…
Cancel
Save