Skip to content

Commit 1d42ca6

Browse files
skedwards88lkfortunalecoursen
authored
Combo PR for GPU runners, 2 vCPU linux runners, and hardware acceleration (#49959)
Co-authored-by: Larissa Fortuna <[email protected]> Co-authored-by: Laura Coursen <[email protected]>
1 parent 2efa02f commit 1d42ca6

File tree

10 files changed

+85
-45
lines changed

10 files changed

+85
-45
lines changed

content/actions/learn-github-actions/usage-limits-billing-and-administration.md

+8-4
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,17 @@ There are some limits on {% data variables.product.prodname_actions %} usage whe
6060

6161
**{% data variables.product.prodname_dotcom %}-hosted {% data variables.actions.hosted_runner %}s**
6262

63-
| GitHub plan | Total concurrent jobs | Maximum concurrent macOS jobs |
64-
|---|---|---|
65-
| All | 1000 | The limit is based on your {% data variables.product.prodname_dotcom %} plan. |
63+
| GitHub plan | Total concurrent jobs | Maximum concurrent macOS jobs | Maximum concurrent GPU jobs |
64+
|---|---|---|---|
65+
| Team | 1000 | 5 | 100 |
66+
| Enterprise | 1000 | 50 | 100 |
6667

6768
{% note %}
6869

69-
**Note:** If required, customers on enterprise plans can request a higher limit for concurrent jobs. For more information, contact us through the {% data variables.contact.contact_support_portal %}, or contact your sales representative.
70+
**Notes:**
71+
72+
- If required, customers on enterprise plans can request a higher limit for concurrent jobs. For more information, contact us through the {% data variables.contact.contact_support_portal %}, or contact your sales representative.
73+
- The maximum concurrent macOS jobs is shared across standard {% data variables.product.prodname_dotcom %}-hosted runner and {% data variables.product.prodname_dotcom %}-hosted {% data variables.actions.hosted_runner %}s.
7074

7175
{% endnote %}
7276

content/actions/using-github-hosted-runners/about-github-hosted-runners/about-github-hosted-runners.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,8 @@ While the job runs, the logs and output can be viewed in the {% data variables.p
120120
121121
{% data variables.product.prodname_dotcom %}-hosted runners are available for use in both public and private repositories.
122122
123+
{% data variables.product.prodname_dotcom %}-hosted Linux runners support hardware acceleration for Android SDK tools, which makes running Android tests much faster and consumes fewer minutes. For more information on Android hardware acceleration, see [Configure hardware acceleration for the Android Emulator](https://developer.android.com/studio/run/emulator-acceleration) in the Android Developers documentation.
124+
123125
{% note %}
124126
125127
**Note:** The `-latest` runner images are the latest stable images that {% data variables.product.prodname_dotcom %} provides, and might not be the most recent version of the operating system available from the operating system vendor.
@@ -178,9 +180,7 @@ You can install additional software on {% data variables.product.prodname_dotcom
178180

179181
{% data variables.product.prodname_dotcom %} hosts Linux and Windows runners on virtual machines in Microsoft Azure with the {% data variables.product.prodname_actions %} runner application installed. The {% data variables.product.prodname_dotcom %}-hosted runner application is a fork of the Azure Pipelines Agent. Inbound ICMP packets are blocked for all Azure virtual machines, so ping or traceroute commands might not work. {% data variables.product.prodname_dotcom %} hosts macOS runners in Azure data centers.
180182

181-
{% data variables.product.prodname_dotcom %} provides different Linux and Windows runners for public and private repositories.
182-
- For Linux and Windows runners in **public** repositories, GitHub uses `Standard_D4ads_v5` virtual machines. For more information, see [Dasv5 and Dadsv5-series](https://learn.microsoft.com/en-us/azure/virtual-machines/dasv5-dadsv5-series#dadsv5-series) in the Microsoft Azure documentation.
183-
- For Linux and Windows runners in **private** repositories, GitHub uses `Standard_DS2_v2` virtual machines. For more information, see [Dv2 and DSv2-series](https://learn.microsoft.com/en-us/azure/virtual-machines/dv2-dsv2-series#dsv2-series) in the Microsoft Azure documentation.
183+
For Linux and Windows runners, GitHub uses `Dadsv5-series` virtual machines. For more information, see [Dasv5 and Dadsv5-series](https://learn.microsoft.com/en-us/azure/virtual-machines/dasv5-dadsv5-series#dadsv5-series) in the Microsoft Azure documentation.
184184

185185
## Workflow continuity
186186

content/actions/using-github-hosted-runners/about-larger-runners/about-larger-runners.md

+26-15
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: About larger runners
33
shortTitle: About larger runners
4-
intro: '{% data variables.product.prodname_dotcom %} offers runners with more RAM, CPU, and disk space.'
4+
intro: '{% data variables.product.prodname_dotcom %} offers runners with advanced features to support more customized use cases.'
55
permissions: '{% data reusables.actions.larger-runner-permissions %}'
66
versions:
77
feature: actions-hosted-runners
@@ -13,7 +13,7 @@ redirect_from:
1313

1414
{% data reusables.actions.about-larger-runners %}
1515

16-
{% data variables.product.prodname_dotcom %} offers {% data variables.actions.hosted_runners %} with macOS, Ubuntu, or Windows operating systems, and different features are available depending on which operating system you use. For more information, see "[Additional features for {% data variables.actions.hosted_runners %}](#additional-features-for-larger-runners)."
16+
{% data variables.product.prodname_dotcom %} offers {% data variables.actions.hosted_runners %} with macOS, Ubuntu, or Windows operating systems, and different features and sizes are available depending on which operating system you use. For more information, see "[Additional features for {% data variables.actions.hosted_runners %}](#additional-features-for-larger-runners)."
1717

1818
### About Ubuntu and Windows {% data variables.actions.hosted_runners %}
1919

@@ -45,7 +45,6 @@ Compared to standard {% data variables.product.prodname_dotcom %}-hosted runners
4545

4646
| Operating system | Ubuntu | Windows | macOS |
4747
| -------------------------------------------- | ------ | ------- | ----- |
48-
| Hardware acceleration for Android SDK tools | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} | {% octicon "x" aria-label="Not supported" %} |
4948
| Static IP addresses | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} |
5049
| Autoscaling | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} |
5150
| Runner groups | {% octicon "check" aria-label="Supported" %} | {% octicon "check" aria-label="Supported" %} | {% octicon "x" aria-label="Not supported" %} |
@@ -54,12 +53,11 @@ Compared to standard {% data variables.product.prodname_dotcom %}-hosted runners
5453

5554
These features can enhance your CI/CD pipelines in the following ways.
5655

57-
- Hardware acceleration for the Android SDK tools makes running Android tests much faster and consumes fewer minutes. For more information on Android hardware acceleration, see [Configure hardware acceleration for the Android Emulator](https://developer.android.com/studio/run/emulator-acceleration) in the Android Developers documentation.
5856
- Assigning {% data variables.actions.hosted_runners %} static IP addresses from a specific range enables you to use this range to configure a firewall allowlist. For more information, see "[Networking for {% data variables.actions.hosted_runners %}](#networking-for-larger-runners)."
5957
- Autoscaling enables {% data variables.actions.hosted_runners %} to scale up to a maximum limit set by you, so your workflows can run concurrently. For more information, see "[Autoscaling {% data variables.actions.hosted_runners %}](#autoscaling-larger-runners)."
6058
- Runner groups allow you to control access to {% data variables.actions.hosted_runners %} for your organizations, repositories, and workflows. For more information, see "[AUTOTITLE](/actions/using-github-hosted-runners/controlling-access-to-larger-runners)."
6159

62-
For a full list of included tools for each runner operating system, see the [{% data variables.product.prodname_actions %} Runner Images](https://github.com/actions/runner-images) repository.
60+
For a full list of included tools for each runner operating system (excluding GPU runners), see the [{% data variables.product.prodname_actions %} Runner Images](https://github.com/actions/runner-images) repository. For GPU runners, see [NVIDIA GPU-Optimized VMI](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/nvidia.ngc_azure_17_11) and [Data Science Virtual Machine - Windows 2019](https://azuremarketplace.microsoft.com/en-us/marketplace/apps/microsoft-dsvm.dsvm-win-2019?tab=overview).
6361

6462
### Understanding billing
6563

@@ -73,15 +71,28 @@ Compared to standard {% data variables.product.prodname_dotcom %}-hosted runners
7371

7472
## Machine sizes for {% data variables.actions.hosted_runners %}
7573

76-
| Processor (CPU)| Memory (RAM) | Storage (SSD) | Operating system (OS) |
77-
| -------------- | ------------- | ------------- | --------------------- |
78-
| 6 | 14 GB | 14 GB | macOS |
79-
| 12 | 30 GB | 14 GB | macOS |
80-
| 4 | 16 GB | 150 GB | Ubuntu |
81-
| 8 | 32 GB | 300 GB | Ubuntu, Windows |
82-
| 16 | 64 GB | 600 GB | Ubuntu, Windows |
83-
| 32 | 128 GB | 1200 GB | Ubuntu, Windows |
84-
| 64 | 256 GB | 2040 GB | Ubuntu, Windows |
74+
You can choose from several specifications for {% data variables.actions.hosted_runners %}.
75+
76+
### Specifications for general {% data variables.actions.hosted_runners %}
77+
78+
| CPU | Memory (RAM) | Storage (SSD) | Operating system (OS) |
79+
| --- | ------------- | ------------- | --------------------- |
80+
| 6 | 14 GB | 14 GB | macOS |
81+
| 12 | 30 GB | 14 GB | macOS |
82+
| 2 | 8 GB | 14 GB | Ubuntu |
83+
| 4 | 16 GB | 150 GB | Ubuntu, Windows |
84+
| 8 | 32 GB | 300 GB | Ubuntu, Windows |
85+
| 16 | 64 GB | 600 GB | Ubuntu, Windows |
86+
| 32 | 128 GB | 1200 GB | Ubuntu, Windows |
87+
| 64 | 256 GB | 2040 GB | Ubuntu, Windows |
88+
89+
### Specifications for GPU {% data variables.actions.hosted_runners %}
90+
91+
{% data reusables.actions.gpu-runner-beta-note %}
92+
93+
| CPU | GPU | GPU card | Memory (RAM) | GPU memory (VRAM) | Storage (SSD) | Operating system (OS) |
94+
| --- | --- | -------- | ------------ | ----------------- | ------------- | --------------------- |
95+
| 4 | 1 | Tesla T4 | 28 GB | 16 GB | 176 GB | Ubuntu, Windows |
8596

8697
## About runner groups
8798

@@ -123,7 +134,7 @@ In the following diagram, a class of hosted runner named `ubuntu-20.04-16core` h
123134

124135
{% data variables.actions.hosted_runner_caps %}s can automatically scale to suit your needs. You can provision machines to run a specified maximum number of jobs when jobs are submitted for processing. Each machine only handles one job at a time, so these settings effectively determine the number of jobs that can be run concurrently.
125136

126-
You can configure the maximum job concurrency, which allows you to control your costs by setting the maximum parallel number of jobs that can be run using this set. A higher value here can help avoid workflows being blocked due to parallelism. For more information, see "[AUTOTITLE](/actions/using-github-hosted-runners/managing-larger-runners#configuring-autoscaling-for-larger-runners)."
137+
You can configure the maximum job concurrency, which allows you to control your costs by setting the maximum parallel number of jobs that can be run using this set. A higher value here can help avoid workflows being blocked due to parallelism. For more information on how to set limits, see "[AUTOTITLE](/actions/using-github-hosted-runners/managing-larger-runners#configuring-autoscaling-for-larger-runners)". For more information on the maximum auto-scaling limits for {% data variables.product.company_short %}-hosted runners, see "[AUTOTITLE](/actions/learn-github-actions/usage-limits-billing-and-administration#usage-limits)."
127138

128139
## Networking for {% data variables.actions.hosted_runners %}
129140

content/actions/using-github-hosted-runners/about-larger-runners/managing-larger-runners.md

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ redirect_from:
1111

1212
{% data reusables.actions.windows-linux-larger-runners-note %}
1313

14+
{% data reusables.actions.gpu-runner-beta-note %}
15+
1416
{% ifversion ghec %}
1517

1618
## Adding a {% data variables.actions.hosted_runner %} to an enterprise

content/billing/managing-billing-for-github-actions/about-billing-for-github-actions.md

+27-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,33 @@ If your account's usage surpasses these limits and you have set a spending limit
7070

7171
### Per-minute rates
7272

73-
{% data reusables.billing.billing-hosted-runners %}
73+
#### Per-minute rates for standard runners
74+
75+
| Operating system | Per-minute rate (USD) |
76+
|-----------------------------| ----------------------|
77+
| Linux 2-core | $0.008 |
78+
| Windows 2-core | $0.016 |
79+
| macOS 3 or 4 (M1 or Intel) | $0.08 |
80+
81+
#### Per-minute rates for {% data variables.actions.hosted_runners %}
82+
83+
| Operating system | Per-minute rate (USD) |
84+
|---------------------| -----------|
85+
| Linux 2-core | $0.008 |
86+
| Linux 4-core | $0.016 |
87+
| Linux 8-core | $0.032 |
88+
| Linux 16-core | $0.064 |
89+
| Linux 32-core | $0.128 |
90+
| Linux 64-core | $0.256 |
91+
| Linux 4-core GPU | $0.07 |
92+
| Windows 4-core | $0.032 |
93+
| Windows 8-core | $0.064 |
94+
| Windows 16-core | $0.128 |
95+
| Windows 32-core | $0.256 |
96+
| Windows 64-core | $0.512 |
97+
| Windows 4-core GPU | $0.014 |
98+
| macOS 12-core | $0.12 |
99+
| macOS 6-core (M1) | $0.16 |
74100

75101
- The number of jobs you can run concurrently across all repositories in your user or organization account depends on your GitHub plan. For more information, see "[AUTOTITLE](/actions/learn-github-actions/usage-limits-billing-and-administration)" for {% data variables.product.prodname_dotcom %}-hosted runners and "[AUTOTITLE](/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#usage-limits)" for self-hosted runner usage limits.
76102
- {% data reusables.user-settings.context_switcher %}
Original file line numberDiff line numberDiff line change
@@ -1 +1,8 @@
1-
In addition to the [standard {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources), {% data variables.product.prodname_dotcom %} offers customers on {% data variables.product.prodname_team %} and {% data variables.product.prodname_ghe_cloud %} plans a range of managed virtual machines with more RAM, CPU, and disk space. These {% data variables.actions.hosted_runners %} are hosted by {% data variables.product.prodname_dotcom %} and have the runner application and other tools preinstalled.
1+
In addition to the [standard {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners#supported-runners-and-hardware-resources), {% data variables.product.prodname_dotcom %} offers customers on {% data variables.product.prodname_team %} and {% data variables.product.prodname_ghe_cloud %} plans a range of managed virtual machines with advanced features such as:
2+
3+
- More RAM, CPU, and disk space
4+
- Static IP addresses
5+
- The ability to group runners
6+
- Autoscaling to support concurrent workflows
7+
8+
These {% data variables.actions.hosted_runners %} are hosted by {% data variables.product.prodname_dotcom %} and have the runner application and other tools preinstalled.

data/reusables/actions/add-hosted-runner.md

+6-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22
1. Complete the required details to configure your new runner:
33

44
- **Name**: Enter a name for your new runner. For easier identification, this should indicate its hardware and operating configuration, such as `ubuntu-20.04-16core`.
5-
- **Runner image**: Choose an operating system from the available options. Once you've selected an operating system, you will be able to choose a specific version.
6-
- **Runner size**: Choose a hardware configuration from the drop-down list of available options.
7-
- **Auto-scaling**: Choose the maximum number of jobs that can be active at any time.
5+
- **Platform**: Choose a platform from the available options. Once you've selected a platform, you will be able to choose a specific image.
6+
- **Image**: Choose an image from the available options. Once you've selected an image, you will be able to choose a specific size.
7+
- **GitHub-owned**: For images managed by GitHub, select an image under this tab.
8+
- **Partner**: For images managed by a partner, select an image under this tab. GPU-optimized images are located under this tab.
9+
- **Size**: Choose a hardware configuration from the list of available options. For GPU runners, select a size under the **GPU-powered** tab.
10+
- **Maximum concurrency**: Choose the maximum number of jobs that can be active at any time.
811
- **Runner group**: Choose the group that your runner will be a member of. This group will host multiple instances of your runner, as they scale up and down to suit demand. {% ifversion ghec %}
912
- **Networking**: Choose whether static IP address ranges will be assigned to instances of the {% data variables.actions.hosted_runner %}. You can use up to 10 {% data variables.actions.hosted_runner %}s with static IP addresses in total. {% endif %}
1013

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{% note %}
2+
3+
**Note:** GPU runners are currently in beta and subject to change.
4+
5+
{% endnote %}

data/reusables/actions/supported-github-runners.md

-2
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ macOS
105105
<td>
106106
7 GB
107107
</td>
108-
N/A
109108
<td>
110109
14 GB
111110
</td>
@@ -223,7 +222,6 @@ macOS
223222
<td>
224223
7 GB
225224
</td>
226-
N/A
227225
<td>
228226
14 GB
229227
</td>

data/reusables/billing/billing-hosted-runners.md

-16
This file was deleted.

0 commit comments

Comments
 (0)