Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
140 commits
Select commit Hold shift + click to select a range
f10ee0f
Disable temporarily failing CI job with ICX compiler
ldorau Oct 25, 2024
e4fc864
Merge pull request #857 from bratpiorka/rrudnick_disable_icx
lukaszstolarczuk Oct 31, 2024
ef1e1cd
fix for the apply of the HWLOC security patch
bratpiorka Oct 31, 2024
6874c42
Merge pull request #854 from bratpiorka/rrudnick_hwloc_patch_fix_0.9
bratpiorka Oct 31, 2024
8923281
Fix disabling of pci support in hwloc
PatKamin Oct 3, 2024
64675cf
Merge pull request #867 from PatKamin/disable-libudev-09
lukaszstolarczuk Nov 6, 2024
d107b05
Add a RUNPATH to installed libraries
PatKamin Nov 8, 2024
d62a9ed
Merge pull request #882 from PatKamin/rpath
lukaszstolarczuk Nov 8, 2024
23298fe
0.9.1 release
lukaszstolarczuk Nov 12, 2024
0d118af
Clean up target_*() calls in test/CMakeLists.txt
ldorau Nov 29, 2024
2d28e06
Add the coarse library
ldorau Nov 25, 2024
958b690
Add tests for the coarse library
ldorau Dec 2, 2024
6987891
Merge pull request #931 from ldorau/Add_the_coarse_library
bratpiorka Dec 2, 2024
a08a121
Merge pull request #950 from ldorau/Clean_up_target_calls_in_test_CMa…
bratpiorka Dec 2, 2024
20c0f61
Merge branch 'v0.9.x' into 'main'
lukaszstolarczuk Dec 2, 2024
3113bed
Merge pull request #954 from lukaszstolarczuk/merge-v0.9.x-to-main
lukaszstolarczuk Dec 2, 2024
aff5982
Bump version on main to 0.11.0
lukaszstolarczuk Dec 2, 2024
19bd9fd
Merge pull request #957 from lukaszstolarczuk/bump-ver-to-0.11.0
bratpiorka Dec 2, 2024
dcc1ec1
Add info about the `PTRACE_MODE_ATTACH_REALCREDS` permission
ldorau Dec 3, 2024
c0dc97c
Merge pull request #958 from ldorau/Add_info_about_the_PTRACE_MODE_AT…
bratpiorka Dec 3, 2024
73d012e
Use libcoarse in the file provider
ldorau Nov 21, 2024
f81c647
Add free() op to the file provider
ldorau Nov 25, 2024
a27c45f
Use libcoarse in the devdax provider
ldorau Dec 3, 2024
96605c4
Add free() to the devdax provider
ldorau Nov 25, 2024
d9f1fee
Remove free_not_supp from the ipcTestParams tuple
ldorau Dec 3, 2024
ee03b29
Merge pull request #959 from oneapi-src/v0.10.x
lplewa Dec 4, 2024
d8a340e
Disable jemalloc pool on RHEL
ldorau Nov 27, 2024
e95d92e
Link statically with custom jemalloc with disabled initial TLS
ldorau Dec 4, 2024
614c4b5
Incorporate jemalloc_pool into libumf
ldorau Dec 4, 2024
27ee09f
Merge pull request #941 from ldorau/Link_statically_with_custom_jemal…
ldorau Dec 5, 2024
6b005c8
Remove JEMALLOC_LIBRARY_DIRS from tests and benchmarks
ldorau Dec 5, 2024
d8b63dd
Revert WA for the issue with jemalloc in the proxy library
ldorau Dec 5, 2024
fb53918
Merge pull request #932 from ldorau/Use_the_coarse_library
ldorau Dec 5, 2024
3112e2b
Revert moving free() to optional (ext) provider ops
ldorau Dec 5, 2024
35332da
Minor fixes to clean up resources in tests
vinser52 Dec 5, 2024
7d8d780
Merge pull request #964 from ldorau/Remove_JEMALLOC_LIBRARY_DIRS_from…
ldorau Dec 5, 2024
b7a9b6a
Merge pull request #953 from ldorau/Revert_Move_free_to_optional_ext_…
ldorau Dec 5, 2024
b668ae1
Merge pull request #952 from ldorau/Revert_WA_for_the_issue_with_jema…
lukaszstolarczuk Dec 5, 2024
f311aee
Enable all IPC tests
ldorau Dec 5, 2024
c173e56
Fix and add error messages
ldorau Dec 5, 2024
2793e6a
Merge pull request #967 from vinser52/svinogra_coverity
lukaszstolarczuk Dec 5, 2024
c6749f2
Remove the Coarse provider
ldorau Nov 29, 2024
450c5a9
Replace all NULL with nullptr in disjointCoarseMallocPool.cpp
ldorau Dec 5, 2024
7fec989
Rename disjointCoarseMallocPool test to disjointPoolFileProv
ldorau Dec 5, 2024
f473b92
Merge pull request #966 from ldorau/Fix_and_add_error_messages
bratpiorka Dec 5, 2024
77f0cb5
Merge pull request #868 from ldorau/Run_IPC_tests_with_the_proxy_library
lukaszstolarczuk Dec 5, 2024
86d2341
Implement umfPool[Set/Get]Tag
igchor Dec 4, 2024
4394ed7
Remove the disable_provider_free parameter of jemalloc pool
ldorau Dec 6, 2024
7d1f1d0
Ignore return value of `je_mallctl()` in an error handling path
ldorau Dec 6, 2024
4dbe19c
Fix building the custom jemalloc
ldorau Dec 6, 2024
cb0dba0
Merge pull request #972 from ldorau/Ignore_return_value_of__in_an_err…
PatKamin Dec 6, 2024
04fdd74
Merge pull request #934 from ldorau/Remove_Coarse_provider
ldorau Dec 6, 2024
5b3d7b6
Merge pull request #973 from ldorau/Fix_building_the_custom_jemalloc
lukaszstolarczuk Dec 6, 2024
109f4b2
Merge pull request #911 from ldorau/Remove_the_disable_provider_free_…
lukaszstolarczuk Dec 6, 2024
9bf1316
Merge pull request #962 from igchor/poolTags
lukaszstolarczuk Dec 6, 2024
2fca364
Fix: remove incorrect assert in utils_align_ptr_up_size_down()
ldorau Dec 6, 2024
6f274ec
set fixed iteration count for benchmarks
lplewa Dec 9, 2024
4b09af0
Make coarse_alloc() return aligned address when alignment==0
ldorau Dec 9, 2024
d2ecbe9
Make UMF_COARSE_MEMORY_STRATEGY_FASTEST_BUT_ONE the default strategy
ldorau Dec 9, 2024
524354b
Merge pull request #982 from lplewa/fix_iter
lukaszstolarczuk Dec 9, 2024
62496ed
add extra test for dax provider
lplewa Dec 5, 2024
1f695ad
Merge pull request #981 from ldorau/Make_coarse_alloc_return_aligned_…
ldorau Dec 10, 2024
3e12e18
Update description of UMF_LINK_HWLOC_STATICALLY
PatKamin Dec 10, 2024
625a9d4
Merge pull request #986 from PatKamin/update-docs
lukaszstolarczuk Dec 10, 2024
f160016
Merge branch 'v0.10.x' into 'main'
lukaszstolarczuk Dec 10, 2024
3dc6734
Merge pull request #985 from lukaszstolarczuk/merge-v0.10.x-into-main
lukaszstolarczuk Dec 10, 2024
36d134c
use unique_ptr instead of constructor/destructor in benchmarks
lplewa Dec 10, 2024
aef7ae7
Merge pull request #984 from lplewa/uniqe
bratpiorka Dec 11, 2024
397e5c4
Build custom jemalloc with -j$(nproc)
ldorau Dec 12, 2024
0c75171
fix codespell errors in CODE_OF_CONDUCT and reusable_valgrind.yml
luszczewskakasia1 Dec 12, 2024
97eacc7
Merge pull request #991 from ldorau/Build_custom_jemalloc_with_-j
lukaszstolarczuk Dec 12, 2024
b07c1a2
add fixed provider
lplewa Dec 5, 2024
95861f3
Merge pull request #976 from lplewa/fixed
lukaszstolarczuk Dec 16, 2024
202984e
Print more info when open() fails in the custom_file_provider example
ldorau Dec 17, 2024
e240489
Fix: add missing umf*MemoryProviderParamsDestroy()
ldorau Dec 16, 2024
a714e45
Fix memory leak in the testNumaSplit:checkModeSplit test
ldorau Dec 16, 2024
522d35a
Merge pull request #996 from ldorau/Print_more_info_when_open_fails_i…
bratpiorka Dec 17, 2024
c549441
Assert in umf_ba_destroy() in DEBUG and UMF_DEVELOPER_MODE
ldorau Dec 18, 2024
d56b62c
Run also examples under valgrind
ldorau Dec 18, 2024
7416aa0
Merge pull request #995 from ldorau/Add_assert0_in_umf_ba_destroy
lukaszstolarczuk Dec 18, 2024
7f005d9
Move PMDK CTL sources
KFilipek Dec 12, 2024
5804207
[CMake] Disable pedantic mode and disable cast qualifier warning
KFilipek Dec 12, 2024
abb24e7
CTL: Add a CTL functionality to the UMF
KFilipek Dec 12, 2024
7ae4fe1
Merge pull request #1005 from ldorau/Run_also_examples_under_valgrind
ldorau Dec 18, 2024
2e3325f
Merge pull request #913 from KFilipek/ctl-base
KFilipek Dec 19, 2024
9544998
Run only given tests/examples under valgrind
ldorau Dec 18, 2024
083252a
Silence hwloc-gather-cpuid
ldorau Dec 18, 2024
9f6f8ba
Run DAX tests under valgrind
ldorau Dec 18, 2024
96b00ee
Run NUMA tests under valgrind
ldorau Dec 19, 2024
d3d1bb1
Fix name of the proxy_lib_size_threshold test
ldorau Dec 19, 2024
f70c7ca
add python script to run codespell scan
luszczewskakasia1 Dec 12, 2024
d93b3d7
Remove unnecessary commas due to removing pedantic option
KFilipek Dec 19, 2024
68065ac
Merge pull request #1009 from ldorau/Fix_name_of_the_proxy_lib_size_t…
ldorau Dec 19, 2024
88bb108
Merge pull request #994 from luszczewskakasia1/codespell
lukaszstolarczuk Dec 19, 2024
95e2410
Merge pull request #1006 from ldorau/Run_only_given_tests_examples_un…
lukaszstolarczuk Dec 19, 2024
1a5155f
Merge pull request #1010 from KFilipek/remove-macro-commas
ldorau Dec 20, 2024
e83ee34
Minor cleanups and additions in docs
lukaszstolarczuk Dec 16, 2024
718c61d
Move docs content into a separate dir
lukaszstolarczuk Dec 16, 2024
78d2798
[CMake] Add 'docs' target
lukaszstolarczuk Dec 17, 2024
c7fdc11
[CI] make docs workflow reusable in deploy job
lukaszstolarczuk Dec 17, 2024
70c5906
Fix paths of logs in test_valgrind.sh
ldorau Dec 30, 2024
cf98482
Merge pull request #1014 from ldorau/Fix_paths_of_logs_in_test_valgri…
bratpiorka Dec 30, 2024
5844c5a
Fix L0 provider
igchor Dec 26, 2024
71055de
Merge pull request #1015 from igchor/stype_fix_l0
bratpiorka Dec 31, 2024
58ba8e9
enable building examples on win static hwloc CI
bratpiorka Dec 31, 2024
91f14d7
fix setting LIBHWLOC_LIBRARIES on Windows
bratpiorka Dec 31, 2024
9dd2283
Merge pull request #1016 from bratpiorka/rrudnick_enable_win_examples
lukaszstolarczuk Jan 2, 2025
30fada6
Merge pull request #999 from lukaszstolarczuk/docs-change
lukaszstolarczuk Jan 3, 2025
0b4cbaa
use the UMF version from git describe in tests, not the harcoded one
bratpiorka Jan 7, 2025
00999df
Merge pull request #1026 from bratpiorka/rrudnick_umf_ver_workflow
lukaszstolarczuk Jan 8, 2025
da8cfb8
Revert "Disable temporarily failing CI job with ICX compiler"
lukaszstolarczuk Nov 6, 2024
7a59bd3
refactor benchmark file structure
lplewa Dec 19, 2024
4d9e2a5
use the UMF version from git describe in docs, not the harcoded one
bratpiorka Jan 8, 2025
890297b
Merge pull request #1027 from bratpiorka/rrudnick_umf_ver_docs
bratpiorka Jan 10, 2025
a03cdb9
Merge pull request #1031 from lplewa/benchmark_file
lukaszstolarczuk Jan 10, 2025
e94647d
Change linking to static for ICX Intel libraries
KFilipek Jan 7, 2025
e349520
Remove all Intel libs from main library
KFilipek Jan 9, 2025
9d98b90
Merge pull request #1030 from KFilipek/test-icx
lukaszstolarczuk Jan 10, 2025
ed94adb
Bump pygments in /third_party in the pip-dependencies group
dependabot[bot] Jan 10, 2025
5db7da2
Added license checker
rbanka1 Jan 8, 2025
83a6a46
Add GAI Tooling Notice to readme
bratpiorka Jan 13, 2025
d43d9ce
Merge pull request #1034 from bratpiorka/rrudnick_gai_notice
lukaszstolarczuk Jan 13, 2025
820fd05
Merge pull request #1017 from oneapi-src/dependabot/pip/third_party/p…
bratpiorka Jan 13, 2025
b229a34
Added a condition to check the validity of the starting date and some…
rbanka1 Jan 9, 2025
bf8d0d8
Merge pull request #1028 from rbanka1/licenseNew
lukaszstolarczuk Jan 14, 2025
b9fc9e6
Merge branch 'v0.10.x' into 'main'
lukaszstolarczuk Jan 14, 2025
8e22b4c
Merge pull request #1032 from lukaszstolarczuk/merge-v0.10.x-into-main
lukaszstolarczuk Jan 15, 2025
42a95fd
Fix spelling errors in a few files
luszczewskakasia1 Jan 13, 2025
f72a613
Add spelling check in the web docs
luszczewskakasia1 Jan 13, 2025
c2781ff
Merge pull request #1035 from luszczewskakasia1/rst-scan
lukaszstolarczuk Jan 15, 2025
39f77a1
L0 provider: implement support for defer and blocking free
igchor Dec 2, 2024
7dc640c
Merge pull request #963 from igchor/level_zero_provider_ext_free
lukaszstolarczuk Jan 16, 2025
330ffd3
reduce code duplication in Benchmark by using Apply() to set arguments
lplewa Jan 13, 2025
40d0ebe
Merge pull request #1042 from lplewa/benchmark_apply
lukaszstolarczuk Jan 16, 2025
279b6bf
Fix: use cuda_device_handle in cu_memory_provider_initialize
ldorau Jan 17, 2025
f4b0715
Merge pull request #1044 from ldorau/Fix_use_cuda_device_handle_in_cu…
KFilipek Jan 17, 2025
da7706c
Add info about ptrace permissions
PatKamin Jan 3, 2025
76e4f12
Merge pull request #1040 from lukaszstolarczuk/ptrace
lukaszstolarczuk Jan 17, 2025
958aceb
Test static hwloc linking on macos
PatKamin Jan 20, 2025
3ec8f5b
Add dependent macOS libraries for hwloc build
PatKamin Jan 20, 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
2 changes: 1 addition & 1 deletion .github/docker/ubuntu-20.04.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ ARG BASE_DEPS="\

