GitHub Actions
Overview
Details on the self-hosted GitHub Actions runners provided by the RAPIDS Ops team.
Intended audience
Operations
Developers
Details
The RAPIDS Ops team provides a set of self-hosted runners that can be used in GitHub Action workflows throughout supported organizations. The tables below outline the labels that can be utilized and their related specifications.
CPU Label Combinations
The CPU labeled runners are backed by various EC2 instances and do not have any GPUs installed.
Label Combination | EC2 Machine Type |
---|---|
[linux, amd64, cpu4] |
m5d.xlarge 1 |
[linux, amd64, cpu8] |
m5d.2xlarge 1 |
[linux, amd64, cpu16] |
m5d.4xlarge 1 |
[linux, arm64, cpu4] |
m6gd.xlarge 2 |
[linux, arm64, cpu8] |
m6gd.2xlarge 2 |
[linux, arm64, cpu16] |
m6gd.4xlarge 2 |
Additional specifications:
GPU Label Combinations
The GPU labeled runners are backed by lab machines and have the GPUs specified in the table below installed.
IMPORTANT: GPU jobs have two requirements: 1) They must run in a container (i.e. nvidia/cuda:11.5.0-base-ubuntu18.04
) and 2) 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 Usage section below for an example.
Label Combination | GPU | Driver Version | # of GPUs |
---|---|---|---|
[linux, amd64, gpu-v100-495-1] |
Tesla-V100-PCIE-32GB |
495 |
1 |
Usage
The code snippet below shows how the labels above may be utilized in a GitHub Action workflow.
Note: It is important to add the self-hosted
label in addition to the labels described in the tables above.
name: Test Self Hosted Runners
on: push
jobs:
job1_cpu:
runs-on: [self-hosted, linux, amd64, cpu8]
steps:
- name: hello
run: echo "hello"
job2_gpu:
runs-on: [self-hosted, linux, amd64, gpu-v100-495-1]
container: # GPU jobs must run in a container
image: nvidia/cuda:11.5.0-base-ubuntu18.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, see the official GitHub Action documentation page here: https://docs.github.com/en/actions/hosting-your-own-runners/using-self-hosted-runners-in-a-workflow