Skip to content
Closed

v12 #1200

Show file tree
Hide file tree
Changes from 78 commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
90a2a91
Add lld linker CI job
PatKamin Mar 5, 2025
45358d8
check for alloc fails in disjoint pool init
bratpiorka Mar 6, 2025
385fa4c
[CI] Add Compat test on GPU runners
lukaszstolarczuk Mar 6, 2025
4760e50
[CI] Fix failing address sanitizer
KFilipek Mar 5, 2025
cda4356
Remove unnecessary headers from base alloc
KFilipek Mar 6, 2025
1ef1e48
[CI][Compat] Remove steps printing version
lukaszstolarczuk Mar 6, 2025
f673748
[CI][Compat] Run tests verbosely - warnings will be always visible
lukaszstolarczuk Mar 6, 2025
f2a7e21
[CI][Compat] Enable examples as well
lukaszstolarczuk Mar 6, 2025
d2ddb6e
Merge pull request #1165 from KFilipek/asan_test
bratpiorka Mar 6, 2025
cba0326
Add missing unlock in an error handling path of umf_ba_alloc()
ldorau Mar 7, 2025
3fac5f8
Merge pull request #1164 from PatKamin/llvm-linker
lukaszstolarczuk Mar 7, 2025
e12e9bf
Merge pull request #1167 from ldorau/Add_missing_unlock_in_an_error_h…
bratpiorka Mar 7, 2025
877dd1d
Enable MT bench for disjoint_pool in fixed provider
lukaszstolarczuk Mar 7, 2025
f5f3ce7
Merge pull request #1163 from lukaszstolarczuk/compat-gpu-ci
KFilipek Mar 7, 2025
2ed7caf
Merge pull request #1168 from lukaszstolarczuk/mt-bench-fix
bratpiorka Mar 7, 2025
f9719a6
cleanup bit scan utils
bratpiorka Mar 5, 2025
d693070
replace chunks bool array with bit fields
bratpiorka Mar 5, 2025
92da225
Merge pull request #1147 from bratpiorka/rrudnick_dp_bit_chunk
bratpiorka Mar 7, 2025
23cbc0c
Merge pull request #1162 from bratpiorka/rrudnick_fix_dp_coverity
ldorau Mar 7, 2025
0d5a89c
Run Compatibility GPU CI jobs only on upstream
ldorau Mar 10, 2025
adce85f
Use atomics in critnib find_*
bratpiorka Mar 3, 2025
6483c54
Check valgrind log files
ldorau Mar 10, 2025
01881bd
Merge pull request #1175 from ldorau/Use_atomics_in_critnib_find_
ldorau Mar 10, 2025
5c659c8
Merge pull request #1174 from ldorau/Run_Compatibility_GPU_CI_jobs_on…
KFilipek Mar 10, 2025
692d67a
Merge pull request #1173 from ldorau/Check_valgrind_log_files
KFilipek Mar 10, 2025
96d2ef3
add missing nullcheck in critnib
lplewa Mar 10, 2025
b1fc46a
Merge pull request #1176 from lplewa/critnib_fix
lukaszstolarczuk Mar 10, 2025
8cc1d42
Use atomics in find_successor() like in find_predecessor()
ldorau Mar 10, 2025
965fc67
Add utils_atomic_store_release_u64() to utils
ldorau Mar 4, 2025
d437d6c
Use eight level of critnibs in the tracker
ldorau Mar 6, 2025
775ac12
Add tests for pool from pointer to Fixed provider tests
ldorau Feb 25, 2025
cd61c1e
Add tests for pool from pointer to poolFixtures.hpp
ldorau Feb 25, 2025
bb4a5e4
Add tests for tracking provider
ldorau Feb 28, 2025
c1b9f1b
Add provider_tracking_fixture_tests
ldorau Mar 3, 2025
53a318f
Merge pull request #1143 from ldorau/Use_eight_level_of_critnibs_in_t…
bratpiorka Mar 11, 2025
58007d6
Implement size limit for the cache of opened IPC handles
vinser52 Dec 17, 2024
02e38d7
Add IPC test with UMF_MAX_OPENED_IPC_HANDLES set
vinser52 Feb 17, 2025
b40d719
Add more IPC tests
vinser52 Feb 21, 2025
c96de61
Suppress drd and helgrind error in the umf_test-ipc_max_opened_limit
vinser52 Feb 17, 2025
72f0255
Update docs about IPC caching
vinser52 Feb 21, 2025
5f4336d
Skip umfIpcTest.GetPoolByOpenedHandle test in compatibility testing
vinser52 Feb 21, 2025
785c710
Merge pull request #998 from vinser52/svinogra_ipc_cache
bratpiorka Mar 11, 2025
f0fa06f
[disjoint] Change pool name setting and cleanup
KFilipek Mar 7, 2025
8cf9196
[CI] Use venv for pip installation in bench
lukaszstolarczuk Mar 11, 2025
902877b
Merge pull request #1172 from KFilipek/clear_disjoint
lplewa Mar 11, 2025
7727ad1
Merge pull request #1178 from lukaszstolarczuk/venv-bench-ci
lplewa Mar 11, 2025
eec4f13
fix for potential out-of-bounds read in tracker
bratpiorka Mar 12, 2025
5fefad3
Merge pull request #1181 from bratpiorka/rrudnick_dp_coverity_fix
bratpiorka Mar 12, 2025
f22aff2
Log pool pointer in umfFree()
ldorau Mar 12, 2025
ce6c5da
[CI] Enable SLES in multi numa workflow
lukaszstolarczuk Feb 26, 2025
a234364
[CI] Update get_system_info.sh zypper part
lukaszstolarczuk Mar 12, 2025
28c1c97
Merge pull request #1182 from ldorau/Log_pool_pointer_in_umfFree
bratpiorka Mar 12, 2025
4cba219
Handle CUDA_ERROR_DEINITIALIZED error in cu2umf_result()
ldorau Mar 12, 2025
3a08d6c
use current ctx and dev by default in CUDA prov
bratpiorka Mar 12, 2025
9abb40d
Merge pull request #1184 from ldorau/Handle_CUDA_ERROR_DEINITIALIZED_…
ldorau Mar 12, 2025
7173cc5
Fix segfault in cu_memory_provider_get_last_native_error()
ldorau Mar 12, 2025
e3cb666
Merge pull request #1179 from lukaszstolarczuk/sles15-ci
bratpiorka Mar 13, 2025
998debe
Merge pull request #1183 from ldorau/Fix_segfault_in_cu_memory_provid…
KFilipek Mar 13, 2025
27dc807
Move C++ helper header to utils
KFilipek Mar 13, 2025
d16fac4
Merge pull request #1180 from bratpiorka/rrudnick_cuda_defaults
lplewa Mar 13, 2025
52d1f59
[tests] Rename umf to umf_test
KFilipek Mar 13, 2025
b8e7246
update benchmark scripts
lplewa Mar 13, 2025
7cf5ec5
Merge pull request #1191 from lplewa/benchmark_update
lplewa Mar 13, 2025
de5f8c0
Merge pull request #1188 from KFilipek/fix-to-utils
bratpiorka Mar 14, 2025
8cd3383
Enable jemalloc pool test with Fixed provider
ldorau Mar 14, 2025
1c7bc25
Merge pull request #1193 from ldorau/Enable_jemalloc_pool_test_with_F…
ldorau Mar 14, 2025
fcf2c8d
Install libnuma-dev in the proxy lib workflow
ldorau Mar 17, 2025
fc68be8
Suppress false-postive in IPC tests under helgrind
vinser52 Mar 17, 2025
d6d6104
Merge pull request #1196 from ldorau/Install_libnuma-dev_in_the_proxy…
ldorau Mar 17, 2025
0e3d3e4
Merge pull request #1197 from vinser52/svinogra_ipc_cache
bratpiorka Mar 17, 2025
fb28a16
fix jemalloc benchmark with fixedprovider
lplewa Mar 17, 2025
ac6a2b2
Remove old SHM files left from the previous runs, because of crashes
ldorau Feb 27, 2025
3fc5fbc
Merge pull request #1142 from ldorau/Remove_old_SHM_files_left_from_t…
ldorau Mar 17, 2025
9a93b20
Merge pull request #1198 from lplewa/fixedjemalloc
ldorau Mar 17, 2025
e316fdc
increase number of threads in benchmarks
lplewa Mar 6, 2025
a64565a
Fallback to hwloc fetch if package not found
PatKamin Jan 28, 2025
4c54366
Merge pull request #1166 from lplewa/benchmarks_threads
lukaszstolarczuk Mar 18, 2025
31c47aa
test benchmark only with singlethreaded workloads
lplewa Mar 18, 2025
d6d2da6
Merge pull request #1185 from PatKamin/hwloc-fallback
lukaszstolarczuk Mar 18, 2025
0b784e8
Merge pull request #1199 from lplewa/benchmark_limit1
lukaszstolarczuk Mar 18, 2025
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
3 changes: 2 additions & 1 deletion .cmake-format
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ with section("parse"):
'kwargs': {
'NAME': '*',
'SRCS': '*',
'LIBS': '*'}},
'LIBS': '*',
'ENVS': '*'}},
'add_umf_library': {
"pargs": 0,
"flags": [],
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/get_system_info.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ function check_L0_version {
fi

if command -v zypper &> /dev/null; then
zypper se level-zero && return
zypper -n se level-zero || true
fi

echo "level-zero not installed"
Expand Down
135 changes: 67 additions & 68 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ on:
permissions:
contents: read

env:
BUILD_DIR : "${{github.workspace}}/build"

jobs:
fuzz-test:
name: Fuzz test
Expand Down Expand Up @@ -88,18 +91,16 @@ jobs:
- name: Run tests under valgrind
run: ${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{github.workspace}}/build ${{matrix.tool}}

Windows-Ninja-cl:
name: Windows-Ninja-cl
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"
BUILD_DIR : "${{github.workspace}}/build"
Windows-generators:
name: Windows ${{matrix.generator}} generator
strategy:
matrix:
os: ['windows-2019', 'windows-2022']
build_type: [Debug, Release]
build_type: [Release]
compiler: [{c: cl, cxx: cl}]
shared_library: ['ON', 'OFF']
static_hwloc: ['ON', 'OFF']
generator: ['Ninja', 'NMake Makefiles']

runs-on: ${{matrix.os}}

Expand All @@ -109,8 +110,18 @@ jobs:
with:
fetch-depth: 0

- name: Set VCPKG_PATH with hwloc
if: matrix.static_hwloc == 'OFF'
run: echo "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'" >> $env:GITHUB_ENV

- name: Set VCPKG_PATH without hwloc
if: matrix.static_hwloc == 'ON'
run: echo "VCPKG_PATH='${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows'" >> $env:GITHUB_ENV

- name: Initialize vcpkg
uses: lukka/run-vcpkg@5e0cab206a5ea620130caf672fce3e4a6b5666a1 # v11.5
env:
VCPKG_PATH: ${{env.VCPKG_PATH}}
with:
vcpkgGitCommitId: 3dd44b931481d7a8e9ba412621fa810232b66289
vcpkgDirectory: ${{env.BUILD_DIR}}/vcpkg
Expand All @@ -120,6 +131,7 @@ jobs:
run: vcpkg install

- name: Install Ninja
if: matrix.generator == 'Ninja'
uses: seanmiddleditch/gha-setup-ninja@96bed6edff20d1dd61ecff9b75cc519d516e6401 # v5

- name: Configure MSVC environment
Expand All @@ -132,7 +144,7 @@ jobs:
-DCMAKE_PREFIX_PATH="${{env.VCPKG_PATH}}"
-DCMAKE_C_COMPILER=${{matrix.compiler.c}}
-DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}}
-G Ninja
-G "${{matrix.generator}}"
-DUMF_BUILD_SHARED_LIBRARY=${{matrix.shared_library}}
-DUMF_LINK_HWLOC_STATICALLY=${{matrix.static_hwloc}}
-DUMF_FORMAT_CODE_STYLE=OFF
Expand All @@ -151,71 +163,10 @@ jobs:
working-directory: ${{env.BUILD_DIR}}
run: ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test