# UMF's dependencies
ARG UMF_DEPS="\
libjemalloc-dev \
libhwloc-dev \
libtbb-dev"

Expand All @@ -34,6 +33,7 @@ ARG TEST_DEPS="\

# Miscellaneous for our builds/CI (optional)
ARG MISC_DEPS="\
automake \
clang \
g++-7 \
python3-pip \
Expand Down
2 changes: 1 addition & 1 deletion .github/docker/ubuntu-22.04.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ ARG BASE_DEPS="\

# UMF's dependencies
ARG UMF_DEPS="\
libjemalloc-dev \
libhwloc-dev \
libtbb-dev"

Expand All @@ -34,6 +33,7 @@ ARG TEST_DEPS="\

# Miscellaneous for our builds/CI (optional)
ARG MISC_DEPS="\
automake \
clang \
python3-pip \
sudo \
Expand Down
40 changes: 40 additions & 0 deletions .github/scripts/run-codespell.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
"""
Copyright (C) 2024 Intel Corporation

Under the Apache License v2.0 with LLVM Exceptions. See LICENSE.TXT.
SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
"""

import subprocess # nosec B404
import logging
import sys

logging.basicConfig(
level=logging.INFO, format="[%(levelname)s]: [%(asctime)s] %(message)s"
)


def codespell_scan():
try:
codespell_result = subprocess.run( # nosec
[
"codespell",
"-H",
"--quiet-level=3",
"--skip=./.git,./.venv,./.github/workflows/.spellcheck-conf.toml",
],
text=True,
stdout=subprocess.PIPE,
)
if codespell_result.returncode != 0:
for line in codespell_result.stdout.splitlines():
logging.error(line.strip())
sys.exit(1)
else:
logging.info("No spelling errors found")
except subprocess.CalledProcessError as ex:
logging.error(ex)
sys.exit(1)


