Tweak seperate tiles #349
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: linux | |
on: [push, pull_request] | |
jobs: | |
nyx_gnu: | |
name: [email protected] Release | |
runs-on: ubuntu-latest | |
env: {CXXFLAGS: "-Werror -Woverloaded-virtual -Wunreachable-code"} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Dependencies | |
run: .github/workflows/dependencies/dependencies.sh | |
- name: Build & Install | |
run: | | |
cmake -S . -B build \ | |
-DNyx_HEATCOOL=yes \ | |
-DNyx_HYDRO=yes | |
cmake --build build --parallel 2 | |
nyx_clang: | |
name: [email protected] Debug | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Dependencies | |
run: .github/workflows/dependencies/dependencies_clang6.sh | |
- name: Build & Install | |
run: | | |
cmake -S . -B build \ | |
-DCMAKE_BUILD_TYPE=Debug \ | |
-DNyx_HEATCOOL=yes \ | |
-DNyx_HYDRO=yes \ | |
-DCMAKE_C_COMPILER=$(which clang) \ | |
-DCMAKE_CXX_COMPILER=$(which clang++) | |
cmake --build build --parallel 2 | |
nyx-cuda9: | |
name: [email protected] [email protected] C++14 Release | |
runs-on: ubuntu-20.04 | |
env: {CXXFLAGS: "-fno-operator-names"} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Dependencies | |
run: .github/workflows/dependencies/dependencies_nvcc10.sh 10.2 | |
- name: Build & Install | |
run: | | |
export PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} | |
export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/cuda/lib:${LD_LIBRARY_PATH} | |
ls /usr/local/cuda/* | |
cmake -S . -B build_adiabatic \ | |
-DNyx_HEATCOOL=no \ | |
-DNyx_HYDRO=yes \ | |
-DNyx_OMP=no \ | |
-DNyx_GPU_BACKEND=CUDA \ | |
-DCMAKE_C_COMPILER=$(which gcc-6) \ | |
-DCMAKE_CXX_COMPILER=$(which g++-6) \ | |
-DCMAKE_CUDA_HOST_COMPILER=$(which g++-6) \ | |
-DCMAKE_CUDA_ARCHITECTURES=60 \ | |
-DAMReX_CUDA_ARCH=6.0 | |
cmake --build build_adiabatic --parallel 2 | |
cmake -S . -B build \ | |
-DNyx_HEATCOOL=yes \ | |
-DNyx_HYDRO=yes \ | |
-DNyx_OMP=no \ | |
-DNyx_GPU_BACKEND=CUDA \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-DCMAKE_C_COMPILER=$(which gcc-6) \ | |
-DCMAKE_CXX_COMPILER=$(which g++-6) \ | |
-DCMAKE_CUDA_HOST_COMPILER=$(which g++-6) \ | |
-DCMAKE_CUDA_ARCHITECTURES=60 \ | |
-DAMReX_CUDA_ARCH=6.0 | |
cmake --build build --parallel 2 | |
# Ref.: | |
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/ubuntu18.04/10.1/base/Dockerfile | |
# https://github.com/ComputationalRadiationPhysics/picongpu/blob/0.5.0/share/picongpu/dockerfiles/ubuntu-1604/Dockerfile | |
# https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ | |
nyx-cuda11: | |
name: NVCC 11.2 SP [Linux] | |
runs-on: ubuntu-20.04 | |
env: {CXXFLAGS: "-fno-operator-names"} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: install dependencies | |
run: .github/workflows/dependencies/dependencies_nvcc11.sh | |
- name: build Nyx | |
run: | | |
export PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:${PATH} | |
export LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/cuda/lib:${LD_LIBRARY_PATH} | |
which nvcc || echo "nvcc not in PATH!" | |
ls /usr/local/cuda/* | |
cmake -S . -B build_adiabatic \ | |
-DNyx_HEATCOOL=no \ | |
-DNyx_HYDRO=yes \ | |
-DNyx_OMP=no \ | |
-DNyx_GPU_BACKEND=CUDA \ | |
-DCMAKE_C_COMPILER=$(which gcc) \ | |
-DCMAKE_CXX_COMPILER=$(which g++) \ | |
-DCMAKE_CUDA_HOST_COMPILER=$(which g++) \ | |
-DCMAKE_CUDA_STANDARD=17 \ | |
-DCMAKE_CXX_STANDARD=17 \ | |
-DCMAKE_CUDA_ARCHITECTURES=80 \ | |
-DAMReX_CUDA_ARCH=8.0 | |
cmake --build build_adiabatic --parallel 2 | |
cmake -S . -B build \ | |
-DNyx_HEATCOOL=yes \ | |
-DNyx_HYDRO=yes \ | |
-DNyx_OMP=no \ | |
-DNyx_GPU_BACKEND=CUDA \ | |
-DCMAKE_VERBOSE_MAKEFILE=ON \ | |
-DCMAKE_C_COMPILER=$(which gcc) \ | |
-DCMAKE_CXX_COMPILER=$(which g++) \ | |
-DCMAKE_CUDA_HOST_COMPILER=$(which g++) \ | |
-DCMAKE_CUDA_STANDARD=17 \ | |
-DCMAKE_CXX_STANDARD=17 \ | |
-DCMAKE_CUDA_ARCHITECTURES=80 \ | |
-DAMReX_CUDA_ARCH=8.0 | |
cmake --build build --parallel 2 | |
nyx-dpcpp: | |
name: DPCPP C++17 | |
runs-on: ubuntu-20.04 | |
env: {CXXFLAGS: "-fno-operator-names"} | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Dependencies | |
run: .github/workflows/dependencies/dependencies_dpcpp.sh | |
- name: Build & Install | |
run: | | |
set +e | |
source /opt/intel/oneapi/setvars.sh | |
set -e | |
cmake -S . -B build_adiabatic \ | |
-DCMAKE_CXX_COMPILER_ID="Clang" \ | |
-DCMAKE_CXX_COMPILER_VERSION=12.0 \ | |
-DCMAKE_CXX_STANDARD_COMPUTED_DEFAULT="17" \ | |
-DNyx_HEATCOOL=no \ | |
-DNyx_HYDRO=yes \ | |
-DNyx_OMP=no \ | |
-DNyx_GPU_BACKEND=SYCL \ | |
-DCMAKE_C_COMPILER=$(which clang) \ | |
-DCMAKE_CXX_COMPILER=$(which dpcpp) | |
cmake --build build_adiabatic --parallel 2 | |
cmake -S . -B build \ | |
-DCMAKE_CXX_COMPILER_ID="Clang" \ | |
-DCMAKE_CXX_COMPILER_VERSION=12.0 \ | |
-DCMAKE_CXX_STANDARD_COMPUTED_DEFAULT="17" \ | |
-DNyx_HEATCOOL=yes \ | |
-DNyx_HYDRO=yes \ | |
-DNyx_OMP=no \ | |
-DNyx_GPU_BACKEND=SYCL \ | |
-DCMAKE_C_COMPILER=$(which clang) \ | |
-DCMAKE_CXX_COMPILER=$(which dpcpp) | |
cmake --build build --parallel 2 | |
# note: setting the CXX compiler ID is a work-around for | |
# the 2021.1 DPC++ release / CMake 3.19.0-3.19.1 | |
# https://gitlab.kitware.com/cmake/cmake/-/issues/21551#note_869580 | |
nyx-hip: | |
name: HIP [email protected] C++17 | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Dependencies | |
run: .github/workflows/dependencies/dependencies_hip.sh | |
- name: Build & Install | |
run: | | |
source /etc/profile.d/rocm.sh | |
hipcc --version | |
# "mpic++ --showme" forgets open-pal in Ubuntu 20.04 + OpenMPI 4.0.3 | |
# https://bugs.launchpad.net/ubuntu/+source/openmpi/+bug/1941786 | |
# https://github.com/open-mpi/ompi/issues/9317 | |
export LDFLAGS="-lopen-pal" | |
cmake -S . -B build_adiabatic \ | |
-DNyx_HEATCOOL=no \ | |
-DNyx_HYDRO=yes \ | |
-DNyx_OMP=no \ | |
-DNyx_GPU_BACKEND=HIP \ | |
-DAMReX_AMD_ARCH=gfx908 \ | |
-DCMAKE_C_COMPILER=$(which clang) \ | |
-DCMAKE_CXX_COMPILER=$(which hipcc) \ | |
-DCMAKE_CXX_COMPILER_ID="Clang" \ | |
-DCMAKE_CXX_COMPILER_VERSION=12.0 \ | |
-DCMAKE_CXX_STANDARD_COMPUTED_DEFAULT="17" \ | |
-DCMAKE_CXX_STANDARD=17 | |
cmake --build build_adiabatic --parallel 2 | |
cmake -S . -B build \ | |
-DNyx_HEATCOOL=yes \ | |
-DNyx_HYDRO=yes \ | |
-DNyx_OMP=no \ | |
-DNyx_GPU_BACKEND=HIP \ | |
-DAMReX_AMD_ARCH=gfx908 \ | |
-DCMAKE_C_COMPILER=$(which clang) \ | |
-DCMAKE_CXX_COMPILER=$(which hipcc) \ | |
-DCMAKE_CXX_COMPILER_ID="Clang" \ | |
-DCMAKE_CXX_COMPILER_VERSION=12.0 \ | |
-DCMAKE_CXX_STANDARD_COMPUTED_DEFAULT="17" \ | |
-DCMAKE_CXX_STANDARD=17 | |
cmake --build build --parallel 2 |