Merge branch 'gpu_updates' into 'master'

ADD: nvhidia 4.3 and 23.5 SDKK related openmpi and qe/7.3.1 CPU&GPU

See merge request Pmodules/buildblocks!434
This commit is contained in:
2024-07-24 11:30:26 +02:00
9 changed files with 202 additions and 19 deletions

View File

@@ -0,0 +1,5 @@
After installing PGI, the localrc file of the pgi installation needs to be modified by issuing the following commands in the directory where the localrc file is located:
module add gcc/<appropriate version> # currently 7.3.0
./makelocalrc -x -gcc $(which gcc) -gpp $(which g++) -g77 $(which gfortran)

23
Programming/nvhpc/build Executable file
View File

@@ -0,0 +1,23 @@
#!/usr/bin/env modbuild
pbuild::configure() {
:
}
pbuild::compile() {
:
}
pbuild::install() {
export NVHPC_SILENT="true"
export NVHPC_INSTALL_DIR=$PREFIX
export NVHPC_INSTALL_TYPE="network"
./install
}
pbuild::post_install() {
cd $PREFIX/Linux_x86_64/$V_MAJOR.$V_MINOR/compilers/bin
rm -rf localrc*
./makelocalrc -x $PWD
}

View File

@@ -0,0 +1,33 @@
---
# yamllint disable rule:line-length
format: 1
nvhpc:
defaults:
group: Programming
overlay: base
relstage: stable
systems: [rhel7, rhel8, rhel9]
docfiles: [AUTHORS, LICENSE, NEWS, README]
compile_in_sourcetree: true
shasums:
nvhpc-24.3.tar.gz: 4fb8949ba8cef73b28818bd9375c9420ec48fab1c64e71315a7c1984f5329d6b
nvhpc-23.5.tar.gz: 3196309b38df6f0a27e18b80f6a40e23cab8195cad43fc6bbd569af7d8ca5742
versions:
24.3:
variants:
- systems: [merlin-*, ra-*]
suffix: _cuda_12.3
urls:
- url: https://developer.download.nvidia.com/hpc-sdk/${V_PKG}/nvhpc_2024_243_Linux_x86_64_cuda_12.3.tar.gz
suffix: _cuda_12.3
relstage: unstable
build_requires: [gcc/10.4.0]
23.5:
variants:
- systems: [merlin-*, ra-*]
suffix: _cuda_12.1
urls:
- url: https://developer.download.nvidia.com/hpc-sdk/${V_PKG}/nvhpc_2023_235_Linux_x86_64_cuda_12.1.tar.gz
relstage: unstable
build_requires: [gcc/10.4.0]

View File

@@ -0,0 +1,71 @@
#%Module1.0
# Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
#
# NVIDIA CORPORATION and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto. Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA CORPORATION is strictly prohibited.
module-whatis "NVIDIA HPC SDK: A Comprehensive Suite of Compilers, Libraries and Tools for HPC"
module-url "https://developer.nvidia.com/hpc-sdk"
module-license "# Copyright (c) 2023 NVIDIA CORPORATION. All rights reserved.
#
# NVIDIA CORPORATION and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto. Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA CORPORATION is strictly prohibited."
module-maintainer "Elsa Germann <elsa.germann@psi.ch>"
module-addgroup "Compiler"
set nvhome $PREFIX
set target Linux_x86_64
set version $V_MAJOR.3
set nvcudadir $nvhome/$target/$version/cuda
set nvcompdir $nvhome/$target/$version/compilers
set nvmathdir $nvhome/$target/$version/math_libs
set nvcommdir $nvhome/$target/$version/comm_libs
setenv NVHPC $nvhome
setenv NVHPC_ROOT $nvhome/$target/$version
setenv CUDA_HOME $nvcudadir
setenv CC $nvcompdir/bin/nvc
setenv CXX $nvcompdir/bin/nvc++
setenv FC $nvcompdir/bin/nvfortran
setenv F90 $nvcompdir/bin/nvfortran
setenv F77 $nvcompdir/bin/nvfortran
setenv CPP cpp
prepend-path PATH $nvcudadir/bin
prepend-path PATH $nvcompdir/bin
prepend-path PATH $nvcompdir/extras/qd/bin
prepend-path LD_LIBRARY_PATH $nvcudadir/lib64
prepend-path LD_LIBRARY_PATH $nvcudadir/extras/CUPTI/lib64
prepend-path LD_LIBRARY_PATH $nvcompdir/extras/qd/lib
prepend-path LD_LIBRARY_PATH $nvcompdir/lib
prepend-path LD_LIBRARY_PATH $nvmathdir/lib64
prepend-path LD_LIBRARY_PATH $nvcommdir/nccl/lib
prepend-path LD_LIBRARY_PATH $nvcommdir/nvshmem/lib
prepend-path LD_LIBRARY_PATH /opt/psi/Programming/gcc/10.4.0/lib64
prepend-path LIBRARY_PATH /opt/psi/Programming/gcc/10.4.0/lib64
prepend-path LIBRARY_PATH $nvmathdir/lib64
prepend-path LIBRARY_PATH $nvcudadir/lib64
prepend-path LIBRARY_PATH $nvcudadir/extras/CUPTI/lib64
prepend-path LIBRARY_PATH $nvcompdir/extras/qd/lib
prepend-path LIBRARY_PATH $nvcompdir/lib
prepend-path LIBRARY_PATH $nvmathdir/lib64
prepend-path LIBRARY_PATH $nvcommdir/nccl/lib
prepend-path LIBRARY_PATH $nvcommdir/nvshmem/lib
prepend-path CPATH $nvmathdir/include
prepend-path CPATH $nvcommdir/nccl/include
prepend-path CPATH $nvcommdir/nvshmem/include
prepend-path CPATH $nvcompdir/extras/qd/include/qd
prepend-path MANPATH $nvcompdir/man