Skip to content

Commit c2e081d

Browse files
committed
add nvidia job
1 parent f04b96e commit c2e081d

File tree

1 file changed

+151
-1
lines changed

1 file changed

+151
-1
lines changed

.github/workflows/linux.yml

+151-1
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ jobs:
4242
TEST_DATA: /__w/openvino_contrib/openvino_contrib/testdata
4343
INSTALL_DIR: /__w/openvino_contrib/openvino_contrib/openvino_install
4444
BUILD_DIR: /__w/openvino_contrib/openvino_contrib/openvino_build
45+
DEVELOPER_PACKAGE_DIR: /__w/openvino_contrib/openvino_contrib/developer_package_install
4546
GRADLE_VER: '7.1.1'
4647

4748
steps:
@@ -144,7 +145,9 @@ jobs:
144145
run: ccache --show-stats
145146

146147
- name: Cmake install
147-
run: cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -P ${BUILD_DIR}/cmake_install.cmake
148+
run: |
149+
cmake -DCMAKE_INSTALL_PREFIX=${INSTALL_DIR} -P ${BUILD_DIR}/cmake_install.cmake
150+
cmake -DCMAKE_INSTALL_PREFIX=${DEVELOPER_PACKAGE_DIR} -DCOMPONENT=developer_package -P ${BUILD_DIR}/cmake_install.cmake
148151
149152
- name: Java tests
150153
working-directory: ${{ env.OPENVINO_CONTRIB_REPO }}/modules/java_api
@@ -167,10 +170,157 @@ jobs:
167170
env:
168171
CUSTOM_OP_LIB: ${{ env.OPENVINO_REPO }}/bin/intel64/${{ env.CMAKE_BUILD_TYPE }}/libuser_ov_extensions.so
169172