Windows-NMake:
name: Windows-NMake
env:
VCPKG_PATH: "${{github.workspace}}/build/vcpkg/packages/tbb_x64-windows;${{github.workspace}}/build/vcpkg/packages/jemalloc_x64-windows"
BUILD_DIR : "${{github.workspace}}/build"
strategy:
matrix:
os: ['windows-2019', 'windows-2022']
build_type: [Debug, Release]
compiler: [{c: cl, cxx: cl}]
shared_library: ['ON', 'OFF']

runs-on: ${{matrix.os}}

steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0

- name: Initialize vcpkg
uses: lukka/run-vcpkg@5e0cab206a5ea620130caf672fce3e4a6b5666a1 # v11.5
with:
vcpkgGitCommitId: 3dd44b931481d7a8e9ba412621fa810232b66289
vcpkgDirectory: ${{env.BUILD_DIR}}/vcpkg
vcpkgJsonGlob: '**/vcpkg.json'

- name: Install dependencies
run: vcpkg install

- name: Configure MSVC environment
uses: ilammy/msvc-dev-cmd@0b201ec74fa43914dc39ae48a89fd1d8cb592756 # v1.13.0

- name: Configure build
run: >
cmake
-B ${{env.BUILD_DIR}}
-DCMAKE_PREFIX_PATH="${{env.VCPKG_PATH}}"
-DCMAKE_C_COMPILER=${{matrix.compiler.c}}
-DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}}
-G "NMake Makefiles"
-DUMF_BUILD_SHARED_LIBRARY=${{matrix.shared_library}}
-DUMF_LINK_HWLOC_STATICALLY=ON
-DUMF_FORMAT_CODE_STYLE=OFF
-DUMF_DEVELOPER_MODE=ON
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
-DUMF_BUILD_CUDA_PROVIDER=ON
-DUMF_TESTS_FAIL_ON_SKIP=ON

