Add H100 to supported architectures

This commit is contained in:
Rocco Meli 2024-06-17 22:50:56 +02:00 committed by GitHub
parent f5a917bc5f
commit bf66cd3cdd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 15 additions and 6 deletions

3
.gitignore vendored
View file

@ -94,6 +94,9 @@ dkms.conf
### CMake ###
build*/
# Spack
build-*
### CMake Patch ###
# External projects
*-prefix/

View file

@ -250,6 +250,7 @@ set(CP2K_SUPPORTED_CUDA_ARCHITECTURES
P100
V100
A100
H100
A40)
set(CP2K_SUPPORTED_HIP_ARCHITECTURES
Mi50
@ -263,6 +264,7 @@ set(CP2K_SUPPORTED_HIP_ARCHITECTURES
P100
V100
A100
H100
A40)
set(CP2K_WITH_GPU
@ -513,6 +515,7 @@ if((CP2K_USE_ACCEL MATCHES CUDA) OR (CP2K_USE_ACCEL MATCHES HIP))
set(CP2K_GPU_ARCH_NUMBER_P100 60)
set(CP2K_GPU_ARCH_NUMBER_V100 70)
set(CP2K_GPU_ARCH_NUMBER_A100 80)
set(CP2K_GPU_ARCH_NUMBER_H100 90)
set(CP2K_GPU_ARCH_NUMBER_A40 86)
set(CP2K_GPU_ARCH_NUMBER_Mi50 gfx906)
set(CP2K_GPU_ARCH_NUMBER_Mi100 gfx908)

View file

@ -191,7 +191,7 @@ required.
multiplications.
- Add `-lstdc++ -lcudart -lnvrtc -lcuda -lcublas` to LIBS.
- Specify the GPU type (e.g., `GPUVER = P100`), possible values are K20X, K40, K80, P100, V100,
A100, A40.
A100, H100, A40.
- Specify the C++ compiler (e.g., `CXX = g++`) and the CXXFLAGS to support the C++11 standard.
- CUFFT 7.0 has a known bug and is therefore disabled by default. NVIDIA's webpage list a patch (an
upgraded version cufft i.e. >= 7.0.35) - use this together with `-D__HAS_PATCHED_CUFFT_70`.

View file

@ -462,12 +462,12 @@ while [ $# -ge 1 ]; do
--gpu-ver=*)
user_input="${1#*=}"
case "${user_input}" in
K20X | K40 | K80 | P100 | V100 | A100 | A40 | Mi50 | Mi100 | Mi250 | no)
K20X | K40 | K80 | P100 | V100 | A100 | H100 | A40 | Mi50 | Mi100 | Mi250 | no)
export GPUVER="${user_input}"
;;
*)
report_error ${LINENO} \
"--gpu-ver currently only supports K20X, K40, K80, P100, V100, A100, A40, Mi50, Mi100, Mi250, and no as options"
"--gpu-ver currently only supports K20X, K40, K80, P100, V100, A100, H100, A40, Mi50, Mi100, Mi250, and no as options"
exit 1
;;
esac
@ -947,6 +947,9 @@ case ${GPUVER} in
A40)
export ARCH_NUM="86"
;;
H100)
export ARCH_NUM="90"
;;
Mi50)
# TODO: export ARCH_NUM=
;;
@ -961,7 +964,7 @@ case ${GPUVER} in
;;
*)
report_error ${LINENO} \
"--gpu-ver currently only supports K20X, K40, K80, P100, V100, A100, A40, Mi50, Mi100, Mi250, and no as options"
"--gpu-ver currently only supports K20X, K40, K80, P100, V100, A100, H100, A40, Mi50, Mi100, Mi250, and no as options"
exit 1
;;
esac

View file

@ -89,7 +89,7 @@ case "${with_spfft}" in
if [ "$ENABLE_HIP" = "__TRUE__" ]; then
case "${GPUVER}" in
K20X | K40 | K80 | P100 | V100 | A100 | A40)
K20X | K40 | K80 | P100 | V100 | A100 | A40 | H100)
[ -d build-cuda ] && rm -rf "build-cuda"
mkdir build-cuda
cd build-cuda

View file

@ -77,7 +77,7 @@ case "${with_spla}" in
if [ "$ENABLE_HIP" = "__TRUE__" ]; then
case "${GPUVER}" in
K20X | K40 | K80 | P100 | V100 | A100 | A40)
K20X | K40 | K80 | P100 | V100 | A100 | A40 | H100)
[ -d build-cuda ] && rm -rf "build-cuda"
mkdir build-cuda
cd build-cuda