Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update azure + add GItHub Actions #1705

Merged
merged 16 commits into from
Aug 16, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
name: Bug report
about: Create a report to help us improve

---

**Describe the bug**

A clear and concise description of what the bug is:

**To Reproduce**

Steps to reproduce the behavior:

**Expected behavior**

A clear and concise description of what you expected to happen:

**Compilers & Libraries (please complete the following information):**
- Compiler & version: [e.g. GCC 4.9.3]:
- CUDA version (if applicable):

**Additional context**

Add any other context about the problem here.
22 changes: 22 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: Feature request
about: Suggest an idea for this project

---

**Is your feature request related to a problem? Please describe.**

A clear and concise description of what the problem is.

**Describe the solution you'd like**

A clear and concise description of what you want to happen.

**Describe alternatives you've considered**

A clear and concise description of any alternative solutions or features you've considered.

**Additional context**

Add any other context or information about the feature request here.

74 changes: 74 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
on: push
name: Build
jobs:
build_docker:
strategy:
matrix:
target: [gcc12, gcc13, clang13, clang15, rocm5.6, rocm5.6_desul, intel2024, intel2024_debug, intel2024_sycl]
runs-on: ubuntu-latest
steps:
- run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /usr/local/lib/android
sudo rm -rf /opt/ghc
sudo rm -rf /opt/hostedtoolcache/CodeQL
sudo docker image prune --all --force
- uses: actions/checkout@v2
with:
submodules: recursive
- uses: docker/setup-buildx-action@v3
- uses: docker/build-push-action@v6
with:
target: ${{ matrix.target }}
build_mac:
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
- uses: threeal/cmake-action@v1.3.0
with:
build-dir: build
options:
CMAKE_CXX_STANDARD=14
ENABLE_OPENMP=Off
CMAKE_BUILD_TYPE=Release
run-build: true
build-args: '--parallel 16'
- uses: threeal/ctest-action@v1.1.0
build_windows:
strategy:
matrix:
shared:
- args:
BUILD_SHARED_LIBS=On
CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=On
- args: BUILD_SHARED_LIBS=Off

runs-on: windows-latest
steps:
- uses: actions/checkout@v2
with:
submodules: recursive
## ====================================
## Config and build action
- uses: threeal/cmake-action@v1.3.0
with:
build-dir: build
options:
ENABLE_WARNINGS_AS_ERRORS=Off
BLT_CXX_STD=""
CMAKE_CXX_STANDARD=17
CMAKE_BUILD_TYPE=Release
${{ matrix.shared.args }}
run-build: true
build-args: '--parallel 16'
## ====================================
## Print the contents of the test directory in the build space (debugging)
## - run: |
## dir -r D:\a\RAJA\RAJA\build\test
## ====================================
## Run tests action
- uses: threeal/ctest-action@v1.1.0
with:
build-config: Debug
197 changes: 118 additions & 79 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,114 +5,153 @@
# SPDX-License-Identifier: (BSD-3-Clause)
###############################################################################

FROM ghcr.io/rse-ops/gcc-ubuntu-20.04:gcc-7.3.0 AS gcc7.3.0
##
## Note that we build with 'make -j 16' on GitHub Actions and
## with 'make -j 6' on Azure. This is reflected in the 'make' commands below.
## This seems to work best for throughput.
##