- name: Build UMF
shell: cmd
run: cmake --build ${{env.BUILD_DIR}} --config ${{matrix.build_type}} -j %NUMBER_OF_PROCESSORS%

- name: Run tests
shell: cmd
working-directory: ${{env.BUILD_DIR}}
run: ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test


icx:
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"
BUILD_DIR : "${{github.workspace}}/build"
strategy:
matrix:
os: ['windows-2019', 'windows-2022']
Expand Down Expand Up @@ -297,6 +248,54 @@ jobs:
call "C:\Program Files (x86)\Intel\oneAPI\setvars-vcvarsall.bat"
ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test

hwloc-fallback:
# Scenarios where UMF_LINK_HWLOC_STATICALLY is set to OFF and hwloc is not installed in the system
# The hwloc library is fetched implicitly
name: "Fallback to static hwloc build"
strategy:
matrix:
include:
- os: 'ubuntu-latest'
build_type: Release
number_of_processors: '$(nproc)'
- os: 'windows-latest'
build_type: Release
number_of_processors: '$Env:NUMBER_OF_PROCESSORS'

runs-on: ${{matrix.os}}

steps:
- name: Install dependencies
if: matrix.os == 'ubuntu-latest'
run: sudo apt-get install -y libnuma-dev

- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0

- name: Configure build
run: >
cmake
-B ${{env.BUILD_DIR}}
-DCMAKE_BUILD_TYPE=${{matrix.build_type}}
-DUMF_BUILD_SHARED_LIBRARY=ON
-DUMF_BUILD_EXAMPLES=OFF
-DUMF_DEVELOPER_MODE=ON
-DUMF_LINK_HWLOC_STATICALLY=OFF
-DUMF_TESTS_FAIL_ON_SKIP=ON

