Skip to content

Improve performance of instruction_mode_to_global_mode pass #461

Improve performance of instruction_mode_to_global_mode pass

Improve performance of instruction_mode_to_global_mode pass #461

Workflow file for this run

name: ZLUDA
on:
pull_request:
branches: [ master ]
env:
CARGO_TERM_COLOR: always
CARGO_PROFILE: release
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
ROCM_VERSION: "6.3.4"
AMDGPU_VERSION: "6.4.4"
jobs:
check_whitespace:
name: Check Whitespace
runs-on: ubuntu-22.04
steps:
- run: |
sudo apt install fd-find
fdfind \
--exclude '*.bc' \
--exclude '*.exe' \
--exclude '*.lib' \
--exclude ext/detours \
--strip-cwd-prefix \
--type file \
--exec bash -c '
diff \
--unified \
--label "a/$0" \
--label "b/$0" \
<(cat "$0") \
<(sed --regexp-extended "s/\s+$//; \$a\\" "$0")
'
formatting:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
components: rustfmt
- name: Check Rust formatting
uses: actions-rust-lang/rustfmt@v1
build_linux:
name: Build (Linux)
runs-on: ubuntu-22.04
steps:
- uses: jlumbroso/free-disk-space@v1.3.1
- uses: actions/checkout@v4
with:
submodules: true
- name: Install ROCm
run: sudo bash .github/workflows/rocm_setup_build.sh ${{ env.ROCM_VERSION }}
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Build
# https://github.com/actions/upload-artifact/issues/39
run: |
cargo xtask zip --profile ${{ env.CARGO_PROFILE }}
mkdir target/${{ env.CARGO_PROFILE }}/zluda
tar -xzf target/${{ env.CARGO_PROFILE }}/zluda.tar.gz -C target/${{ env.CARGO_PROFILE }}/zluda
- name: Set revision hash
run: echo "SHORT_SHA=$(git rev-parse --short HEAD)" >> $GITHUB_ENV
- name: Upload
uses: actions/upload-artifact@v4
with:
name: zluda-linux-${{ env.SHORT_SHA }}
path: target/${{ env.CARGO_PROFILE }}/zluda
build_windows:
name: Build (Windows)
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Build
run: |
cargo xtask zip --profile ${{ env.CARGO_PROFILE }}
Expand-Archive -Path target/${{ env.CARGO_PROFILE }}/zluda.zip -DestinationPath target/${{ env.CARGO_PROFILE }}/zluda
- name: Set revision hash
run: echo "SHORT_SHA=$("${{ github.sha }}".SubString(0, 7))" >> $env:GITHUB_ENV
- name: Upload
uses: actions/upload-artifact@v4
with:
name: zluda-windows-${{ env.SHORT_SHA }}
path: target/${{ env.CARGO_PROFILE }}/zluda
build_tests:
name: Build AMD GPU unit tests
runs-on: ubuntu-22.04
outputs:
test_package: ${{ steps.upload_artifacts.outputs.artifact-id }}
steps:
- uses: jlumbroso/free-disk-space@v1.3.1
- uses: actions/checkout@v4
with:
submodules: true
- name: Install ROCm
run: sudo bash .github/workflows/rocm_setup_build.sh ${{ env.ROCM_VERSION }}
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.9
- uses: taiki-e/install-action@v2
with:
tool: cargo-export
- name: Build
run: |
cargo export target/tests -- test --features ci_build --workspace --exclude cuda_macros --exclude ptx_parser_macros --exclude rocblas-sys
mkdir -p target/amdgpu
bash .github/workflows/move_tests.sh target/tests amdgpu
strip target/amdgpu/*
- name: Upload
id: upload_artifacts
uses: actions/upload-artifact@v4
with:
name: tests
path: target/amdgpu
retention-days: 7
run_tests:
name: Run AMD GPU unit tests
runs-on: gpu_small
needs: [build_tests]
steps:
- uses: actions/checkout@v4
with:
submodules: false
sparse-checkout: .github
- name: Install ROCm
run: sudo bash .github/workflows/rocm_setup_run.sh ${{ env.ROCM_VERSION }} ${{ env.AMDGPU_VERSION }}
- uses: actions/download-artifact@v4
with:
artifact-ids: ${{ needs.build_tests.outputs.test_package }}
path: target
- name: Run tests
run: |
chmod +x target/tests/*
error_occurred=0
for exe in target/tests/*; do
./"$exe" _amdgpu || { error_occurred=1; true; }
done
exit $error_occurred