Skip to content

Add CI container compilation tests for GPU code #115

Add CI container compilation tests for GPU code

Add CI container compilation tests for GPU code #115

Workflow file for this run

name: CI
on:
# Triggers the workflow on push or pull request events but only for the "develop" branch
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]
workflow_dispatch:
jobs:
build-run-tests:
# The type of runner that the job will run on
runs-on: ubuntu-latest
container: ghcr.io/ggeorgakoudis/ams-ci-test-ruby-centos7
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- uses: actions/checkout@v3
- name: Build Torch=On FAISS=On HDF5=On AMS
shell: bash -l {0}
run: |
module load gcc/11.2.1
source /spack/share/spack/setup-env.sh
spack env activate -p /ams-spack-env
rm -rf build/
mkdir build
cd build
export AMS_MFEM_PATH=$(spack location -i mfem)
export AMS_TORCH_PATH=$(spack location -i py-torch)/lib/python3.10/site-packages/torch/share/cmake/Torch
export AMS_FAISS_PATH=$(spack location -i faiss)
export AMS_UMPIRE_PATH=$(spack location -i umpire)
export AMS_HDF5_PATH=$(spack location -i hdf5)
cmake \
-DBUILD_SHARED_LIBS=On \
-DCMAKE_PREFIX_PATH=$INSTALL_DIR \
-DWITH_CALIPER=On \
-DWITH_HDF5=On \
-DWITH_EXAMPLES=On \
-DHDF5_Dir=$AMS_HDF5_PATH \
-DCMAKE_INSTALL_PREFIX=./install \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_CUDA=Off \
-DUMPIRE_DIR=$AMS_UMPIRE_PATH \
-DMFEM_DIR=$AMS_MFEM_PATH \
-DWITH_FAISS=On \
-DWITH_MPI=On \
-DWITH_TORCH=On \
-DWITH_TESTS=On \
-DTorch_DIR=$AMS_TORCH_PATH \
-DFAISS_DIR=$AMS_FAISS_PATH \
-DWITH_AMS_DEBUG=On \
-DWITH_WORKFLOW=On \
$GITHUB_WORKSPACE
make
- name: Run tests Torch=On FAISS=On HDF5=On AMS
run: |
cd build
make test
- name: Build Torch=Off FAISS=On HDF5=On AMS
shell: bash -l {0}
run: |
module load gcc/11.2.1
source /spack/share/spack/setup-env.sh
spack env activate -p /ams-spack-env
rm -rf build/
mkdir build
cd build
export AMS_MFEM_PATH=$(spack location -i mfem)
export AMS_FAISS_PATH=$(spack location -i faiss)
export AMS_UMPIRE_PATH=$(spack location -i umpire)
export AMS_HDF5_PATH=$(spack location -i hdf5)
cmake \
-DBUILD_SHARED_LIBS=On \
-DCMAKE_PREFIX_PATH=$INSTALL_DIR \
-DWITH_CALIPER=On \
-DWITH_HDF5=On \
-DWITH_EXAMPLES=On \
-DHDF5_Dir=$AMS_HDF5_PATH \
-DCMAKE_INSTALL_PREFIX=./install \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_CUDA=Off \
-DUMPIRE_DIR=$AMS_UMPIRE_PATH \
-DMFEM_DIR=$AMS_MFEM_PATH \
-DWITH_FAISS=On \
-DWITH_MPI=On \
-DWITH_TORCH=Off \
-DWITH_TESTS=On \
-DFAISS_DIR=$AMS_FAISS_PATH \
-DWITH_AMS_DEBUG=On \
-DWITH_WORKFLOW=On \
$GITHUB_WORKSPACE
make
- name: Run tests Torch=Off FAISS=On HDF5=On AMS
run: |
cd build
make test
- name: Build Torch=Off FAISS=Off HDF5=On AMS
shell: bash -l {0}
run: |
module load gcc/11.2.1
source /spack/share/spack/setup-env.sh
spack env activate -p /ams-spack-env
rm -rf build/
mkdir build
cd build
export AMS_MFEM_PATH=$(spack location -i mfem)
export AMS_UMPIRE_PATH=$(spack location -i umpire)
export AMS_HDF5_PATH=$(spack location -i hdf5)
cmake \
-DBUILD_SHARED_LIBS=On \
-DCMAKE_PREFIX_PATH=$INSTALL_DIR \
-DWITH_CALIPER=On \
-DWITH_EXAMPLES=On \
-DHDF5_Dir=$AMS_HDF5_PATH \
-DWITH_HDF5=On \
-DCMAKE_INSTALL_PREFIX=./install \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_CUDA=Off \
-DUMPIRE_DIR=$AMS_UMPIRE_PATH \
-DMFEM_DIR=$AMS_MFEM_PATH \
-DWITH_FAISS=Off \
-DWITH_MPI=On \
-DWITH_TORCH=Off \
-DWITH_TESTS=On \
-DWITH_AMS_DEBUG=On \
-DWITH_WORKFLOW=On \
$GITHUB_WORKSPACE
make
- name: Run tests Torch=Off FAISS=Off HDF5=On AMS
run: |
cd build
make test
- name: Build Torch=Off FAISS=Off HDF5=Off AMS
shell: bash -l {0}
run: |
module load gcc/11.2.1
source /spack/share/spack/setup-env.sh
spack env activate -p /ams-spack-env
rm -rf build/
mkdir build
cd build
export AMS_MFEM_PATH=$(spack location -i mfem)
export AMS_UMPIRE_PATH=$(spack location -i umpire)
cmake \
-DBUILD_SHARED_LIBS=On \
-DCMAKE_PREFIX_PATH=$INSTALL_DIR \
-DWITH_CALIPER=On \
-DWITH_EXAMPLES=On \
-DCMAKE_INSTALL_PREFIX=./install \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_CUDA=Off \
-DUMPIRE_DIR=$AMS_UMPIRE_PATH \
-DMFEM_DIR=$AMS_MFEM_PATH \
-DWITH_FAISS=Off \
-DWITH_MPI=On \
-DWITH_TORCH=Off \
-DWITH_TESTS=On \
-DWITH_AMS_DEBUG=On \
-DWITH_WORKFLOW=On \
$GITHUB_WORKSPACE
make
- name: Run tests Torch=Off FAISS=Off HDF5=Off AMS
run: |
cd build
make test
build-cuda-tests:
# The type of runner that the job will run on
runs-on: ubuntu-latest
steps:
- name: Test nvcc
run: |
df -h
nvcc --version
#container: ghcr.io/ggeorgakoudis/ams-ci-cuda11.6.1:latest
# Steps represent a sequence of tasks that will be executed as part of the job
#steps:
# - name: Free Disk Space (Ubuntu)
# uses: jlumbroso/free-disk-space@main
# with:
# # this might remove tools that are actually needed,
# # if set to "true" but frees about 6 GB
# tool-cache: false
#
# # all of these default to true, but feel free to set to
# # "false" if necessary for your workflow
# android: true
# dotnet: true
# haskell: true
# large-packages: true
# docker-images: true
# swap-storage: true
# - uses: actions/checkout@v3
# - name: Build Torch=On FAISS=On HDF5=On AMS
# shell: bash -l {0}
# run: |
# source /spack/share/spack/setup-env.sh
# spack env activate -p /ams-spack-env
# rm -rf build/
# mkdir build
# cd build
# export AMS_MFEM_PATH=$(spack location -i mfem)
# export AMS_TORCH_PATH=$(spack location -i py-torch)/lib/python3.10/site-packages/torch/share/cmake/Torch
# export AMS_FAISS_PATH=$(spack location -i faiss)
# export AMS_UMPIRE_PATH=$(spack location -i umpire)
# export AMS_HDF5_PATH=$(spack location -i hdf5)
# cmake \
# -DBUILD_SHARED_LIBS=On \
# -DCMAKE_PREFIX_PATH=$INSTALL_DIR \
# -DWITH_CALIPER=On \
# -DWITH_HDF5=On \
# -DWITH_EXAMPLES=On \
# -DHDF5_Dir=$AMS_HDF5_PATH \
# -DCMAKE_INSTALL_PREFIX=./install \
# -DCMAKE_BUILD_TYPE=Release \
# -DCUDA_ARCH=70 \
# -DWITH_CUDA=On \
# -DUMPIRE_DIR=$AMS_UMPIRE_PATH \
# -DMFEM_DIR=$AMS_MFEM_PATH \
# -DWITH_FAISS=On \
# -DWITH_MPI=On \
# -DWITH_TORCH=On \
# -DWITH_TESTS=On \
# -DTorch_DIR=$AMS_TORCH_PATH \
# -DFAISS_DIR=$AMS_FAISS_PATH \
# -DWITH_AMS_DEBUG=On \
# -DWITH_WORKFLOW=On \
# $GITHUB_WORKSPACE
# make