- name: Build UMF
run: >
cmake
--build ${{env.BUILD_DIR}}
--config ${{matrix.build_type}}
-j ${{matrix.number_of_processors}}

- name: Run tests
working-directory: ${{env.BUILD_DIR}}
run: ctest -C ${{matrix.build_type}} --output-on-failure --test-dir test

L0:
uses: ./.github/workflows/reusable_gpu.yml
with:
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/reusable_basic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,17 @@ jobs:
install_tbb: 'ON'
disable_hwloc: 'OFF'
link_hwloc_statically: 'OFF'
# test lld linker
- os: 'ubuntu-24.04'
build_type: Release
compiler: {c: icx, cxx: icpx}
shared_library: 'ON'
level_zero_provider: 'ON'
cuda_provider: 'ON'
install_tbb: 'ON'
disable_hwloc: 'OFF'
link_hwloc_statically: 'OFF'
llvm_linker: '-DCMAKE_EXE_LINKER_FLAGS="-fuse-ld=lld" -DCMAKE_MODULE_LINKER_FLAGS="-fuse-ld=lld" -DCMAKE_SHARED_LINKER_FLAGS="-fuse-ld=lld"'
# test without installing TBB
- os: 'ubuntu-22.04'
build_type: Release
Expand Down Expand Up @@ -160,6 +171,7 @@ jobs:
-DUMF_DISABLE_HWLOC=${{matrix.disable_hwloc}}
-DUMF_LINK_HWLOC_STATICALLY=${{matrix.link_hwloc_statically}}
${{ matrix.build_type == 'Debug' && matrix.compiler.c == 'gcc' && '-DUMF_USE_COVERAGE=ON' || '' }}
${{ matrix.llvm_linker || '' }}

