Skip to content

Commit f904a52

Browse files
committed
cache test
1 parent cde4cb8 commit f904a52

File tree

10 files changed

+1736
-68
lines changed

10 files changed

+1736
-68
lines changed

.github/workflows/pr_push.yml

Lines changed: 0 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -17,88 +17,22 @@ permissions:
1717
packages: read
1818

1919
jobs:
20-
CodeChecks:
21-
uses: ./.github/workflows/reusable_checks.yml
22-
FastBuild:
23-
name: Fast builds
24-
needs: [CodeChecks]
25-
uses: ./.github/workflows/reusable_fast.yml
26-
Build:
27-
name: Basic builds
28-
needs: [FastBuild]
29-
uses: ./.github/workflows/reusable_basic.yml
30-
DevDax:
31-
needs: [FastBuild]
32-
uses: ./.github/workflows/reusable_dax.yml
33-
MultiNuma:
34-
needs: [FastBuild]
35-
uses: ./.github/workflows/reusable_multi_numa.yml
3620
L0:
37-
needs: [Build]
3821
uses: ./.github/workflows/reusable_gpu.yml
3922
with:
4023
provider: "LEVEL_ZERO"
4124
runner: "L0"
4225
shared_lib: "['ON']"
4326
L0-BMG:
44-
needs: [Build]
4527
uses: ./.github/workflows/reusable_gpu.yml
4628
with:
4729
provider: "LEVEL_ZERO"
4830
runner: "L0-BMG"
4931
shared_lib: "['ON']"
5032
os: "['Ubuntu']"
5133
CUDA:
52-
needs: [Build]
5334
uses: ./.github/workflows/reusable_gpu.yml
5435
with:
5536
provider: "CUDA"
5637
runner: "CUDA"
5738
shared_lib: "['ON']"
58-
Sanitizers:
59-
needs: [FastBuild]
60-
uses: ./.github/workflows/reusable_sanitizers.yml
61-
QEMU:
62-
needs: [FastBuild]
63-
uses: ./.github/workflows/reusable_qemu.yml
64-
with:
65-
short_run: true
66-
ProxyLib:
67-
needs: [Build]
68-
uses: ./.github/workflows/reusable_proxy_lib.yml
69-
Valgrind:
70-
needs: [Build]
71-
uses: ./.github/workflows/reusable_valgrind.yml
72-
Coverage:
73-
# total coverage (on upstream only)
74-
if: github.repository == 'oneapi-src/unified-memory-framework'
75-
needs: [Build, DevDax, L0, CUDA, MultiNuma, QEMU, ProxyLib]
76-
uses: ./.github/workflows/reusable_coverage.yml
77-
secrets: inherit
78-
with:
79-
trigger: "${{github.event_name}}"
80-
Coverage_partial:
81-
# partial coverage (on forks)
82-
if: github.repository != 'oneapi-src/unified-memory-framework'
83-
needs: [Build, QEMU, ProxyLib]
84-
uses: ./.github/workflows/reusable_coverage.yml
85-
CodeQL:
86-
needs: [Build]
87-
permissions:
88-
contents: read
89-
security-events: write
90-
uses: ./.github/workflows/reusable_codeql.yml
91-
Trivy:
92-
needs: [Build]
93-
permissions:
94-
contents: read
95-
security-events: write
96-
uses: ./.github/workflows/reusable_trivy.yml
97-
Compatibility:
98-
needs: [Build]
99-
uses: ./.github/workflows/reusable_compatibility.yml
100-
strategy:
101-
matrix:
102-
tag: ["v0.12.0-dev3"]
103-
with:
104-
tag: ${{matrix.tag}}

.github/workflows/reusable_gpu.yml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,25 @@ jobs:
7575
- name: Get information about platform
7676
if: matrix.os == 'Ubuntu'
7777
run: .github/scripts/get_system_info.sh
78+
79+
- name: Cache restore
80+
if: matrix.os == 'Windows'
81+
uses: actions/cache/restore@v4
82+
id: cache-restore
83+
with:
84+
path: ${{env.BUILD_DIR}}/vcpkg
85+
key: reusable-gpu-${{matrix.os}}-${{hashFiles('**/lockfiles')}}
7886

