Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI] [GHA] Introduce GHA Linux CUDA Pipeline #19884

Merged
Changes from 21 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
a610ea2
add pipeline
akashchi Sep 15, 2023
6c23fca
Merge commit '0247f4a9abe98b5d6cd6b346a15f44123429b451' into ci/gha/i…
akashchi Sep 18, 2023
690a6df
rm triggers
akashchi Sep 18, 2023
f6b094f
Merge commit '233ae78ff4542f08eac242ff6a65ae96a9b83610' into ci/gha/i…
akashchi Sep 19, 2023
fb12c49
address comments
akashchi Sep 19, 2023
0b6e408
use uninteractive as env
akashchi Sep 19, 2023
f494c40
rm triggers
akashchi Sep 19, 2023
2b8b789
rm unused testdata
akashchi Sep 20, 2023
e62f0d2
Merge commit 'a558ebd4bcfee0972659481ed14ba39dc2e22269' into ci/gha/i…
akashchi Sep 20, 2023
bdd0d41
use better concurrency group
akashchi Sep 27, 2023
b02acb3
Merge commit 'd2ba528993a157a4bea6fb5568bf5972b87f1990' into ci/gha/i…
akashchi Sep 28, 2023
dab511a
use aks runner
akashchi Sep 28, 2023
a836275
correct path
akashchi Sep 28, 2023
39b613c
provide path
akashchi Sep 28, 2023
9215ccb
add missing cmake options; rm unnecessary dir creation
akashchi Sep 28, 2023
16daab7
Merge commit 'bcd331d145e5c1c34190d603e554e1dd6e0535e2' into ci/gha/i…
akashchi Oct 3, 2023
be020ab
use image from private docker
akashchi Oct 3, 2023
60f2b75
split OV and plugin cmake & build; do not fail on warning for plugin …
akashchi Oct 3, 2023
be00a97
use different build_dir for nvidia plugin
akashchi Oct 3, 2023
031af59
add missing options
akashchi Oct 3, 2023
f35aba6
rm unnecessary options; add target for build
akashchi Oct 3, 2023
5bad9d2
Apply suggestions from code review
ilya-lavrenov Oct 4, 2023
ec29458
Apply suggestions from code review
ilya-lavrenov Oct 4, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
142 changes: 142 additions & 0 deletions .github/workflows/linux_cuda.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
name: Linux NVIDIA Plugin (Ubuntu 20.04)
on:
workflow_dispatch:
pull_request:
paths-ignore:
- '**/docs/**'
- 'docs/**'
- '**/**.md'
- '**.md'
- '**/layer_tests_summary/**'
- '**/conformance/**'
push:
paths-ignore:
- '**/docs/**'
- 'docs/**'
- '**/**.md'
- '**.md'
- '**/layer_tests_summary/**'
- '**/conformance/**'
branches:
- master

concurrency:
# github.ref is not unique in post-commit
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-linux-nvidia
cancel-in-progress: true

jobs:
Build:
defaults:
run:
shell: bash
runs-on: aks-linux-16-cores
container:
image: openvinogithubactions.azurecr.io/dockerhub/nvidia/cuda:11.8.0-runtime-ubuntu20.04
volumes:
- /mount/caches:/mount/caches
env:
CMAKE_BUILD_TYPE: 'Release'
CMAKE_GENERATOR: 'Ninja Multi-Config'
CMAKE_CXX_COMPILER_LAUNCHER: ccache
ilya-lavrenov marked this conversation as resolved.
Show resolved Hide resolved
CMAKE_C_COMPILER_LAUNCHER: ccache
OPENVINO_REPO: /__w/openvino/openvino/openvino
OPENVINO_CONTRIB_REPO: /__w/openvino/openvino/openvino_contrib
OV_BUILD_DIR: /__w/openvino/openvino/openvino_build
NVIDIA_BUILD_DIR: /__w/openvino/openvino/nvidia_plugin_build
DEBIAN_FRONTEND: 'noninteractive'
akashchi marked this conversation as resolved.
Show resolved Hide resolved
CCACHE_DIR: /mount/caches/ccache/ubuntu20_x86_64_Release
CCACHE_TEMPDIR: /__w/openvino/openvino/ccache_temp
CCACHE_MAXSIZE: 50G
steps:

