diff --git a/docs/dev/ci/github_actions/overview.md b/docs/dev/ci/github_actions/overview.md index 2a3c3027fe4..05dc980ebb5 100644 --- a/docs/dev/ci/github_actions/overview.md +++ b/docs/dev/ci/github_actions/overview.md @@ -274,7 +274,7 @@ You can run jobs in Docker containers. Refer to [the documentation for syntax overview](https://docs.github.com/en/actions/using-jobs/running-jobs-in-a-container). Workflows utilize appropriate Docker images based on their jobs' needs. Learn more about the -available images and how to choose one in the [hOpenVINO Docker Image Overview](./docker_images.md). +available images and how to choose one in the [OpenVINO Docker Image Overview](./docker_images.md). ## Caches diff --git a/docs/dev/ci/github_actions/runners.md b/docs/dev/ci/github_actions/runners.md index 0fac0bed90b..30c85ab4724 100644 --- a/docs/dev/ci/github_actions/runners.md +++ b/docs/dev/ci/github_actions/runners.md @@ -38,7 +38,14 @@ OpenVINO repositories make use of the following runners: ## Available Self-hosted Runners -The self-hosted runners are dynamically spawned for each requested pipeline. +Two groups of self-hosted runners are available: + +* Dynamically-spawned Linux and Windows runners with CPU-only capabilities +* Dedicated Linux runners with GPU capabilities + +### Dynamically-spawned Linux and Windows Runners + +These self-hosted runners are dynamically spawned for each requested pipeline. Several configurations are available, which are identified by different group names. The group names generally follow the pattern: `aks-{OS}-{CORES_N}-cores-|{RAM_SIZE}gb|-|{ARCH}|`, where: @@ -65,6 +72,50 @@ The available configurations are: * `*` - Not specified in the group name +### Dedicated GPU Runners + +Eighteen runners with GPU capabilities (both integrated and discrete, iGPU and dGPU) +are available to all repositories in the OpenVINO organisation's GitHub Actions. + +These runners are virtual machines with Ubuntu 22.04 and have the following specifications: + +* CPU: i9-12900k +* All of them have iGPU (UHD 770 Graphics) +* Twelve of them have iGPU (UHD 770 Graphics) and dGPU (Arc A770) + +These runners may be selected using labels provided in the `runs-on` field in a job configuration. +The available labels are: +* `gpu` - encapsulates all the 18 runners +* `igpu` - encapsulates all the 18 runners as all of them have iGPU +* `dgpu` - encapsulates 12 runners that have dGPU + +Here is an example, a `GPU Tests` job that uses the `gpu` label and runs on any available GPU runner: +```yaml + GPU: + name: GPU Tests + needs: [ Build, Smart_CI ] + runs-on: [ self-hosted, gpu ] + container: + image: ubuntu:20.04 + options: --device /dev/dri:/dev/dri --group-add 109 --group-add 44 + volumes: + - /dev/dri:/dev/dri + ... +``` + +If, for example, a job requires a dGPU, it should use the `dgpu` label, instead: +```yaml + GPU: + name: GPU Tests + needs: [ Build, Smart_CI ] + runs-on: [ self-hosted, dgpu ] + ... +``` + +**NOTE**: as these are persistent runners, Docker should be used for the jobs that utilise the GPU runners. +Learn more about the +available images and how to choose one in the [OpenVINO Docker Image Overview](./docker_images.md). + ## How to Choose a Runner The configuration of a runner required for a job (building, testing, other tasks) depends on the