codespell_scan()
2 changes: 1 addition & 1 deletion .github/workflows/coverity.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- name: Install apt packages
run: |
sudo apt-get update
sudo apt-get install -y cmake hwloc libhwloc-dev libjemalloc-dev libnuma-dev libtbb-dev
sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev

- name: Download Coverity
run: |
Expand Down
42 changes: 6 additions & 36 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,44 +14,14 @@ permissions:
contents: read

jobs:
build:
name: Build docs
runs-on: ${{ github.repository_owner == 'oneapi-src' && 'intel-ubuntu-22.04' || 'ubuntu-latest' }}

steps:
- name: Checkout repository
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0

- name: Install doxygen
run: |
sudo apt-get update
sudo apt-get install -y doxygen

# Latest distros do not allow global pip installation
- name: Install Python requirements in venv
run: |
python3 -m venv .venv
. .venv/bin/activate
echo "$PATH" >> $GITHUB_PATH
python3 -m pip install -r third_party/requirements.txt

- name: Setup PATH for python
run: echo "$HOME/.local/bin" >> $GITHUB_PATH

- name: Build the documentation
working-directory: scripts
run: python3 generate_docs.py

- name: Upload artifact
uses: actions/upload-pages-artifact@0252fc4ba7626f0298f0cf00902a25c6afc77fa8 # v3.0.0
with:
path: docs/html
DocsBuild:
uses: ./.github/workflows/reusable_docs_build.yml
with:
upload: true

