Skip to content

Commit ae65dbf

Browse files
committed
Merge branch 'newDocker' of https://github.com/rbanka1/unified-memory-framework into newDocker
2 parents e14f45e + b442229 commit ae65dbf

File tree

7 files changed

+97
-30
lines changed

7 files changed

+97
-30
lines changed

.github/workflows/reusable_basic.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
install_tbb: ['ON']
3535
disable_hwloc: ['OFF']
3636
link_hwloc_statically: ['OFF']
37-
cmake_ver: ['latest']
37+
cmake_ver: ['default']
3838
include:
3939
- ubuntu_ver: 22.04
4040
build_type: Release
@@ -63,7 +63,7 @@ jobs:
6363
install_tbb: 'ON'
6464
disable_hwloc: 'OFF'
6565
link_hwloc_statically: 'OFF'
66-
cmake_ver: 'latest'
66+
cmake_ver: 'default'
6767
# test level_zero_provider='OFF' and cuda_provider='OFF'
6868
- ubuntu_ver: 22.04
6969
build_type: Release
@@ -74,7 +74,7 @@ jobs:
7474
install_tbb: 'ON'
7575
disable_hwloc: 'OFF'
7676
link_hwloc_statically: 'OFF'
77-
cmake_ver: 'latest'
77+
cmake_ver: 'default'
7878
# test icx compiler
7979
- ubuntu_ver: 22.04
8080
build_type: Release
@@ -85,7 +85,7 @@ jobs:
8585
install_tbb: 'ON'
8686
disable_hwloc: 'OFF'
8787
link_hwloc_statically: 'OFF'
88-
cmake_ver: 'latest'
88+
cmake_ver: 'default'
8989
# test lld linker
9090
- ubuntu_ver: 24.04
9191
build_type: Release

.github/workflows/reusable_valgrind.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
run: ${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{github.workspace}}/build memcheck
4343

4444
- name: Run tests with 'drd'
45-
run: ${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{github.workspace}}/build drd
45+
run: ${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{github.workspace}}/build drdshort
4646

4747
- name: Run tests with 'helgrind'
4848
run: ${{github.workspace}}/test/test_valgrind.sh ${{github.workspace}} ${{github.workspace}}/build helgrind

CMakeLists.txt

Lines changed: 43 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,13 @@ set_property(CACHE UMF_PROXY_LIB_BASED_ON_POOL
119119
PROPERTY STRINGS ${KNOWN_PROXY_LIB_POOLS})
120120
list(APPEND UMF_OPTIONS_LIST UMF_PROXY_LIB_BASED_ON_POOL)
121121

122+
if(UMF_DISABLE_HWLOC)
123+
message(
124+
WARNING
125+
"UMF_DISABLE_HWLOC option is now deprecated and will be removed in v0.12.0 UMF release!"
126+
)
127+
endif()
128+
122129
# --------------------------------------------------------------------------- #
123130
# Setup required variables, definitions; fetch dependencies; include
124131
# sub_directories based on build options; set flags; etc.
@@ -412,13 +419,24 @@ if(UMF_BUILD_LEVEL_ZERO_PROVIDER)
412419

413420
message(STATUS "Fetching Level Zero loader (${LEVEL_ZERO_LOADER_TAG}) "
414421
"from ${LEVEL_ZERO_LOADER_REPO} ...")
415-
FetchContent_Declare(
416-
level-zero-loader
417-
GIT_REPOSITORY ${LEVEL_ZERO_LOADER_REPO}
418-
GIT_TAG ${LEVEL_ZERO_LOADER_TAG}
419-
EXCLUDE_FROM_ALL)
420-
# Only populate the repo - we don't need to build it
421-
FetchContent_Populate(level-zero-loader)
422+
423+
# We don't want to build and include Level Zero binaries to our install
424+
# target. For CMake >= 3.28 we use EXCLUDE_FROM_ALL flag to do that, but
425+
# for older versions we need to use FetchContent_Populate.
426+
if(CMAKE_VERSION VERSION_LESS 3.28)
427+
FetchContent_Declare(
428+
level-zero-loader
429+
GIT_REPOSITORY ${LEVEL_ZERO_LOADER_REPO}
430+
GIT_TAG ${LEVEL_ZERO_LOADER_TAG})
431+
FetchContent_Populate(level-zero-loader)
432+
else()
433+
FetchContent_Declare(
434+
level-zero-loader
435+
GIT_REPOSITORY ${LEVEL_ZERO_LOADER_REPO}
436+
GIT_TAG ${LEVEL_ZERO_LOADER_TAG}
437+
EXCLUDE_FROM_ALL)
438+
FetchContent_MakeAvailable(level-zero-loader)
439+
endif()
422440