- name: Build UMF
run: |
Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/reusable_benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -103,15 +103,17 @@
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: intel/llvm
# add preloaded UMF benchmarks
# https://github.com/intel/llvm/pull/17278
ref: b2f9dab5266d227cc9eb19af1b54c5bdc50221d1
# [BENCHMARK] fix default timeout parameter
# https://github.com/intel/llvm/pull/17412
ref: 357e9e0b253b7eba105d044e38452b3c09169f8a
path: sycl-repo
fetch-depth: 1

- name: Install benchmarking scripts deps
run: |
pip install --force-reinstall -r ${{github.workspace}}/sycl-repo/unified-runtime/third_party/benchmark_requirements.txt
python -m venv .venv
source .venv/bin/activate
pip install -r ${{github.workspace}}/sycl-repo/unified-runtime/third_party/benchmark_requirements.txt

Check warning

Code scanning / Scorecard

Pinned-Dependencies Medium

score is 7: pipCommand not pinned by hash
Click Remediation section below to solve this issue
- name: Set core range and GPU mask
run: |
Expand All @@ -135,10 +137,12 @@
id: benchmarks
working-directory: ${{env.BUILD_DIR}}
run: >
source ${{github.workspace}}/.venv/bin/activate &&
taskset -c ${{ env.CORES }} ${{ github.workspace }}/sycl-repo/unified-runtime/scripts/benchmarks/main.py
~/bench_workdir_umf
--umf ${{env.BUILD_DIR}}
--compare baseline
--timeout 3000
${{ inputs.upload_report && '--output-html' || '' }}
${{ inputs.pr_no != 0 && '--output-markdown' || '' }}
${{ inputs.bench_script_params }}
Expand Down
Loading
Loading