deploy:
DocsDeploy:
name: Deploy docs to GitHub Pages
needs: build
needs: DocsBuild

permissions:
pages: write
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ jobs:
- name: Install apt packages
run: |
sudo apt-get update
sudo apt-get install -y cmake hwloc libhwloc-dev libjemalloc-dev libnuma-dev libtbb-dev valgrind
sudo apt-get install -y cmake hwloc libhwloc-dev libnuma-dev libtbb-dev valgrind

- name: Configure CMake
run: >
Expand Down
56 changes: 34 additions & 22 deletions .github/workflows/reusable_basic.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ permissions:
contents: read

env:
# for installation testing - it should match with version set in CMake
UMF_VERSION: 0.10.1
BUILD_DIR : "${{github.workspace}}/build"
INSTL_DIR : "${{github.workspace}}/../install-dir"
COVERAGE_DIR : "${{github.workspace}}/coverage"
Expand Down Expand Up @@ -76,15 +74,15 @@ jobs:
disable_hwloc: 'OFF'
link_hwloc_statically: 'OFF'
# test icx compiler
# - os: 'ubuntu-22.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'
- os: 'ubuntu-22.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'
# test without installing TBB
- os: 'ubuntu-22.04'
build_type: Release
Expand Down Expand Up @@ -124,7 +122,7 @@ jobs:
- name: Install apt packages
run: |
sudo apt-get update
sudo apt-get install -y clang cmake libnuma-dev libjemalloc-dev lcov
sudo apt-get install -y clang cmake libnuma-dev lcov