FROM ghcr.io/llnl/radiuss:gcc-11-ubuntu-22.04 AS gcc11
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=g++ -DRAJA_ENABLE_WARNINGS=On -DRAJA_DEPRECATED_TESTS=On -DENABLE_OPENMP=On .. && \
RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On .. && \
make -j 6 &&\
ctest -T test --output-on-failure && \
cd .. && rm -rf build
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/gcc-ubuntu-20.04:gcc-8.1.0 AS gcc8.1.0
FROM ghcr.io/llnl/radiuss:gcc-12-ubuntu-22.04 AS gcc12
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=g++ -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_COVERAGE=On -DENABLE_OPENMP=On .. && \
make -j 6 &&\
ctest -T test --output-on-failure && \
cd .. && rm -rf build
RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On .. && \
make -j 16 &&\
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/gcc-ubuntu-20.04:gcc-9.4.0 AS gcc9.4.0
FROM ghcr.io/llnl/radiuss:gcc-12-ubuntu-22.04 AS gcc12_debug
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=g++ -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_RUNTIME_PLUGINS=On -DENABLE_OPENMP=On .. && \
RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Debug -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On .. && \
make -j 6 &&\
ctest -T test --output-on-failure && \
cd .. && rm -rf build
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/gcc-ubuntu-20.04:gcc-11.2.0 AS gcc11.2.0
FROM ghcr.io/llnl/radiuss:gcc-12-ubuntu-22.04 AS gcc12_desul
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_CXX_COMPILER=g++ -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_BOUNDS_CHECK=ON -DENABLE_OPENMP=On .. && \
RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On -DRAJA_ENABLE_DESUL_ATOMICS=On .. && \
make -j 6 &&\
ctest -T test --output-on-failure && \
cd .. && rm -rf build
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/clang-ubuntu-20.04:llvm-11.0.0 AS clang11.0.0
FROM ghcr.io/llnl/radiuss:gcc-13-ubuntu-22.04 AS gcc13
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN . /opt/spack/share/spack/setup-env.sh && export LD_LIBRARY_PATH=/opt/view/lib:$LD_LIBRARY_PATH && \
cmake -DCMAKE_CXX_COMPILER=clang++ -DENABLE_OPENMP=On .. && \
make -j 6 &&\
ctest -T test --output-on-failure && \
cd .. && rm -rf build
RUN cmake -DCMAKE_CXX_COMPILER=g++ -DCMAKE_BUILD_TYPE=Release -DRAJA_ENABLE_WARNINGS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=On -DENABLE_OPENMP=On .. && \
make -j 16 &&\
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/clang-ubuntu-20.04:llvm-11.0.0 AS clang11.0.0-debug
FROM ghcr.io/llnl/radiuss:clang-13-ubuntu-22.04 AS clang13
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN . /opt/spack/share/spack/setup-env.sh && export LD_LIBRARY_PATH=/opt/view/lib:$LD_LIBRARY_PATH && \
cmake -DCMAKE_CXX_COMPILER=clang++ -DENABLE_OPENMP=On -DCMAKE_BUILD_TYPE=Debug .. && \
RUN cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=On .. && \
make -j 16 &&\
ctest -T test --output-on-failure

FROM ghcr.io/llnl/radiuss:clang-14-ubuntu-22.04 AS clang14_debug
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Debug -DENABLE_OPENMP=On .. && \
make -j 6 &&\
ctest -T test --output-on-failure && \
cd .. && rm -rf build
ctest -T test --output-on-failure

FROM ghcr.io/llnl/radiuss:clang-15-ubuntu-22.04 AS clang15
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=On .. && \
make -j 16 &&\
ctest -T test --output-on-failure

FROM ghcr.io/rse-ops/clang-ubuntu-22.04:llvm-13.0.0 AS clang13.0.0
FROM ghcr.io/llnl/radiuss:clang-15-ubuntu-22.04 AS clang15_desul
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN . /opt/spack/share/spack/setup-env.sh && export LD_LIBRARY_PATH=/opt/view/lib:$LD_LIBRARY_PATH && \
cmake -DCMAKE_CXX_COMPILER=clang++ -DENABLE_OPENMP=On -DCMAKE_BUILD_TYPE=Release .. && \
RUN cmake -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=On -DRAJA_ENABLE_DESUL_ATOMICS=On .. && \
make -j 6 &&\
ctest -T test --output-on-failure && \
cd .. && rm -rf build

