Skip to content

Commit ea08f87

Browse files
committed
add CUDA provider
1 parent 70b5d21 commit ea08f87

25 files changed

+755
-9
lines changed

.github/workflows/basic.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ jobs:
122122
- name: Set ptrace value for IPC test
123123
run: sudo bash -c "echo 0 > /proc/sys/kernel/yama/ptrace_scope"
124124

125+
# TODO cuda
126+
125127
- name: Configure build
126128
run: >
127129
${{ matrix.compiler.cxx == 'icpx' && '. /opt/intel/oneapi/setvars.sh &&' || ''}}
@@ -133,6 +135,7 @@ jobs:
133135
-DCMAKE_C_COMPILER=${{matrix.compiler.c}}
134136
-DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}}
135137
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=${{matrix.level_zero_provider}}
138+
-DUMF_BUILD_CUDA_PROVIDER=ON
136139
-DUMF_FORMAT_CODE_STYLE=OFF
137140
-DUMF_DEVELOPER_MODE=ON
138141
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
@@ -287,6 +290,7 @@ jobs:
287290
-DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
288291
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=OFF
289292
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
293+
-DUMF_BUILD_CUDA_PROVIDER=ON
290294
-DUMF_TESTS_FAIL_ON_SKIP=ON
291295
-DUMF_LINK_HWLOC_STATICALLY=ON
292296
@@ -329,6 +333,7 @@ jobs:
329333
-DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
330334
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=OFF
331335
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
336+
-DUMF_BUILD_CUDA_PROVIDER=ON
332337
-DUMF_TESTS_FAIL_ON_SKIP=ON
333338
-DUMF_LINK_HWLOC_STATICALLY=ON
334339

.github/workflows/benchmarks.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ jobs:
6363
-DUMF_FORMAT_CODE_STYLE=OFF
6464
-DUMF_DEVELOPER_MODE=OFF
6565
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
66+
-DUMF_BUILD_CUDA_PROVIDER=ON
6667
-DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
6768
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
6869

.github/workflows/codeql.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ jobs:
8484
-DUMF_DEVELOPER_MODE=ON
8585
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
8686
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
87+
-DUMF_BUILD_CUDA_PROVIDER=ON
8788
-DUMF_TESTS_FAIL_ON_SKIP=ON
8889
8990
- name: Build

.github/workflows/fast.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ jobs:
106106
-DUMF_BUILD_TESTS=${{matrix.build_tests}}
107107
-DUMF_BUILD_EXAMPLES=ON
108108
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
109+
-DUMF_BUILD_CUDA_PROVIDER=ON
109110
-DUMF_TESTS_FAIL_ON_SKIP=ON
110111
-DUMF_BUILD_SHARED_LIBRARY=ON
111112
${{matrix.extra_build_options}}

.github/workflows/gpu.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ jobs:
6363
-DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
6464
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
6565
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
66+
-DUMF_BUILD_CUDA_PROVIDER=ON
6667
-DUMF_TESTS_FAIL_ON_SKIP=ON
6768
6869
- name: Configure build for Ubuntu
@@ -84,6 +85,7 @@ jobs:
8485
-DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
8586
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
8687
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
88+
-DUMF_BUILD_CUDA_PROVIDER=ON
8789
-DUMF_TESTS_FAIL_ON_SKIP=ON
8890
8991
- name: Build UMF

.github/workflows/nightly.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ jobs:
7979
-DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
8080
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
8181
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
82+
-DUMF_BUILD_CUDA_PROVIDER=OFF
8283
-DUMF_USE_VALGRIND=1
8384
-DUMF_TESTS_FAIL_ON_SKIP=ON
8485

.github/workflows/pr_push.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ jobs:
3737
-DUMF_FORMAT_CODE_STYLE=ON
3838
-DUMF_BUILD_TESTS=OFF
3939
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
40+
-DUMF_BUILD_CUDA_PROVIDER=OFF
4041
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=OFF
4142
4243
- name: Check C/C++ formatting

.github/workflows/sanitizers.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ jobs:
5555
-DCMAKE_C_COMPILER=${{matrix.compiler.c}}
5656
-DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx}}
5757
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=ON
58+
-DUMF_BUILD_CUDA_PROVIDER=ON
5859
-DUMF_FORMAT_CODE_STYLE=OFF
5960
-DUMF_DEVELOPER_MODE=ON
6061
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
@@ -130,6 +131,7 @@ jobs:
130131
-DUMF_USE_ASAN=${{matrix.sanitizers.asan}}
131132
-DUMF_BUILD_EXAMPLES=ON
132133
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
134+
-DUMF_BUILD_CUDA_PROVIDER=OFF
133135
-DUMF_TESTS_FAIL_ON_SKIP=ON
134136
135137
- name: Build UMF

.github/workflows/valgrind.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ jobs:
3535
-DUMF_BUILD_LIBUMF_POOL_DISJOINT=ON
3636
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
3737
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
38+
-DUMF_BUILD_CUDA_PROVIDER=OFF
3839
-DUMF_USE_VALGRIND=1
3940
-DUMF_TESTS_FAIL_ON_SKIP=ON
4041

CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ find_package(PkgConfig)
3636
# Build Options
3737
option(UMF_BUILD_SHARED_LIBRARY "Build UMF as shared library" OFF)
3838
option(UMF_BUILD_LEVEL_ZERO_PROVIDER "Build Level Zero memory provider" ON)
39+
option(UMF_BUILD_CUDA_PROVIDER "Build CUDA memory provider" ON)
3940
option(UMF_BUILD_LIBUMF_POOL_DISJOINT
4041
"Build the libumf_pool_disjoint static library" OFF)
4142
option(UMF_BUILD_LIBUMF_POOL_JEMALLOC
@@ -399,6 +400,11 @@ if(UMF_BUILD_LEVEL_ZERO_PROVIDER)
399400
add_optional_symbol(umfLevelZeroMemoryProviderOps)
400401
endif()
401402

403+
# Conditional configuration for CUDA provider
404+
if(UMF_BUILD_CUDA_PROVIDER)
405+
add_optional_symbol(umfCUDAMemoryProviderOps)
406+
endif()
407+
402408
if(NOT UMF_DISABLE_HWLOC)
403409
add_optional_symbol(umfOsMemoryProviderOps)
404410
endif()

0 commit comments

Comments
 (0)