- name: Install TBB apt package
if: matrix.install_tbb == 'ON'
Expand All @@ -147,8 +145,10 @@ jobs:
- name: Install libhwloc
run: .github/scripts/install_hwloc.sh

- name: Set ptrace value for IPC test
run: sudo bash -c "echo 0 > /proc/sys/kernel/yama/ptrace_scope"
- name: Get UMF version
run: |
VERSION=$(git describe --tags --abbrev=0 | grep -oP '\d+\.\d+\.\d+')
echo "UMF_VERSION=$VERSION" >> $GITHUB_ENV

- name: Configure build
run: >
Expand Down Expand Up @@ -179,8 +179,7 @@ jobs:
- name: Run tests
working-directory: ${{env.BUILD_DIR}}
run: |
${{ matrix.compiler.cxx == 'icpx' && '. /opt/intel/oneapi/setvars.sh' || true }}
ctest --output-on-failure # run all tests for better coverage
LD_LIBRARY_PATH=${{env.BUILD_DIR}}/lib/ ctest --output-on-failure # run all tests for better coverage

- name: Check coverage
if: ${{ matrix.build_type == 'Debug' && matrix.compiler.c == 'gcc' }}
Expand Down Expand Up @@ -209,7 +208,6 @@ jobs:
--install-dir ${{env.INSTL_DIR}}
--build-type ${{matrix.build_type}}
--disjoint-pool
--jemalloc-pool
${{ matrix.install_tbb == 'ON' && matrix.disable_hwloc != 'ON' && matrix.shared_library == 'ON' && '--proxy' || '' }}
--umf-version ${{env.UMF_VERSION}}
${{ matrix.shared_library == 'ON' && '--shared-library' || '' }}
Expand Down Expand Up @@ -267,6 +265,12 @@ jobs:
run: vcpkg install
shell: pwsh # Specifies PowerShell as the shell for running the script.

