Overview¶
This page includes information about the self-hosted runners that are available from NVIDIA and how to use them.
CPU Runners¶
The CPU labeled runners are backed by various EC2 instances and do not have any GPUs installed.
Runner labels have been moved to nv-gha-runners/enterprise-runner-configuration. These resources will be consolidated in the future.
Info
The CPU label names consist of the following components:
linux-amd64-cpu4
^ ^ ^ ^
| | | |
| | | CPU Core Count
| | CPU Designator
| Architecture
Operating System
GPU Runners¶
The GPU labeled runners have the GPUs specified in the table below installed.
Important!
GPU jobs have two requirements:
- They must run in a container (i.e.
nvidia/cuda:12.0.0-base-ubuntu22.04
) - They must set the
NVIDIA_VISIBLE_DEVICES: ${{ env.NVIDIA_VISIBLE_DEVICES }}
container environment variable
If these requirements aren't met, the GitHub Actions job will fail. See the Example section below for an example.
Runner labels have been moved to nv-gha-runners/enterprise-runner-configuration. These resources will be consolidated in the future.
Info
The GPU label names consist of the following components:
linux-amd64-gpu-t4-latest-1
^ ^ ^ ^ ^ ^
| | | | | |
| | | | | Number of GPUs Available
| | | | GPU Driver Version
| | | GPU Type
| | GPU Designator
| Architecture
Operating System
Due to limited GPU capacity and the overhead associated with manually rotating self-hosted runner labels when GPU drivers are updated, there are no driver-specific self-hosted runner labels (e.g. linux-amd64-gpu-t4-550-1
).
Instead, the driver-version designators earliest
and latest
are used. The values of these designators represent the oldest and newest NVIDIA supported drivers at any given time.
The chart above will be kept up-to-date with the corresponding driver versions at any given time.
Supported organizations will be notified whenever these versions are scheduled to be updated.
Example¶
The code snippet below shows how the labels above may be utilized in a GitHub Action workflow.
name: Test Self Hosted Runners
on: push
jobs:
job1_cpu:
runs-on: linux-amd64-cpu8
steps:
- name: hello
run: echo "hello"
job2_gpu:
runs-on: linux-amd64-gpu-v100-latest-1
container: # GPU jobs must run in a container
image: nvidia/cuda:12.0.0-base-ubuntu22.04
env:
NVIDIA_VISIBLE_DEVICES: ${{ env.NVIDIA_VISIBLE_DEVICES }} # GPU jobs must set this container env variable
steps:
- name: hello
run: |
echo "hello"
nvidia-smi
For additional details on self-hosted runner usage, see the official GitHub Action documentation page here.