Skip to content

updated readme url instructions #4

updated readme url instructions

updated readme url instructions #4

name: Build ALL CUDA/OMP Codes -- cuda-12.6 -- clang-18 -- cmake 3.28
on:
workflow_dispatch:
push:
branches: [kernel-survey, camera-ready]
jobs:
build:
runs-on: ubuntu-latest
container:
image: nvidia/cuda:12.6.0-devel-ubuntu24.04
steps:
- name: Free up Disk Space
shell: bash
run: |
rm -rf /__t/CodeQL
rm -rf /__t/Python
rm -rf /usr/share/dotnet
rm -rf /opt/ghc
rm -rf "$AGENT_TOOLSDIRECTORY"
- name: Update Packages and Install wget
shell: bash
run: |
apt update
apt upgrade -y
apt install -y wget
- name: Install Clang++ and newest CMake
run: |
DEBIAN_FRONTEND=noninteractive apt install -y \
clang-18 make git gfortran libomp-18-dev libboost-all-dev clang-tools-18
# Install the latest CMake version
wget https://github.com/Kitware/CMake/releases/download/v3.28.0/cmake-3.28.0-linux-x86_64.sh
chmod +x cmake-3.28.0-linux-x86_64.sh
./cmake-3.28.0-linux-x86_64.sh --skip-license --prefix=/usr/local
- name: Install Miniconda
shell: bash
run: |
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash ./Miniconda3-latest-Linux-x86_64.sh -b -p $GITHUB_WORKSPACE/anaconda3
rm ./Miniconda3-latest-Linux-x86_64.sh
source $GITHUB_WORKSPACE/anaconda3/bin/activate
conda init --all
- name: Checkout Code
uses: actions/checkout@v4
- name: Run CMake Setup/Config Script (CUDA codes only)
shell: bash
run: |
mkdir -p ./build && cd ./build
cmake -DCMAKE_C_COMPILER=clang-18 \
-DCMAKE_CXX_COMPILER=clang++-18 \
-DCMAKE_CUDA_HOST_COMPILER=clang++-18 \
-DCMAKE_CUDA_COMPILER=clang++-18 \
-DCMAKE_Fortran_COMPILER=gfortran \
-DBUILD_ALL=ON \
-DBUILD_OMP=OFF \
-DBUILD_CUDA=ON \
-DCUDAToolkit_ROOT=/usr/local/cuda-12.6/ \
-DCMAKE_C_FLAGS="-O3 -v" \
-DCMAKE_CXX_FLAGS="-O3 -v" \
-DCMAKE_CUDA_FLAGS="-O3 -v" \
-DCMAKE_BUILD_TYPE=Release \
-DCUSTOM_OMP_FLAGS="-v --offload-arch=sm_86" \
-DCUSTOM_CUDA_FLAGS="-v" \
-DCUSTOM_OMP_LINK_FLAGS="-v" \
-DCUSTOM_CUDA_LINK_FLAGS="-v" \
-DCUDA_ARCH="86" \
-S../ -B./
- name: Build All CUDA Executables
shell: bash
run: |
pwd && cd ./build
#make -j4 all
make -j1 VERBOSE=1 all
- name: Check Build Executables
run: |
if [ ! -d ./build ]; then
echo "Build directory not found!"
exit 1
fi
found_exec=0
for file in ./build/*; do
# check if an executable and not a directory
if [ -x "$file" ] && [ ! -d "$file" ]; then
echo "Found executable: $file"
found_exec=1
fi
done
if [ $found_exec -eq 0 ]; then
echo "No executables found in ./build"
exit 1
fi