- name: Get UMF version
run: |
$version = (git describe --tags --abbrev=0 | Select-String -Pattern '\d+\.\d+\.\d+').Matches.Value
echo "UMF_VERSION=$version" >> $env:GITHUB_ENV
shell: pwsh

- name: Configure build
run: >
cmake
Expand Down Expand Up @@ -300,7 +304,6 @@ jobs:
--install-dir ${{env.INSTL_DIR}}
--build-type ${{matrix.build_type}}
--disjoint-pool
--jemalloc-pool
${{matrix.shared_library == 'ON' && '--proxy' || '' }}
--umf-version ${{env.UMF_VERSION}}
${{ matrix.shared_library == 'ON' && '--shared-library' || ''}}
Expand Down Expand Up @@ -335,7 +338,7 @@ jobs:
-B ${{env.BUILD_DIR}}
-DCMAKE_INSTALL_PREFIX="${{env.INSTL_DIR}}"
-DUMF_BUILD_SHARED_LIBRARY=ON
-DUMF_BUILD_EXAMPLES=OFF
-DUMF_BUILD_EXAMPLES=ON
-DUMF_FORMAT_CODE_STYLE=OFF
-DUMF_DEVELOPER_MODE=ON
-DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
Expand Down Expand Up @@ -378,7 +381,7 @@ jobs:
-B ${{env.BUILD_DIR}}
-DCMAKE_INSTALL_PREFIX="${{env.INSTL_DIR}}"
-DUMF_BUILD_SHARED_LIBRARY=OFF
-DUMF_BUILD_EXAMPLES=OFF
-DUMF_BUILD_EXAMPLES=ON
-DUMF_FORMAT_CODE_STYLE=OFF
-DUMF_DEVELOPER_MODE=ON
-DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
Expand Down Expand Up @@ -468,8 +471,17 @@ jobs:
echo "$PATH" >> $GITHUB_PATH
python3 -m pip install -r third_party/requirements.txt

