updated readme url instructions #4
This file contains hidden or 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: 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 |