From 48f83b23e623cd2231791b6c5d0dd84e1a5be7ad Mon Sep 17 00:00:00 2001 From: Weiqun Zhang Date: Fri, 20 Sep 2024 14:55:42 -0700 Subject: [PATCH] hip ci --- .../dependencies/dependencies_hip.sh | 34 +++++++++++++++++++ .github/workflows/hip.yml | 28 +++++++++++++++ 2 files changed, 62 insertions(+) create mode 100755 .github/workflows/dependencies/dependencies_hip.sh create mode 100644 .github/workflows/hip.yml diff --git a/.github/workflows/dependencies/dependencies_hip.sh b/.github/workflows/dependencies/dependencies_hip.sh new file mode 100755 index 0000000..d4cf1be --- /dev/null +++ b/.github/workflows/dependencies/dependencies_hip.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +set -eu -o pipefail + +# `man apt.conf`: +# Number of retries to perform. If this is non-zero APT will retry +# failed files the given number of times. +echo 'Acquire::Retries "3";' | sudo tee /etc/apt/apt.conf.d/80-retries + +# Ref.: https://rocm.docs.amd.com/projects/install-on-linux/en/latest/how-to/native-install/ubuntu.html + +# Make the directory if it doesn't exist yet. +# This location is recommended by the distribution maintainers. +sudo mkdir --parents --mode=0755 /etc/apt/keyrings + +# Download the key, convert the signing-key to a full +# keyring required by apt and store in the keyring directory +wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | \ + gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null + +curl -O https://repo.radeon.com/rocm/rocm.gpg.key +sudo apt-key add rocm.gpg.key + +source /etc/os-release # set UBUNTU_CODENAME: focal or jammy or ... + +echo "deb [arch=amd64] https://repo.radeon.com/rocm/apt/${1-latest} ${UBUNTU_CODENAME} main" \ + | sudo tee /etc/apt/sources.list.d/rocm.list +echo 'export PATH=/opt/rocm/llvm/bin:/opt/rocm/bin:/opt/rocm/profiler/bin:/opt/rocm/opencl/bin:$PATH' \ + | sudo tee -a /etc/profile.d/rocm.sh + +sudo apt-get update +sudo apt-get install -y --no-install-recommends \ + build-essential \ + rocm-dev diff --git a/.github/workflows/hip.yml b/.github/workflows/hip.yml new file mode 100644 index 0000000..cdbf02d --- /dev/null +++ b/.github/workflows/hip.yml @@ -0,0 +1,28 @@ +name: cuda + +on: + push: + pull_request: + schedule: + - cron: "22 22 * * 6" + +concurrency: + group: ${{ github.ref }}-${{ github.head_ref }}-hip + cancel-in-progress: true + +jobs: + Tests: + name: HIP Tests + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Dependencies + run: | + .github/workflows/dependencies/dependencies_hip.sh + - name: Tests + run: | + source /etc/profile.d/rocm.sh + hipcc --version + + cd Tests/GPU + make -j4 USE_HIP=TRUE