- name: Install dependencies
run: brew install jemalloc tbb automake

- name: Install hwloc
run: brew install hwloc jemalloc tbb
if: matrix.os == 'macos-14'
run: brew install hwloc

- name: Get UMF version
run: |
VERSION=$(git describe --tags --abbrev=0 | grep -Eo '\d+\.\d+\.\d+')
echo "UMF_VERSION=$VERSION" >> $GITHUB_ENV

- name: Configure build
run: >
Expand All @@ -484,6 +496,7 @@ jobs:
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
-DUMF_BUILD_SHARED_LIBRARY=ON
-DUMF_TESTS_FAIL_ON_SKIP=ON
${{ matrix.os != 'macos-14' && '-DUMF_LINK_HWLOC_STATICALLY=ON' || '' }}

- name: Build UMF
run: cmake --build ${{env.BUILD_DIR}} -j $(sysctl -n hw.logicalcpu)
Expand All @@ -495,7 +508,6 @@ jobs:
--install-dir ${{env.INSTL_DIR}}
--build-type ${{env.BUILD_TYPE}}
--disjoint-pool
--jemalloc-pool
--proxy
--umf-version ${{env.UMF_VERSION}}
--shared-library
2 changes: 1 addition & 1 deletion .github/workflows/reusable_benchmarks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y cmake libhwloc-dev libnuma-dev libjemalloc-dev libtbb-dev
sudo apt-get install -y cmake libhwloc-dev libnuma-dev libtbb-dev

- name: Initialize vcpkg
if: matrix.os == 'windows-latest'
Expand Down
18 changes: 16 additions & 2 deletions .github/workflows/reusable_checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,16 @@ jobs:
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y black cmake clang-format-15 cmake-format libhwloc-dev
sudo apt-get install -y black cmake clang-format-15 cmake-format libhwloc-dev doxygen

# Latest distros do not allow global pip installation
- name: Install Python requirements in venv
run: |
python3 -m venv .venv
. .venv/bin/activate
echo "$PATH" >> $GITHUB_PATH
python3 -m pip install bandit
python3 -m pip install -r third_party/requirements.txt
python3 -m pip install bandit codespell

- name: Configure CMake
run: >
Expand All @@ -52,11 +53,24 @@ jobs:
- name: Check Python formatting
run: cmake --build build --target black-format-check

- name: Run check-license
run: |
./scripts/check_license/check_headers.sh . "Apache-2.0 WITH LLVM-exception" -v

- name: Run a spell check
uses: crate-ci/typos@b63f421581dce830bda2f597a678cb7776b41877 # v1.18.2
with:
config: ./.github/workflows/.spellcheck-conf.toml

