@@ -5,10 +5,14 @@ name: GPU
5
5
on :
6
6
workflow_call :
7
7
inputs :
8
- name :
8
+ provider :
9
9
description : Provider name
10
10
type : string
11
11
required : true
12
+ runner :
13
+ description : Runner name (without 'DSS-' prefix)
14
+ type : string
15
+ required : true
12
16
os :
13
17
description : A list of OSes
14
18
type : string
36
40
env :
37
41
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;"
38
42
CUDA_PATH : " C:/cuda"
39
- COVERAGE_NAME : " exports-coverage-${{inputs.name }}"
43
+ COVERAGE_NAME : " exports-coverage-${{inputs.provider}}-${{inputs.runner }}"
40
44
# run only on upstream; forks will not have the HW
41
45
if : github.repository == 'oneapi-src/unified-memory-framework'
42
46
strategy :
@@ -45,16 +49,24 @@ jobs:
45
49
shared_library : ${{ fromJSON(inputs.shared_lib)}}
46
50
os : ${{ fromJSON(inputs.os)}}
47
51
build_type : ${{ fromJSON(inputs.build_type)}}
48
- include :
49
- - os : ' Ubuntu'
50
- compiler : {c: gcc, cxx: g++}
51
- number_of_processors : ' $(nproc)'
52
- - os : ' Windows'
53
- compiler : {c: cl, cxx: cl}
54
- number_of_processors : ' $Env:NUMBER_OF_PROCESSORS'
55
-
56
- runs-on : ["DSS-${{inputs.name}}", "DSS-${{matrix.os}}"]
52
+
53
+ runs-on : ["DSS-${{inputs.runner}}", "DSS-${{matrix.os}}"]
57
54
steps :
55
+ # Set number of processes and compiler based on OS
56
+ - name : " [Win] Establish build params"
57
+ if : ${{ matrix.os == 'Windows' }}
58
+ run : |
59
+ echo "C_COMPILER=cl" >> $GITHUB_ENV
60
+ echo "CXX_COMPILER=cl" >> $GITHUB_ENV
61
+ echo "PROCS=$Env:NUMBER_OF_PROCESSORS" >> $GITHUB_ENV
62
+
63
+ - name : " [Lin] Establish build params"
64
+ if : ${{ matrix.os == 'Ubuntu' }}
65
+ run : |
66
+ echo "C_COMPILER=gcc" >> $GITHUB_ENV
67
+ echo "CXX_COMPILER=g++" >> $GITHUB_ENV
68
+ echo "PROCS=$(nproc)" >> $GITHUB_ENV
69
+
58
70
- name : Checkout
59
71
uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
60
72
with :
85
97
-B ${{env.BUILD_DIR}}
86
98
-DCMAKE_INSTALL_PREFIX="${{env.INSTL_DIR}}"
87
99
-DCMAKE_BUILD_TYPE=${{matrix.build_type}}
88
- -DCMAKE_C_COMPILER=${{matrix.compiler.c }}
89
- -DCMAKE_CXX_COMPILER=${{matrix.compiler.cxx }}
100
+ -DCMAKE_C_COMPILER=${{env.C_COMPILER }}
101
+ -DCMAKE_CXX_COMPILER=${{env.CXX_COMPILER }}
90
102
-DUMF_BUILD_SHARED_LIBRARY=${{matrix.shared_library}}
91
103
-DUMF_BUILD_BENCHMARKS=ON
92
104
-DUMF_BUILD_BENCHMARKS_MT=ON
@@ -97,13 +109,13 @@ jobs:
97
109
-DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
98
110
-DUMF_BUILD_CUDA_PROVIDER=OFF
99
111
-DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
100
- -DUMF_BUILD_${{inputs.name }}_PROVIDER=ON
112
+ -DUMF_BUILD_${{inputs.provider }}_PROVIDER=ON
101
113
-DUMF_TESTS_FAIL_ON_SKIP=ON
102
114
${{ matrix.os == 'Ubuntu' && matrix.build_type == 'Debug' && '-DUMF_USE_COVERAGE=ON' || '' }}
103
115
${{ matrix.os == 'Windows' && '-DCMAKE_SUPPRESS_REGENERATION=ON' || '' }}
104
116
105
117
- name : Build UMF
106
- run : cmake --build ${{env.BUILD_DIR}} --config ${{matrix.build_type}} -j ${{matrix.number_of_processors }}
118
+ run : cmake --build ${{env.BUILD_DIR}} --config ${{matrix.build_type}} -j ${{env.PROCS }}
107
119
108
120
- name : Run tests
109
121
working-directory : ${{env.BUILD_DIR}}
0 commit comments