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

Add sycl benchmark to sycl compatibility workflow #1226

Draft
wants to merge 4 commits into
base: main
Choose a base branch
from
Draft
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
26 changes: 26 additions & 0 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ on:
workflow_dispatch:
schedule:
- cron: '0 4 * * *'
push:
pull_request:

permissions:
contents: read
Expand All @@ -15,6 +17,7 @@ env:

jobs:
fuzz-test:
if: false
name: Fuzz test
strategy:
fail-fast: false
Expand Down Expand Up @@ -54,6 +57,7 @@ jobs:
run: ctest -C ${{matrix.build_type}} --output-on-failure --verbose -L "fuzz-long"

valgrind:
if: false
name: Valgrind
strategy:
fail-fast: false
Expand Down Expand Up @@ -92,6 +96,7 @@ jobs:
run: ${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{github.workspace}}/build ${{matrix.tool}}

Windows-generators:
if: false
name: Windows ${{matrix.generator}} generator
strategy:
matrix:
Expand Down Expand Up @@ -164,6 +169,7 @@ jobs:
run: ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test

icx:
if: false
name: ICX
env:
VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/hwloc_x64-windows;${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows"
Expand Down Expand Up @@ -251,6 +257,7 @@ jobs:
# Scenarios where UMF_LINK_HWLOC_STATICALLY is set to OFF and hwloc is not installed in the system
# The hwloc library is fetched implicitly
hwloc-fallback:
if: false
name: "Fallback to static hwloc build"
strategy:
matrix:
Expand Down Expand Up @@ -297,24 +304,28 @@ jobs:
run: ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test

L0:
if: false
uses: ./.github/workflows/reusable_gpu.yml
with:
provider: "LEVEL_ZERO"
runner: "L0"
L0-BMG:
if: false
uses: ./.github/workflows/reusable_gpu.yml
with:
provider: "LEVEL_ZERO"
runner: "L0-BMG"
os: "['Ubuntu']"
CUDA:
if: false
uses: ./.github/workflows/reusable_gpu.yml
with:
provider: "CUDA"
runner: "CUDA"

# Full execution of QEMU tests
QEMU:
if: false
uses: ./.github/workflows/reusable_qemu.yml
with:
short_run: false
Expand All @@ -323,6 +334,7 @@ jobs:
os: "['ubuntu-22.04', 'ubuntu-24.04', 'ubuntu-24.10']"

Benchmarks:
if: false
uses: ./.github/workflows/reusable_benchmarks.yml
permissions:
contents: write
Expand All @@ -331,5 +343,19 @@ jobs:
pr_no: '0'
bench_script_params: '--save Baseline_PVC'

Benchmarks-sycl:
uses: ./.github/workflows/reusable_benchmarks.yml
permissions:
contents: write
pull-requests: write
with:
pr_no: '0'
bench_script_params: '--sycl sycl
--adapter level_zero
--exit-on-failure
--preset Minimal'
runner: 'L0_PERF_GPU'

SYCL:
if: false
uses: ./.github/workflows/reusable_sycl.yml
2 changes: 2 additions & 0 deletions .github/workflows/pr_push.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@ permissions:

jobs:
CodeChecks:
if: false
uses: ./.github/workflows/reusable_checks.yml
DocsBuild:
if: false
uses: ./.github/workflows/reusable_docs_build.yml
FastBuild:
name: Fast builds
Expand Down
36 changes: 32 additions & 4 deletions .github/workflows/reusable_benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ jobs:

- name: Install benchmarking scripts deps
run: |
python -m venv .venv
python3 -m venv .venv
source .venv/bin/activate
pip install -r ${{github.workspace}}/sc/devops/scripts/benchmarks/requirements.txt

Expand All @@ -147,16 +147,44 @@ jobs:
echo "Selected core: $CORES"
echo "CORES=$CORES" >> $GITHUB_ENV

ZE_AFFINITY_MASK=1
ZE_AFFINITY_MASK=0
echo "ZE_AFFINITY_MASK=$ZE_AFFINITY_MASK" >> $GITHUB_ENV

- name: Run UMF benchmarks
- name: Download latest sycl
run: |
llvm_tag=$(curl -s https://api.github.com/repos/intel/llvm/releases | awk -F'"' '/"tag_name": "nightly/ {print $4; exit}')
download_url="https://github.com/intel/llvm/releases/download/${llvm_tag}/sycl_linux.tar.gz"
echo "llvm tag: $llvm_tag"
wget --no-verbose $download_url -O sycl_linux.tar.gz

- name: Unpack sycl
run: |
mkdir -p sycl
tar -xzf sycl_linux.tar.gz -C sycl --strip-components=1
rm sycl_linux.tar.gz
echo "SYCL_DIR=${{ github.workspace }}/sycl" >> $GITHUB_ENV

- name: Remove UMF libraries from sycl
if: false
run: rm -f ${{ env.SYCL_DIR }}/lib/libumf*

- name: Run sycl-ls
env:
LD_LIBRARY_PATH: ${{ env.SYCL_DIR }}/lib
SYCL_UR_TRACE: 1
SYCL_UR_USE_LEVEL_ZERO_V2: 0
run: ${{ env.SYCL_DIR }}/bin/sycl-ls

- name: Run benchmarks
id: benchmarks
env:
LD_LIBRARY_PATH: ${{ env.SYCL_DIR }}/lib
CPATH: ${{ env.SYCL_DIR }}/include
run: >
source .venv/bin/activate &&
taskset -c ${{ env.CORES }} ./sc/devops/scripts/benchmarks/main.py
~/bench_workdir_umf
--umf ${{env.BUILD_DIR}}
--umf ${{ env.BUILD_DIR }}
--timeout 3000
--output-html remote
--results-dir ${{ github.workspace }}/results-repo
Expand Down
Loading