@@ -5,10 +5,14 @@ name: GPU
55on :
66 workflow_call :
77 inputs :
8- name :
8+ provider :
99 description : Provider name
1010 type : string
1111 required : true
12+ runner :
13+ description : Runner name (without 'DSS-' prefix)
14+ type : string
15+ required : true
1216 os :
1317 description : A list of OSes
1418 type : string
3640 env :
3741 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;"
3842 CUDA_PATH : " C:/cuda"
39- COVERAGE_NAME : " exports-coverage-${{inputs.name }}"
43+ COVERAGE_NAME : " exports-coverage-${{inputs.provider}}-${{inputs.runner }}"
4044 # run only on upstream; forks will not have the HW
4145 if : github.repository == 'oneapi-src/unified-memory-framework'
4246 strategy :
@@ -45,16 +49,24 @@ jobs:
4549 shared_library : ${{ fromJSON(inputs.shared_lib)}}
4650 os : ${{ fromJSON(inputs.os)}}
4751 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}}"]
5754 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+
5870 - name : Checkout
5971 uses : actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
6072 with :
8597 -B ${{env.BUILD_DIR}}
8698 -DCMAKE_INSTALL_PREFIX="${{env.INSTL_DIR}}"
8799 -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 }}
90102 -DUMF_BUILD_SHARED_LIBRARY=${{matrix.shared_library}}
91103 -DUMF_BUILD_BENCHMARKS=ON
92104 -DUMF_BUILD_BENCHMARKS_MT=ON
@@ -97,13 +109,13 @@ jobs:
97109 -DUMF_BUILD_LIBUMF_POOL_JEMALLOC=ON
98110 -DUMF_BUILD_CUDA_PROVIDER=OFF
99111 -DUMF_BUILD_LEVEL_ZERO_PROVIDER=OFF
100- -DUMF_BUILD_${{inputs.name }}_PROVIDER=ON
112+ -DUMF_BUILD_${{inputs.provider }}_PROVIDER=ON
101113 -DUMF_TESTS_FAIL_ON_SKIP=ON
102114 ${{ matrix.os == 'Ubuntu' && matrix.build_type == 'Debug' && '-DUMF_USE_COVERAGE=ON' || '' }}
103115 ${{ matrix.os == 'Windows' && '-DCMAKE_SUPPRESS_REGENERATION=ON' || '' }}
104116
105117 - 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 }}
107119
108120 - name : Run tests
109121 working-directory : ${{env.BUILD_DIR}}
0 commit comments