#!/hint/bash

# Run `source /opt/nvidia/hpc_sdk/activate` to activate the NVIDIA HPC SDK
# in your current shell environment.
# WARNING: nvc, nvc++, and nvfortran will become the default compilers for
# C, C++, and Fortran in that environment, which may not be always wanted.
# This will also override communication libraries (nccl and openmpi) from
# Arch packages with the versions bundled in the SDK.

nvhome=/opt/nvidia/hpc_sdk
target=Linux_x86_64
version=25.7

nvcudadir=$nvhome/$target/$version/cuda
nvcompdir=$nvhome/$target/$version/compilers
nvmathdir=$nvhome/$target/$version/math_libs
nvcommdir=$nvhome/$target/$version/comm_libs

export NVHPC=$nvhome
export NVHPC_ROOT=$nvhome/$target/$version
export CC=$nvcompdir/bin/nvc
export CXX=$nvcompdir/bin/nvc++
export FC=$nvcompdir/bin/nvfortran
export F90=$nvcompdir/bin/nvfortran
export F77=$nvcompdir/bin/nvfortran
export CPP=cpp

export PATH=$nvcudadir/bin:"$PATH"
export PATH=$nvcompdir/bin:"$PATH"
export PATH=$nvcommdir/mpi/bin:"$PATH"
export PATH=$nvcompdir/extras/qd/bin:"$PATH"

export LD_LIBRARY_PATH=$nvcudadir/lib64:"$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH=$nvcompdir/extras/qd/lib:"$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH=$nvcompdir/lib:"$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH=$nvmathdir/lib64:"$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH=$nvcommdir/nccl/lib:"$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH=$nvcommdir/nvshmem/lib:"$LD_LIBRARY_PATH"

export CPATH=$nvmathdir/include:"$CPATH"
export CPATH=$nvcommdir/nccl/include:"$CPATH"
export CPATH=$nvcommdir/nvshmem/include:"$CPATH"
export CPATH=$nvcompdir/extras/qd/include/qd:"$CPATH"

export C_INCLUDE_PATH=$nvmathdir/include:"$C_INCLUDE_PATH"
export C_INCLUDE_PATH=$nvcommdir/nccl/include:"$C_INCLUDE_PATH"
export C_INCLUDE_PATH=$nvcommdir/nvshmem/include:"$C_INCLUDE_PATH"
export C_INCLUDE_PATH=$nvcompdir/extras/qd/include/qd:"$C_INCLUDE_PATH"

export CPLUS_INCLUDE_PATH=$nvmathdir/include:"$CPLUS_INCLUDE_PATH"
export CPLUS_INCLUDE_PATH=$nvcommdir/nccl/include:"$CPLUS_INCLUDE_PATH"
export CPLUS_INCLUDE_PATH=$nvcommdir/nvshmem/include:"$CPLUS_INCLUDE_PATH"
export CPLUS_INCLUDE_PATH=$nvcompdir/extras/qd/include/qd:"$CPLUS_INCLUDE_PATH"

export MANPATH=$nvcompdir/man:"$MANPATH"