##FROM ghcr.io/rse-ops/cuda:cuda-10.1.243-ubuntu-18.04 AS nvcc10.1.243
##ENV GTEST_COLOR=1
##COPY . /home/raja/workspace
##WORKDIR /home/raja/workspace/build
##RUN . /opt/spack/share/spack/setup-env.sh && spack load cuda && \
## cmake -DCMAKE_CXX_COMPILER=g++ -DENABLE_CUDA=On -DCMAKE_CUDA_STANDARD=14 -DCMAKE_CUDA_ARCHITECTURES=70 -DENABLE_OPENMP=On .. && \
## make -j 4 && \
## cd .. && rm -rf build

##FROM ghcr.io/rse-ops/cuda-ubuntu-20.04:cuda-11.1.1 AS nvcc11.1.1
##ENV GTEST_COLOR=1
##COPY . /home/raja/workspace
##WORKDIR /home/raja/workspace/build
##RUN . /opt/spack/share/spack/setup-env.sh && spack load cuda && \
## cmake -DCMAKE_CXX_COMPILER=g++ -DENABLE_CUDA=On -DCMAKE_CUDA_STANDARD=14 -DCMAKE_CUDA_ARCHITECTURES=70 -DENABLE_OPENMP=On .. && \
## make -j 4 && \
## cd .. && rm -rf build

##FROM ghcr.io/rse-ops/cuda-ubuntu-20.04:cuda-11.1.1 AS nvcc11.1.-debug
##ENV GTEST_COLOR=1
##COPY . /home/raja/workspace
##WORKDIR /home/raja/workspace/build
##RUN . /opt/spack/share/spack/setup-env.sh && spack load cuda && \
## cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=g++ -DENABLE_CUDA=On -DCMAKE_CUDA_STANDARD=14 -DCMAKE_CUDA_ARCHITECTURES=70 -DENABLE_OPENMP=On .. && \
## make -j 4 && \
## cd .. && rm -rf build

##FROM ghcr.io/rse-ops/hip-ubuntu-20.04:hip-5.1.3 AS hip5.1.3
##ENV GTEST_COLOR=1
##ENV HCC_AMDGPU_TARGET=gfx900
##COPY . /home/raja/workspace
##WORKDIR /home/raja/workspace/build
##RUN . /opt/spack/share/spack/setup-env.sh && spack load hip llvm-amdgpu && \
## cmake -DCMAKE_CXX_COMPILER=clang++ -DHIP_PATH=/opt -DENABLE_HIP=On -DENABLE_CUDA=Off -DRAJA_ENABLE_WARNINGS_AS_ERRORS=Off .. && \
## make -j 6 && \
## cd .. && rm -rf build

FROM ghcr.io/rse-ops/intel-ubuntu-22.04:intel-2023.2.1 AS sycl
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN /bin/bash -c "source /opt/view/setvars.sh && \
cmake -DCMAKE_CXX_COMPILER=dpcpp -DRAJA_ENABLE_SYCL=On -DENABLE_OPENMP=Off -DENABLE_ALL_WARNINGS=Off -DBLT_CXX_STD=c++17 .. && \
make -j 6" && \
cd .. && rm -rf build
ctest -T test --output-on-failure

## Test run failure in RAJA launch tests with new reducer interface.
## Need to figure out best way to handle that.
FROM ghcr.io/llnl/radiuss:ubuntu-20.04-intel-2024.0 AS intel2024
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN /bin/bash -c "source /opt/intel/oneapi/setvars.sh 2>&1 > /dev/null && \
cmake -DCMAKE_CXX_COMPILER=icpx -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=On .. && \
make -j 16"
## make -j 16 &&\
## ctest -T test --output-on-failure"

## Test run failure in RAJA launch tests with new reducer interface.
## Need to figure out best way to handle that.
FROM ghcr.io/llnl/radiuss:ubuntu-20.04-intel-2024.0 AS intel2024_debug
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN /bin/bash -c "source /opt/intel/oneapi/setvars.sh 2>&1 > /dev/null && \
cmake -DCMAKE_CXX_COMPILER=icpx -DCMAKE_BUILD_TYPE=Debug -DENABLE_OPENMP=On .. && \
make -j 16"
## make -j 16 &&\
## ctest -T test --output-on-failure"