173+
- name: Pack Artifacts
174+
run: |
175+
pushd ${INSTALL_DIR}
176+
tar -czvf ${BUILD_DIR}/openvino_package.tar.gz *
177+
popd
178+
179+
pushd ${DEVELOPER_PACKAGE_DIR}
180+
tar -czvf ${BUILD_DIR}/openvino_developer_package.tar.gz *
181+
popd
182+
170183
- name: Upload Test Results
171184
uses: actions/upload-artifact@v4
172185
if: ${{ !cancelled() }}
173186
with:
174187
name: test-results-java
175188
path: ${{ env.OPENVINO_CONTRIB_REPO }}/modules/java_api/build/test-results
176189
if-no-files-found: 'warn'
190+
191+
- name: Upload openvino package
192+
if: ${{ always() }}
193+
uses: actions/upload-artifact@v4
194+
with:
195+
name: openvino_package
196+
path: ${{ env.BUILD_DIR }}/openvino_package.tar.gz
197+
if-no-files-found: 'error'
198+
199+
- name: Upload openvino developer package
200+
if: ${{ always() }}
201+
uses: actions/upload-artifact@v4
202+
with:
203+
name: openvino_developer_package
204+
path: ${{ env.BUILD_DIR }}/openvino_developer_package.tar.gz
205+
if-no-files-found: 'error'
206+
207+
NVIDIA_Plugin:
208+
name: NVIDIA plugin
209+
needs: Build_and_test
210+
timeout-minutes: 40
211+
defaults:
212+
run:
213+
shell: bash
214+
runs-on: ubuntu-20.04-16-cores
215+
container:
216+
image: nvidia/cuda:11.8.0-cudnn8-runtime-ubuntu20.04
217+
env:
218+
CMAKE_BUILD_TYPE: 'Release'
219+
CMAKE_GENERATOR: 'Ninja Multi-Config'
220+
CMAKE_CUDA_COMPILER_LAUNCHER: ccache
221+
CMAKE_CXX_COMPILER_LAUNCHER: ccache
222+
CMAKE_C_COMPILER_LAUNCHER: ccache
223+
INSTALL_DIR: /__w/openvino_contrib/openvino_contrib/install
224+
OPENVINO_DEVELOPER_PACKAGE: /__w/openvino_contrib/openvino_contrib/install/developer_package
225+
OPENVINO_REPO: /__w/openvino_contrib/openvino_contrib/openvino
226+
OPENVINO_CONTRIB_REPO: /__w/openvino_contrib/openvino_contrib/openvino_contrib
227+
NVIDIA_BUILD_DIR: /__w/openvino_contrib/openvino_contrib/nvidia_plugin_build
228+
DEBIAN_FRONTEND: 'noninteractive'
229+
230+
steps:
231+
- name: Set apt retries
232+
run: echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80-retries
233+
234+
- name: Fetch install_build_dependencies.sh
235+
uses: actions/checkout@v4
236+
with:
237+
sparse-checkout: |
238+
install_build_dependencies.sh
239+
sparse-checkout-cone-mode: false
240+
path: ${{ env.OPENVINO_REPO }}
241+
242+
- name: Install Prerequisites
243+
run: apt update && apt install -y git ca-certificates
244+
245+
- name: Download OpenVINO package
246+
uses: actions/download-artifact@v4
247+
with:
248+
name: openvino_package
249+
path: ${{ env.INSTALL_DIR }}
250+
251+
- name: Download OpenVINO Developer package
252+
uses: actions/download-artifact@v4
253+
with:
254+
name: openvino_developer_package
255+
path: ${{ env.INSTALL_DIR }}
256+
257+
- name: Extract OpenVINO packages
258+
run: |
259+
pushd ${INSTALL_DIR}
260+
tar -xzf openvino_package.tar.gz -C ${INSTALL_DIR}
261+
popd
262+
263+
pushd ${INSTALL_DIR}
264+
tar -xzf openvino_developer_package.tar.gz -C ${INSTALL_DIR}
265+
popd
266+
267+
- name: Clone OpenVINO Contrib
268+
uses: actions/checkout@v4
269+
with:
270+
path: ${{ env.OPENVINO_CONTRIB_REPO }}
271+
272+
#
273+
# Dependencies
274+
#
275+
276+
- name: Install build dependencies
277+
run: |
278+
${OPENVINO_REPO}/install_build_dependencies.sh
279+
apt -y --no-install-recommends install software-properties-common curl
280+
281+
- name: Setup ccache
282+
uses: hendrikmuhs/ccache-action@v1.2
283+
with:
284+
max-size: "2000M"
285+
# Should save cache only if run in the master branch of the base repo
286+
# github.ref_name is 'ref/PR_#' in case of the PR, and 'branch_name' when executed on push
287+
save: ${{ github.ref_name == 'master' && 'true' || 'false' }}
288+
verbose: 2
289+
key: linux-ubuntu-nvidia
290+
restore-keys: |
291+
linux-ubuntu-nvidia
292+
293+
- name: Install CUDA
294+
run: |
295+
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
296+
mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
297+
298+
apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub
299+
add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
300+
apt update
301+
apt install -y \
302+
libcudnn8=8.9.4.*-1+cuda11.8 \
303+
libcudnn8-dev=8.9.4.*-1+cuda11.8 \
304+
libcudnn8-samples=8.9.4.*-1+cuda11.8 \
305+
cuda-runtime-11-8 \
306+
cuda-11-8 \
307+
libcutensor1=1.6.1.5-1 \
308+
libcutensor-dev=1.6.1.5-1 \
309+
cuda-drivers=520.61.05-1
310+
311+
#
312+
# Build
313+
#
314+
315+
- name: Cmake & Build - NVIDIA Plugin
316+
run: |
317+
source ${INSTALL_DIR}/setupvars.sh
318+
cmake \
319+
-DOpenVINODeveloperPackage_DIR=${OPENVINO_DEVELOPER_PACKAGE}/cmake \
320+
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \
321+
-S ${OPENVINO_CONTRIB_REPO}/modules/nvidia_plugin \
322+
-B ${NVIDIA_BUILD_DIR}
323+
cmake --build ${NVIDIA_BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --verbose -- ov_nvidia_func_tests ov_nvidia_unit_tests
324+
325+
- name: Show ccache stats
326+
run: ccache --show-stats

0 commit comments

Comments
 (0)