423441
set(LEVEL_ZERO_INCLUDE_DIRS
424442
${level-zero-loader_SOURCE_DIR}/include
@@ -457,13 +475,24 @@ if(UMF_BUILD_CUDA_PROVIDER)
457475

458476
message(
459477
STATUS "Fetching CUDA (${CUDA_TAG}) headers from ${CUDA_REPO} ...")
460-
FetchContent_Declare(
461-
cuda-headers
462-
GIT_REPOSITORY ${CUDA_REPO}
463-
GIT_TAG ${CUDA_TAG}
464-
EXCLUDE_FROM_ALL)
465-
# Only populate the repo - we don't need to build it
466-
FetchContent_Populate(cuda-headers)
478+
479+
# We don't want to build and include CUDA binaries to our install
480+
# target. For CMake >= 3.28 we could use EXCLUDE_FROM_ALL flag to do
481+
# that, but for older versions we need to use FetchContent_Populate.
482+
if(CMAKE_VERSION VERSION_LESS 3.28)
483+
FetchContent_Declare(
484+
cuda-headers
485+
GIT_REPOSITORY ${CUDA_REPO}
486+
GIT_TAG ${CUDA_TAG})
487+
FetchContent_Populate(cuda-headers)
488+
else()
489+
FetchContent_Declare(
490+
cuda-headers
491+
GIT_REPOSITORY ${CUDA_REPO}
492+
GIT_TAG ${CUDA_TAG}
493+
EXCLUDE_FROM_ALL)
494+
FetchContent_MakeAvailable(cuda-headers)
495+
endif()
467496

468497
set(CUDA_INCLUDE_DIRS
469498
${cuda-headers_SOURCE_DIR}

ChangeLog

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
1-
Tue Mar 18 2025 Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>
1+
Thu May 08 2025 Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>
22

3-
* Version 0.11.0-rc1
3+
* Version 0.11.1
44

5-
This is the first rc of v0.11.0 release. It contains:
5+
This patch release contains following changes:
6+
- check global state destruction in destructors (#1297)
7+
- a minor change in UMF logs (#1299)
8+
9+
Thu Apr 17 2025 Łukasz Stolarczuk <lukasz.stolarczuk@intel.com>
10+
11+
* Version 0.11.0
12+
13+
This release contains:
614
- make disjoint pool a C structure #898
715
- add fixed provider #976
816
- remove the Coarse provider #934 and replace with internal coarse library #931, #932

examples/cuda_shared_memory/CMakeLists.txt

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,23 @@ set(CUDA_REPO "https://gitlab.com/nvidia/headers/cuda-individual/cudart.git")
2828
set(CUDA_TAG cuda-12.5.1)
2929
message(STATUS "Fetching CUDA ${CUDA_TAG} from ${CUDA_REPO} ...")
3030

31-
FetchContent_Declare(
32-
cuda-headers
33-
GIT_REPOSITORY ${CUDA_REPO}
34-
GIT_TAG ${CUDA_TAG}
35-
EXCLUDE_FROM_ALL)
36-
FetchContent_Populate(cuda-headers)
31+
# We don't want to build and include CUDA binaries to our install target. For
32+
# CMake >= 3.28 we use EXCLUDE_FROM_ALL flag to do that, but for older versions
33+
# we need to use FetchContent_Populate.
34+
if(CMAKE_VERSION VERSION_LESS 3.28)
35+
FetchContent_Declare(
36+
cuda-headers
37+
GIT_REPOSITORY ${CUDA_REPO}
38+
GIT_TAG ${CUDA_TAG})
39+
FetchContent_Populate(cuda-headers)
40+
else()
41+
FetchContent_Declare(
42+
cuda-headers
43+
GIT_REPOSITORY ${CUDA_REPO}
44+
GIT_TAG ${CUDA_TAG}
45+
EXCLUDE_FROM_ALL)
46+
FetchContent_MakeAvailable(cuda-headers)
47+
endif()
3748

3849
set(CUDA_INCLUDE_DIRS
3950
${cuda-headers_SOURCE_DIR}

test/ipcFixtures.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -721,6 +721,7 @@ TEST_P(umfIpcTest, ConcurrentDestroyIpcHandlers) {
721721

722722
for (size_t i = 0; i < NUM_POOLS; ++i) {
723723
consumerPools.push_back(makePool());
724+
ASSERT_NE(consumerPools[i].get(), nullptr);
724725
}
725726

726727
for (size_t i = 0; i < NUM_ALLOCS; ++i) {

test/test_valgrind.sh

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,9 @@ TOOL=$3
1111
TESTS=$4
1212

1313
function print_usage() {
14-
echo "$(basename $0) - run UMF tests and examples under a valgrind tool (memcheck, drd or helgrind)"
15-
echo "Usage: $(basename $0) <workspace_dir> <build_dir> <memcheck|drd|helgrind> [tests_examples]"
14+
echo "$(basename $0) - run UMF tests and examples under a valgrind tool (memcheck, drd, drdshort or helgrind)"
15+
echo " drdshort - same as drd, but the longest lasting tests are excluded"
16+
echo "Usage: $(basename $0) <workspace_dir> <build_dir> <memcheck|drd|drdshort|helgrind> [tests_examples]"
1617
echo "Where:"
1718
echo
1819
echo "tests_examples - (optional) list of tests or examples to be run (paths relative to the <build_dir> build directory)."
@@ -43,13 +44,20 @@ if [ $(ls -1 ${BUILD_DIR}/test/test_* 2>/dev/null | wc -l) -eq 0 ]; then
4344
exit 1
4445
fi
4546

47+
EXCLUDE_LONGEST_TESTS=0
48+
4649
case $TOOL in
4750
memcheck)
4851
OPTION="--leak-check=full"
4952
;;
5053
drd)
5154
OPTION="--tool=drd"
5255
;;
56+
drdshort)
57+
OPTION="--tool=drd"
58+
TOOL="drd"
59+
EXCLUDE_LONGEST_TESTS=1
60+
;;
5361
helgrind)
5462
OPTION="--tool=helgrind"
5563
;;
@@ -150,6 +158,16 @@ for test in $TESTS; do
150158
;;
151159
esac
152160

161+
if [ $EXCLUDE_LONGEST_TESTS -eq 1 ]; then
162+
# skip the longest tests
163+
case $test in
164+
./test/test_jemalloc_pool|./test/test_jemalloc_coarse_file|./test/test_scalable_pool|./test/test_ipc_max_opened_limit)
165+
echo "- SKIPPED (VERY LONG TEST)"
166+
continue;
167+
;;
168+
esac
169+
fi
170+
153171
[ "$FILTER" != "" ] && echo -n "($FILTER) "
154172

155173
LAST_TEST_FAILED=0

0 commit comments

Comments
 (0)