##
## Need to find a viable cuda image to test...
##

# TODO: We should switch to ROCm 6 -- where to get an image??
FROM ghcr.io/llnl/radiuss:ubuntu-20.04-hip-5.6.1 AS rocm5.6
ENV GTEST_COLOR=1
ENV HCC_AMDGPU_TARGET=gfx900
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=/opt/rocm-5.6.1/bin/amdclang++ -DCMAKE_BUILD_TYPE=Release -DENABLE_HIP=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=Off .. && \
make -j 16

# TODO: We should switch to ROCm 6 -- where to get an image??
FROM ghcr.io/llnl/radiuss:ubuntu-20.04-hip-5.6.1 AS rocm5.6_desul
ENV GTEST_COLOR=1
ENV HCC_AMDGPU_TARGET=gfx900
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=/opt/rocm-5.6.1/bin/amdclang++ -DCMAKE_BUILD_TYPE=Release -DENABLE_HIP=On -DRAJA_ENABLE_DESUL_ATOMICS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=Off .. && \
make -j 16

## ROCm 6 image is broken
FROM ghcr.io/llnl/radiuss:hip-6.0.2-ubuntu-20.04 AS rocm6.0
ENV GTEST_COLOR=1
ENV HCC_AMDGPU_TARGET=gfx900
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=/opt/rocm-6.0.2/bin/amdclang++ -DCMAKE_BUILD_TYPE=Release -DENABLE_HIP=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=Off .. && \
make -j 16

## ROCm 6 image is broken
FROM ghcr.io/llnl/radiuss:hip-6.0.2-ubuntu-20.04 AS rocm6.0_desul
ENV GTEST_COLOR=1
ENV HCC_AMDGPU_TARGET=gfx900
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN cmake -DCMAKE_CXX_COMPILER=/opt/rocm-6.0.2/bin/amdclang++ -DCMAKE_BUILD_TYPE=Release -DENABLE_HIP=On -DRAJA_ENABLE_DESUL_ATOMICS=On -DRAJA_ENABLE_WARNINGS_AS_ERRORS=Off .. && \
make -j 16

FROM ghcr.io/llnl/radiuss:intel-2024.0-ubuntu-20.04 AS intel2024_sycl
ENV GTEST_COLOR=1
COPY . /home/raja/workspace
WORKDIR /home/raja/workspace/build
RUN /bin/bash -c "source /opt/intel/oneapi/setvars.sh 2>&1 > /dev/null && \
cmake -DCMAKE_CXX_COMPILER=dpcpp -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=Off -DRAJA_ENABLE_SYCL=On -DBLT_CXX_STD=c++17 -DRAJA_ENABLE_DESUL_ATOMICS=On .. && \
make -j 16"

34 changes: 10 additions & 24 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,30 +34,16 @@ jobs:
timeoutInMinutes: 360
strategy:
matrix:
gcc7.3.0:
docker_target: gcc7.3.0
gcc8.1.0:
docker_target: gcc8.1.0
gcc9.4.0:
docker_target: gcc9.4.0
gcc11.2.0:
docker_target: gcc11.2.0
clang11.0.0:
docker_target: clang11.0.0
clang11.0.0-debug:
docker_target: clang11.0.0-debug
clang13.0.0:
docker_target: clang13.0.0
## nvcc10.1.243:
## docker_target: nvcc10.1.243
## nvcc11.1.1:
## docker_target: nvcc11.1.1
## nvcc11.1.1-debug:
## docker_target: nvcc11.1.1-debug
## hip5.1.3:
## docker_target: hip5.1.3
sycl:
docker_target: sycl
gcc11:
docker_target: gcc11
gcc12_debug:
docker_target: gcc12_debug
gcc12_desul:
docker_target: gcc12_desul
clang14_debug:
docker_target: clang14_debug
clang15_desul:
docker_target: clang15_desul
pool:
vmImage: 'ubuntu-latest'
variables:
Expand Down
Loading