- name: Run codespell
run: python3 ./.github/scripts/run-codespell.py

- name: Check spelling in docs
run: |
cmake -B build
cmake --build build --target docs
sphinx-build -b spelling ./build/docs_build/config ./build/docs_build/spelling_log -W

# Run Bandit recursively, but omit _deps directory (with 3rd party code) and python's venv
- name: Run Bandit
run: python3 -m bandit -r . -x '/_deps/,/.venv/'
2 changes: 1 addition & 1 deletion .github/workflows/reusable_codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ jobs:
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y cmake clang libhwloc-dev libnuma-dev libjemalloc-dev libtbb-dev
sudo apt-get install -y cmake clang libhwloc-dev libnuma-dev libtbb-dev

# Latest distros do not allow global pip installation
- name: "[Lin] Install Python requirements in venv"
Expand Down
15 changes: 9 additions & 6 deletions .github/workflows/reusable_dax.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ env:
INSTL_DIR : "${{github.workspace}}/../install-dir"
COVERAGE_DIR : "${{github.workspace}}/coverage"
COVERAGE_NAME : "exports-coverage-dax"
DAX_TESTS: "./test/umf_test-provider_file_memory ./test/umf_test-provider_devdax_memory"

jobs:
dax:
Expand Down Expand Up @@ -106,8 +107,6 @@ jobs:
UMF_TESTS_FSDAX_PATH_2=${{env.UMF_TESTS_FSDAX_PATH_2}}
ctest -C ${{matrix.build_type}} -V -R "file|fsdax"

# TODO: enable the provider_devdax_memory_ipc test when the IPC tests with the proxy library are fixed
# see the issue: https://github.com/oneapi-src/unified-memory-framework/issues/864
- name: Run the DEVDAX tests with the proxy library
# proxy library is built only if libumf is a shared library
if: ${{ matrix.shared_library == 'ON' }}
Expand All @@ -116,10 +115,8 @@ jobs:
LD_PRELOAD=./lib/libumf_proxy.so
UMF_TESTS_DEVDAX_PATH="/dev/dax${{env.DEVDAX_NAMESPACE}}"
UMF_TESTS_DEVDAX_SIZE="$(ndctl list --namespace=namespace${{env.DEVDAX_NAMESPACE}} | grep size | cut -d':' -f2 | cut -d',' -f1)"
ctest -C ${{matrix.build_type}} -V -R devdax -E provider_devdax_memory_ipc
ctest -C ${{matrix.build_type}} -V -R devdax

# TODO: enable the provider_file_memory_ipc test when the IPC tests with the proxy library are fixed
# see the issue: https://github.com/oneapi-src/unified-memory-framework/issues/864
- name: Run the FSDAX tests with the proxy library
# proxy library is built only if libumf is a shared library
if: ${{ matrix.shared_library == 'ON' }}
Expand All @@ -128,7 +125,13 @@ jobs:
LD_PRELOAD=./lib/libumf_proxy.so
UMF_TESTS_FSDAX_PATH=${{env.UMF_TESTS_FSDAX_PATH}}
UMF_TESTS_FSDAX_PATH_2=${{env.UMF_TESTS_FSDAX_PATH_2}}
ctest -C ${{matrix.build_type}} -V -R "file|fsdax" -E provider_file_memory_ipc
ctest -C ${{matrix.build_type}} -V -R "file|fsdax"

- name: Run DAX tests under valgrind
run: |
${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{env.BUILD_DIR}} memcheck "${{env.DAX_TESTS}}"
${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{env.BUILD_DIR}} drd "${{env.DAX_TESTS}}"
${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{env.BUILD_DIR}} helgrind "${{env.DAX_TESTS}}"

- name: Check coverage
if: ${{ matrix.build_type == 'Debug' }}
Expand Down
Loading
Loading