Skip to content

[feature] CI on nvhpc, the NVIDIA HPC compilers #700

[feature] CI on nvhpc, the NVIDIA HPC compilers

[feature] CI on nvhpc, the NVIDIA HPC compilers #700

Workflow file for this run

name: builds
on:
push:
branches:
- master
pull_request:
env:
CFLAGS: "-std=c99 -pedantic -Wall -Wextra -Werror -Wno-unused-but-set-parameter -Wno-builtin-declaration-mismatch"
VERBOSE: 1
jobs:
generic:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- run: sudo apt-get update
- run: sudo apt-get install -y gcc make autoconf automake libtool pkgconf libhwloc-dev
- name: configure
run: |
./autogen.sh
mkdir build
./configure --prefix=`pwd`/build --without-rocm
- run: make
- run: make check
- run: make install
- uses: actions/upload-artifact@v4
if: failure()
with:
name: generic
path: |
config.log
tests/*.log
benchmarks/*.log
doc/tutorials/*.log
out-of-tree:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- run: sudo apt-get update
- run: sudo apt-get install -y gcc make autoconf automake libtool pkgconf libhwloc-dev
- name: configure
run: |
./autogen.sh
mkdir out
cd out
mkdir build
../configure --prefix=`pwd`/build --without-rocm
- run: make
working-directory: out
- run: make check
working-directory: out
- uses: actions/upload-artifact@v4
if: failure()
with:
name: out-of-tree
path: |
out/config.log
out/tests/*.log
out/benchmarks/*.log
out/doc/tutorials/*.log
valgrind:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- run: sudo apt-get update
- run: sudo apt-get install -y gcc make autoconf automake libtool pkgconf hwloc libhwloc-dev valgrind
- run: hwloc-gather-cpuid
- name: configure
run: |
./autogen.sh
mkdir build
./configure --prefix=`pwd`/build --without-rocm --enable-valgrind
- run: make
- run: make check-valgrind
env:
HWLOC_CPUID_PATH: ${{ github.workspace }}/cpuid
VALGRIND_SUPPRESSIONS_FILES: ${{ github.workspace }}/.valgrind.supp
OMP_NUM_THREADS: 1
- uses: actions/upload-artifact@v4
if: failure()
with:
name: valgrind
path: |
config.log
tests/*.log
benchmarks/*.log
doc/tutorials/*.log
helgrind:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- run: sudo apt-get update
- run: sudo apt-get install -y gcc make autoconf automake libtool pkgconf hwloc libhwloc-dev valgrind
- name: configure
run: |
./autogen.sh
mkdir build
./configure --prefix=`pwd`/build --without-rocm --enable-valgrind --disable-valgrind-memcheck --enable-valgrind-helgrind
- run: make
- run: make -C tests check-valgrind
env:
HWLOC_CPUID_PATH: ${{ github.workspace }}/cpuid
VALGRIND_SUPPRESSIONS_FILES: ${{ github.workspace }}/.valgrind.supp
OMP_NUM_THREADS: 1
- uses: actions/upload-artifact@v4
if: failure()
with:
name: valgrind
path: |
config.log
tests/*.log
nix:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- uses: cachix/install-nix-action@v13
with:
nix_path: nixpkgs=channel:nixos-20.09
- run: nix-build -A aml
distcheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- run: sudo apt-get update
- run: sudo apt-get install -y gcc make autoconf automake libtool pkgconf libhwloc-dev
- name: configure
run: |
./autogen.sh
mkdir build
./configure --prefix=`pwd`/build --without-rocm
- run: make distcheck
- uses: actions/upload-artifact@v4
if: failure()
with:
name: distcheck
path: |
config.log
tests/*.log
benchmarks/*.log
doc/tutorials/*.log
rocm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- run: sudo apt-get update
- run: sudo apt-get install -y gcc make autoconf automake libtool pkgconf libhwloc-dev
- name: configure
run: |
./autogen.sh
mkdir build
./configure --prefix=`pwd`/build
- run: make CFLAGS=-std=c99
- run: make check
- run: make install
- uses: actions/upload-artifact@v4
if: failure()
with:
name: rocm
path: |
config.log
tests/*.log
benchmarks/*.log
doc/tutorials/*.log
nvhpc:
runs-on: ubuntu-latest
defaults:
run:
shell: bash
container:
image: nvcr.io/nvidia/nvhpc:24.7-devel-cuda12.5-ubuntu22.04
steps:
- uses: actions/checkout@v2
with:
submodules: true
fetch-depth: 0
- run: env
- run: apt-get update
- run: apt-get install -y make autoconf automake libtool pkgconf libhwloc-dev
- name: configure
run: |
./autogen.sh
mkdir build
./configure --prefix=`pwd`/build --with-cuda CUDA_HOME=$NVHPC_ROOT/cuda
- run: make CFLAGS=-std=c99
- run: make check
- run: make install
- uses: actions/upload-artifact@v4
if: failure()
with:
name: rocm
path: |
config.log
tests/*.log
benchmarks/*.log
doc/tutorials/*.log