- name: Install Prerequisites
run: |
apt update
apt install -y git curl git git-lfs unzip wget
ilya-lavrenov marked this conversation as resolved.
Show resolved Hide resolved

- name: Clone OpenVINO
uses: actions/checkout@v3
with:
path: ${{ env.OPENVINO_REPO }}
submodules: 'true'

- name: Clone OpenVINO Contrib
uses: actions/checkout@v3
with:
repository: 'openvinotoolkit/openvino_contrib'
ilya-lavrenov marked this conversation as resolved.
Show resolved Hide resolved
path: ${{ env.OPENVINO_CONTRIB_REPO }}
submodules: 'true'
ilya-lavrenov marked this conversation as resolved.
Show resolved Hide resolved

#
# Dependencies
#

- name: Install build dependencies
run: |
${OPENVINO_REPO}/install_build_dependencies.sh

apt -y --no-install-recommends install unzip wget software-properties-common

- name: Install CUDA
run: |
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600

apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/3bf863cc.pub
add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /"
apt update
apt install -y \
libcudnn8=8.9.4.*-1+cuda11.8 \
libcudnn8-dev=8.9.4.*-1+cuda11.8 \
libcudnn8-samples=8.9.4.*-1+cuda11.8 \
cuda-runtime-11-8 \
cuda-11-8 \
libcutensor1=1.6.1.5-1 \
libcutensor-dev=1.6.1.5-1 \
cuda-drivers=520.61.05-1
akashchi marked this conversation as resolved.
Show resolved Hide resolved

#
# Build
#

- name: CMake configure
run: |
cmake \
-G "${{ env.CMAKE_GENERATOR }}" \
-DENABLE_CPPLINT=OFF \
-DENABLE_NCC_STYLE=OFF \
-DENABLE_SYSTEM_PUGIXML=ON \
-DENABLE_SYSTEM_OPENCL=ON \
-DENABLE_STRICT_DEPENDENCIES=OFF \
-DCMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }} \
-DENABLE_INTEL_CPU=OFF \
-DENABLE_INTEL_GPU=OFF \
-DENABLE_INTEL_GNA=OFF \
-DENABLE_OV_TF_FRONTEND=OFF \
akashchi marked this conversation as resolved.
Show resolved Hide resolved
-DENABLE_OV_TF_LITE=OFF \
-DENABLE_OV_PADDLE_FRONTEND=OFF \
-DENABLE_OV_PYTORCH_FRONTEND=OFF \
-DENABLE_OV_ONNX_FRONTEND=OFF \
-DENABLE_PYTHON=OFF \
-DENABLE_TESTS=ON \
akashchi marked this conversation as resolved.
Show resolved Hide resolved
-DCPACK_GENERATOR=TGZ \
-DCMAKE_COMPILE_WARNING_AS_ERROR=ON \
-S ${OPENVINO_REPO} \
-B ${OV_BUILD_DIR}

- name: Build - OpenVINO
run: |
cmake --build ${OV_BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --verbose --target ov_dev_targets

- name: Cmake & Build - NVIDIA Plugin
run: |
cmake \
-DOpenVINODeveloperPackage_DIR=${OV_BUILD_DIR} \
-DCMAKE_COMPILE_WARNING_AS_ERROR=OFF \
-S ${OPENVINO_CONTRIB_REPO}/modules/nvidia_plugin \
-B ${NVIDIA_BUILD_DIR}
cmake --build ${NVIDIA_BUILD_DIR} --parallel --config ${{ env.CMAKE_BUILD_TYPE }} --verbose -- ov_nvidia_func_tests ov_nvidia_unit_tests

- name: Show ccache stats
run: ccache --show-stats