From e650ab1b971baafe8cdfee073486e35dede68869 Mon Sep 17 00:00:00 2001 From: edoapra Date: Fri, 17 Jan 2025 16:55:14 -0800 Subject: [PATCH] github actions: amd64 ubuntu updates and user ubuntu-24.04-arm --- .github/workflows/github_actions.yml | 117 ++++++++++++++------------- travis/build_env.sh | 12 +-- travis/nwchem.bashrc | 16 ++-- 3 files changed, 76 insertions(+), 69 deletions(-) diff --git a/.github/workflows/github_actions.yml b/.github/workflows/github_actions.yml index a0f3dd7315..5b76cfda08 100644 --- a/.github/workflows/github_actions.yml +++ b/.github/workflows/github_actions.yml @@ -21,7 +21,7 @@ jobs: matrix: blas: [build_openblas] blas_size: [8] - os: [ubuntu-20.04, macos-latest] + os: [ubuntu-22.04, macos-latest, ubuntu-24.04-arm] experimental: [false] mpi_impl: - openmpi @@ -43,8 +43,14 @@ jobs: - os: macos-latest mpi_impl: mpich nwchem_modules: "qmandpw qmd" + - os: ubuntu-24.04-arm + mpi_impl: mpich + nwchem_modules: "tinyqmpw python" + - os: ubuntu-24.04-arm + mpi_impl: mpich + nwchem_modules: "qmandpw qmd" include: - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: openmpi armci_network: MPI-TS @@ -53,7 +59,7 @@ jobs: cc: gcc blas: "libopenblas64-openmp-dev" blas_size: 8 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: openmpi armci_network: MPI-TS @@ -63,7 +69,7 @@ jobs: build_plumed: 1 use_openmp: 2 use_tblite: 1 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: mpich armci_network: MPI-TS @@ -74,7 +80,7 @@ jobs: blas_size: 4 use_openmp: 2 use_tblite: 1 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: openmpi armci_network: MPI-TS @@ -83,7 +89,7 @@ jobs: blas: "build_openblas" use_openmp: 2 use_tblite: 1 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: intel armci_network: MPI-TS @@ -93,7 +99,7 @@ jobs: blas_size: 4 use_openmp: 2 use_tblite: 1 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: intel armci_network: MPI-TS @@ -101,7 +107,7 @@ jobs: fc: ifx use_openmp: 2 use_tblite: 1 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: mpich armci_network: MPI-TS @@ -109,7 +115,7 @@ jobs: fc: nvfortran use_openmp: 2 use_tblite: 1 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: mpich armci_network: ARMCI @@ -124,7 +130,7 @@ jobs: blas: "libopenblas-pthread-dev" fc: gfortran blas_size: 4 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: mpich armci_network: MPI-TS @@ -132,21 +138,21 @@ jobs: fc: gfortran blas: "internal" blas_size: 4 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: false mpi_impl: mpich armci_network: MPI-PR nwchem_modules: "tinyqmpw python" fc: gfortran-11 cc: gcc-11 - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: false mpi_impl: mpich armci_network: MPI-TS nwchem_modules: "tce" fc: gfortran-11 cc: gcc-11 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: mpich armci_network: MPI-TS @@ -156,7 +162,7 @@ jobs: use_libxc: -1 blas: "internal" blas_size: 8 - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: mpich armci_network: MPI-TS @@ -164,75 +170,75 @@ jobs: fc: gfortran-11 cc: gcc-11 use_libxc: -1 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: mpich armci_network: MPI-TS nwchem_modules: "tinyqmpw python" fc: amdflang cc: amdclang - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: mpich armci_network: MPI-TS nwchem_modules: "tce" fc: amdflang cc: amdclang - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: intel armci_network: MPI-PR nwchem_modules: "tinyqmpw python" fc: ifx use_openmp: 2 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true - mpi_impl: mpich + mpi_impl: build_mpich armci_network: MPI-TS nwchem_modules: "tinyqmpw python" fc: nvfortran cc: gcc - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: intel armci_network: SOCKETS nwchem_modules: "tce" fc: ifx use_openmp: 2 - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: mpich armci_network: MPI-TS nwchem_modules: "tce" fc: flang cc: clang + - os: ubuntu-latest + experimental: true + mpi_impl: intel + armci_network: MPI-PR + nwchem_modules: "tinyqmpw python" + fc: ifx + - os: ubuntu-latest + experimental: true + mpi_impl: intel + armci_network: SOCKETS + nwchem_modules: "tce" + fc: ifx - os: ubuntu-22.04 experimental: true mpi_impl: intel armci_network: MPI-PR nwchem_modules: "tinyqmpw python" fc: ifx + use_openmp: 2 - os: ubuntu-22.04 experimental: true mpi_impl: intel armci_network: SOCKETS nwchem_modules: "tce" fc: ifx - - os: ubuntu-20.04 - experimental: true - mpi_impl: intel - armci_network: MPI-PR - nwchem_modules: "tinyqmpw python" - fc: ifx use_openmp: 2 - - os: ubuntu-20.04 - experimental: true - mpi_impl: intel - armci_network: SOCKETS - nwchem_modules: "tce" - fc: ifx - use_openmp: 2 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: openmpi armci_network: MPI-TS @@ -240,7 +246,7 @@ jobs: fc: gfortran cc: gcc use_libxc: 1 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: intel armci_network: MPI-TS @@ -265,7 +271,7 @@ jobs: fc: gfortran-13 use_libxc: 1 xcode_version: 15.2 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: mpich armci_network: MPI-PT @@ -273,7 +279,7 @@ jobs: fc: gfortran-10 cc: gcc-10 use_simint: 1 - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: mpich armci_network: MPI-TS @@ -281,7 +287,7 @@ jobs: fc: nvfortran cc: gcc use_simint: 1 - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: intel armci_network: MPI-TS @@ -289,7 +295,7 @@ jobs: fc: ifx cc: icx use_simint: 1 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: mpich armci_network: MPI-PR @@ -328,7 +334,7 @@ jobs: fc: gfortran-13 blas: "accelerate" blas_size: 4 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: mpich armci_network: MPI-TS @@ -337,14 +343,14 @@ jobs: cc: gcc-10 use_openmp: 2 blas: "build_openblas" - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: intel armci_network: MPI-TS nwchem_modules: "qmandpw qmd" fc: ifx use_openmp: 2 - - os: ubuntu-20.04 + - os: ubuntu-22.04 experimental: true mpi_impl: mpich armci_network: MPI-TS @@ -359,33 +365,33 @@ jobs: nwchem_modules: "nwdft driver solvation mp2_grad mcscf ccsd rimp2 fcidump nwc_columbus" fc: nvfortran cc: gcc - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: openmpi armci_network: MPI-TS nwchem_modules: "nwdft driver solvation mp2_grad mcscf ccsd rimp2 fcidump nwc_columbus" fc: gfortran cc: gcc - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: mpich armci_network: MPI-TS nwchem_modules: "nwdft driver solvation mp2_grad mcscf ccsd rimp2 fcidump nwc_columbus" fc: flang cc: clang - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: intel armci_network: MPI-TS nwchem_modules: "nwdft driver solvation mp2_grad mcscf ccsd rimp2 fcidump nwc_columbus" fc: ifx - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: mpich armci_network: MPI-TS nwchem_modules: "tinyqmpw" fc: flang-new-20 - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: mpich armci_network: MPI-TS @@ -397,7 +403,7 @@ jobs: armci_network: MPI-TS nwchem_modules: "tinyqmpw" fc: flang-new-18 - - os: ubuntu-22.04 + - os: ubuntu-latest experimental: true mpi_impl: openmpi armci_network: MPI-TS @@ -468,17 +474,12 @@ jobs: if [[ $(uname -s) == "Linux" ]]; then ubuntu_ver=$(cat /etc/os-release | grep VERSION_ID |cut -d \" -f 2) dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n - sudo apt-get purge -y azure-cli || true - sudo apt-get purge -y google-cloud-cli microsoft-edge-stable dotnet-sdk-* google-chrome-stable firefox + sudo apt-get purge -y firefox || true + sudo apt-get purge -y microsoft-edge-stable dotnet-sdk-* google-chrome-stable firefox || true + sudo apt-get purge -y azure-cli || tru + sudo apt-get purge -y google-cloud-cli|| true sudo apt-get purge -y temurin-* - if [[ $ubuntu_ver == "20.04" ]]; then sudo apt-get purge -y llvm-*-dev - sudo apt-get purge -y hhvm - sudo apt-get purge -y libgl1-mesa-dri - fi - if [[ $ubuntu_ver == "22.04" ]]; then - sudo apt-get purge -y llvm-*-dev - fi sudo apt-get -y clean sudo apt-get autoremove -y dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n diff --git a/travis/build_env.sh b/travis/build_env.sh index 6beba2a993..331b8151e2 100755 --- a/travis/build_env.sh +++ b/travis/build_env.sh @@ -227,7 +227,7 @@ if [[ "$os" == "Linux" ]]; then export I_MPI_F90="$FC" "$FC" -V ; if [[ $? != 0 ]]; then echo "Intel SW install failed"; exit 1; fi icx -V - sudo rm -rf $MKLROOT/lib/*sycl* || true + $MYSUDO rm -rf $MKLROOT/lib/*sycl* || true fi if [[ "$FC" == 'flang-new-'* ]]; then wget https://apt.llvm.org/llvm.sh @@ -284,13 +284,13 @@ if [[ "$os" == "Linux" ]]; then fi if [[ "$FC" == "nvfortran" ]]; then $MYSUDO apt-get -y install lmod g++ libtinfo5 libncursesw5 lua-posix lua-filesystem lua-lpeg lua-luaossl - nv_major=23 - nv_minor=7 + nv_major=24 + nv_minor=11 nverdot="$nv_major"."$nv_minor" nverdash="$nv_major"-"$nv_minor" arch_dpkg=`dpkg --print-architecture` - curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | sudo gpg --yes --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg - echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/'$arch_dpkg' /' | sudo tee /etc/apt/sources.list.d/nvhpc.list + curl https://developer.download.nvidia.com/hpc-sdk/ubuntu/DEB-GPG-KEY-NVIDIA-HPC-SDK | $MYSUDO gpg --yes --dearmor -o /usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg + echo 'deb [signed-by=/usr/share/keyrings/nvidia-hpcsdk-archive-keyring.gpg] https://developer.download.nvidia.com/hpc-sdk/ubuntu/'$arch_dpkg' /' | $MYSUDO tee /etc/apt/sources.list.d/nvhpc.list echo '*** added hpc-sdk source to /etc/aps ***' ls -lrt /etc/apt/sources.list.d/ || true ls -lrt /etc/apt/sources.list.d/nvhpc.list || true @@ -308,6 +308,8 @@ if [[ "$os" == "Linux" ]]; then $MYSUDO rm -rf /opt/nvidia/hpc_sdk/Linux_"$arch"/"$nverdot"/profilers $MYSUDO rm -rf /opt/nvidia/hpc_sdk/Linux_"$arch"/"$nverdot"/comm_libs $MYSUDO rm -rf /opt/nvidia/hpc_sdk/Linux_"$arch"/"$nverdot"/math_libs + $MYSUDO ln -sf /opt/nvidia/hpc_sdk/Linux_"$arch"/"$nverdot" /opt/nvidia/hpc_sdk/Linux_"$arch"/latest + ls -lrt /opt/nvidia/hpc_sdk/Linux_"$arch"/latest/ export FC=nvfortran export CC=gcc nvfortran -V ;if [[ $? != 0 ]]; then echo "nvfortran install failed"; exit 1; fi diff --git a/travis/nwchem.bashrc b/travis/nwchem.bashrc index 90f8046052..79592bc420 100644 --- a/travis/nwchem.bashrc +++ b/travis/nwchem.bashrc @@ -5,6 +5,11 @@ echo "BLASOPT is " $BLASOPT echo "BUILD_OPENBLAS is " $BUILD_OPENBLAS os=`uname` arch=`uname -m` +if [[ -z "$APPTAINER_NAME" ]] || [[ -z "$SINGULARITY_NAME" ]] ; then + MYSUDO=sudo +else + MYSUDO=" " +fi if test -f "/usr/lib/os-release"; then dist=$(grep ID= /etc/os-release |head -1 |cut -c4-| sed 's/\"//g') fi @@ -44,12 +49,11 @@ if [[ "$FC" == 'flang-new-'* ]]; then fi if [[ "$FC" == "nvfortran" ]]; then - nv_major=23 - nv_minor=7 - nverdot="$nv_major"."$nv_minor" - export PATH=/opt/nvidia/hpc_sdk/Linux_"$arch"/"$nverdot"/compilers/bin:$PATH - export LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_"$arch"/"$nverdot"/compilers/lib:$LD_LIBRARY_PATH - sudo /opt/nvidia/hpc_sdk/Linux_"$arch"/"$nverdot"/compilers/bin/makelocalrc -x + export PATH=/opt/nvidia/hpc_sdk/Linux_"$arch"/latest/compilers/bin:$PATH + echo "**** before hpc_sdk makelocalrc" + $MYSUDO /opt/nvidia/hpc_sdk/Linux_"$arch"/latest/compilers/bin/makelocalrc -x + echo "**** done hpc_sdk makelocalrc" + export LD_LIBRARY_PATH=/opt/nvidia/hpc_sdk/Linux_"$arch"/latest/compilers/lib:$LD_LIBRARY_PATH export FC=nvfortran export MPICH_FC=nvfortran fi