7987
- name: "[Win] Initialize vcpkg"
80-
if: matrix.os == 'Windows'
88+
if: steps.cache-restore.outcome.cache-hit != 'true' && matrix.os == 'Windows'
8189
uses: lukka/run-vcpkg@5e0cab206a5ea620130caf672fce3e4a6b5666a1 # v11.5
8290
with:
8391
vcpkgGitCommitId: ea2a964f9303270322cf3f2d51c265ba146c422d # 1.04.2025
8492
vcpkgDirectory: ${{env.BUILD_DIR}}/vcpkg
8593
vcpkgJsonGlob: '**/vcpkg.json'
8694

8795
- name: "[Win] Install dependencies"
88-
if: matrix.os == 'Windows'
96+
if: steps.cache-restore.outcome.cache-hit != 'true' && matrix.os == 'Windows'
8997
run: vcpkg install --triplet x64-windows
9098

9199
# note: disable all providers except the one being tested
@@ -140,6 +148,13 @@ jobs:
140148
mkdir -p ${{env.COVERAGE_DIR}}
141149
mv ./$COVERAGE_FILE_NAME ${{env.COVERAGE_DIR}}
142150
151+
- name: Cache save
152+
if: steps.cache-restore.outcome.cache-hit != 'true' && matrix.os == 'Windows'
153+
uses: actions/cache/save@v4
154+
with:
155+
path: ${{env.BUILD_DIR}}/vcpkg
156+
key: reusable-gpu-${{matrix.os}}-${{hashFiles('**/lockfiles')}}
157+
143158
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
144159
if: ${{ matrix.build_type == 'Debug' && matrix.os == 'Ubuntu' }}
145160
with:

FlameGraph

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 41fee1f99f9276008b7cd112fca19dc3ea84ac32

a.txt

Lines changed: 1620 additions & 0 deletions
Large diffs are not rendered by default.

b.txt

Whitespace-only changes.

b.txt.gpg

473 Bytes
Binary file not shown.

bench.sh

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
2+
#!/bin/bash
3+
#
4+
# Copyright (C) 2025 Intel Corporation
5+
#
6+
# Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT.
7+
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8+
#
9+
10+
# Check if at least one argument is provided
11+
if [ "$#" -lt 1 ]; then
12+
echo "Usage: $0 <application> [args...]"
13+
exit 1
14+
fi
15+
16+
# Variables
17+
APP="$1" # The application to run
18+
shift # Remove the application from the arguments list
19+
ARGS="$@" # Remaining arguments passed to the application
20+
USER="rrudnick" # The user to own the generated perf data
21+
FLAMEGRAPH_DIR="./FlameGraph" # Path to the FlameGraph repository
22+
23+
# Check if FlameGraph repository exists
24+
if [ ! -d "$FLAMEGRAPH_DIR" ]; then
25+
echo "Error: FlameGraph directory not found at $FLAMEGRAPH_DIR."
26+
echo "Clone it using: git clone https://github.com/brendangregg/FlameGraph.git"
27+
exit 1
28+
fi
29+
30+
# Run application under perf
31+
echo "Recording performance data..."
32+
sudo perf record -F 99 -g --call-graph dwarf -- "$APP" $ARGS
33+
34+
# Change ownership of the generated perf data
35+
echo "Changing ownership of perf data..."
36+
sudo chown "$USER" perf.data
37+
38+
# Process perf.data into a readable format
39+
echo "Processing perf data..."
40+
perf script > out.perf
41+
42+
# Generate folded stacks
43+
echo "Generating folded stacks..."
44+
"$FLAMEGRAPH_DIR/stackcollapse-perf.pl" out.perf > out.folded
45+
46+
# Generate the flame graph
47+
echo "Generating flame graph..."
48+
"$FLAMEGRAPH_DIR/flamegraph.pl" out.folded > flamegraph.svg
49+
50+
# Open the flame graph in Firefox
51+
echo "Opening flame graph in Firefox..."
52+
firefox flamegraph.svg &
53+
54+
echo "Done! The flame graph is saved as flamegraph.svg."
55+
56+

bratpiorka.gpg

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
-----BEGIN PGP PUBLIC KEY BLOCK-----
2+
3+
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
39+
KgbZkabDlXfNKjMgkswePMTgBEEp
40+
=ZM5G
41+
-----END PGP PUBLIC KEY BLOCK-----

hwloc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Subproject commit 8ba08b0a8af47c176859288e716928f67f03d0c6

umf_install_perf_fix.zip

2.65 MB
Binary file not shown.

0 commit comments

Comments
 (0)