Skip to content

Commit 3572289

Browse files
0x2b3bfa0casperdcl
andauthored
Add s (CPU) & m+t4 (GPU) generic machine types (#525)
Co-authored-by: Casper da Costa-Luis <[email protected]>
1 parent d4c34f8 commit 3572289

File tree

6 files changed

+26
-11
lines changed

6 files changed

+26
-11
lines changed

docs/guides/generic-machine-types.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,20 @@ subcategory: Development
77

88
The table below is a more detailed version of the common choices summarised in [Task Machine Types](https://registry.terraform.io/providers/iterative/iterative/latest/docs/resources/task#machine-type).
99

10-
| Type | [`aws`] | [`az`] | [`gcp`] | [`k8s`] |
11-
| :-------- | :------------ | :------------------ | :---------------------------------------------- | :----------------------------------------------------- |
12-
| `m` | `m5.2xlarge` | `Standard_F8s_v2` | `e2-custom-8-32768` | `cpu: 8`<br>`memory: 32G` |
13-
| `l` | `m5.8xlarge` | `Standard_F32s_v2` | `e2-custom-32-131072` | `cpu: 32`<br>`memory: 128G` |
14-
| `xl` | `m5.16xlarge` | `Standard_F64s_v2` | `n2-custom-64-262144` | `cpu: 64`<br>`memory: 256G` |
15-
| `m+k80` | `p2.xlarge` | `Standard_NC6` | `custom-8-53248`<br>1 `nvidia-tesla-k80` | `cpu: 4`<br>`memory: 64G`<br>1 `nvidia-tesla-k80` |
16-
| `l+k80` | `p2.8xlarge` | `Standard_NC12` | `custom-32-131072`<br>4 `nvidia-tesla-k80` | `cpu: 32`<br>`memory: 512G`<br>8 `nvidia-tesla-k80` |
17-
| `xl+k80` | `p2.16xlarge` | `Standard_NC24` | `custom-64-212992-ext`<br>8 `nvidia-tesla-k80` | `cpu: 64`<br>`memory: 768G`<br>16 × `nvidia-tesla-k80` |
18-
| `m+v100` | `p3.xlarge` | `Standard_NC6s_v3` | `custom-8-65536-ext`<br>1 `nvidia-tesla-v100` | `cpu: 8`<br>`memory: 64G`<br>1 `nvidia-tesla-v100` |
19-
| `l+v100` | `p3.8xlarge` | `Standard_NC12s_v3` | `custom-32-262144-ext`<br>4 `nvidia-tesla-v100` | `cpu: 32`<br>`memory: 256G`<br>4 `nvidia-tesla-v100` |
20-
| `xl+v100` | `p3.16xlarge` | `Standard_NC24s_v3` | `custom-64-524288-ext`<br>8 `nvidia-tesla-v100` | `cpu: 64`<br>`memory: 512G`<br>8 `nvidia-tesla-v100` |
10+
| Type | [`aws`] | [`az`] | [`gcp`] | [`k8s`] |
11+
| :-------- | :------------ | :--------------------- | :---------------------------------------------- | :--------------------------------------------------- |
12+
| `s` | `t2.micro` | `Standard_B1s` | `g1-small` | `cpu: 1`<br>`memory: 1G` |
13+
| `m` | `m5.2xlarge` | `Standard_F8s_v2` | `e2-custom-8-32768` | `cpu: 8`<br>`memory: 32G` |
14+
| `l` | `m5.8xlarge` | `Standard_F32s_v2` | `e2-custom-32-131072` | `cpu: 32`<br>`memory: 128G` |
15+
| `xl` | `m5.16xlarge` | `Standard_F64s_v2` | `n2-custom-64-262144` | `cpu: 64`<br>`memory: 256G` |
16+
| `s+k80` | - | - | `n1-highmem-2`<br>1 `nvidia-tesla-k80` | `cpu: 2`<br>`memory: 12G`<br>1 `nvidia-tesla-k80` |
17+
| `m+t4` | `g4dn.xlarge` | `Standard_NC4as_T4_v3` | `n1-standard-4`<br>1 `nvidia-tesla-t4` | `cpu: 4`<br>`memory: 16G`<br>1 `nvidia-tesla-t4` |
18+
| `m+k80` | `p2.xlarge` | `Standard_NC6` | `custom-8-53248`<br>1 `nvidia-tesla-k80` | `cpu: 4`<br>`memory: 64G`<br>1 `nvidia-tesla-k80` |
19+
| `l+k80` | `p2.8xlarge` | `Standard_NC12` | `custom-32-131072`<br>4 `nvidia-tesla-k80` | `cpu: 32`<br>`memory: 512G`<br>8 `nvidia-tesla-k80` |
20+
| `xl+k80` | `p2.16xlarge` | `Standard_NC24` | `custom-64-212992-ext`<br>8 `nvidia-tesla-k80` | `cpu: 64`<br>`memory: 768G`<br>16 `nvidia-tesla-k80` |
21+
| `m+v100` | `p3.xlarge` | `Standard_NC6s_v3` | `custom-8-65536-ext`<br>1 `nvidia-tesla-v100` | `cpu: 8`<br>`memory: 64G`<br>1 `nvidia-tesla-v100` |
22+
| `l+v100` | `p3.8xlarge` | `Standard_NC12s_v3` | `custom-32-262144-ext`<br>4 `nvidia-tesla-v100` | `cpu: 32`<br>`memory: 256G`<br>4 `nvidia-tesla-v100` |
23+
| `xl+v100` | `p3.16xlarge` | `Standard_NC24s_v3` | `custom-64-524288-ext`<br>8 `nvidia-tesla-v100` | `cpu: 64`<br>`memory: 512G`<br>8 `nvidia-tesla-v100` |
2124

2225
[`aws`]: https://aws.amazon.com/ec2/instance-explorer
2326
[`az`]: https://azure.microsoft.com/en-us/pricing/vm-selector

docs/resources/task.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,11 @@ The Iterative Provider offers some common machine types (medium, large, and extr
122122

123123
| Type | Minimum CPU cores | Minimum RAM | GPU |
124124
| :-------- | ----------------: | ----------: | :------------------ |
125+
| `s` | 1 | 1 GB | - |
125126
| `m` | 8 | 16 GB | - |
126127
| `l` | 32 | 64 GB | - |
127128
| `xl` | 64 | 128 GB | - |
129+
| `m+t4` | 4 | 16 GB | 1 NVIDIA Tesla T4 |
128130
| `m+k80` | 4 | 53 GB | 1 NVIDIA Tesla K80 |
129131
| `l+k80` | 12 | 112 GB | 2 NVIDIA Tesla K80 |
130132
| `xl+k80` | 24 | 212 GB | 4 NVIDIA Tesla K80 |

task/aws/resources/resource_launch_template.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,9 +55,11 @@ func (l *LaunchTemplate) Create(ctx context.Context) error {
5555

5656
size := l.Attributes.Size.Machine
5757
sizes := map[string]string{
58+
"s": "t2.micro",
5859
"m": "m5.2xlarge",
5960
"l": "m5.8xlarge",
6061
"xl": "m5.16xlarge",
62+
"m+t4": "g4dn.xlarge",
6163
"m+k80": "p2.xlarge",
6264
"l+k80": "p2.8xlarge",
6365
"xl+k80": "p2.16xlarge",

task/az/resources/resource_virtual_machine_scale_set.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,9 +105,11 @@ func (v *VirtualMachineScaleSet) Create(ctx context.Context) error {
105105

106106
size := v.Attributes.Size.Machine
107107
sizes := map[string]string{
108+
"s": "Standard_B1s",
108109
"m": "Standard_F8s_v2",
109110
"l": "Standard_F32s_v2",
110111
"xl": "Standard_F64s_v2",
112+
"m+t4": "Standard_NC4as_T4_v3",
111113
"m+k80": "Standard_NC6",
112114
"l+k80": "Standard_NC12",
113115
"xl+k80": "Standard_NC24",

task/gcp/resources/resource_instance_template.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,12 @@ func (i *InstanceTemplate) Create(ctx context.Context) error {
6767

6868
size := i.Attributes.Size.Machine
6969
sizes := map[string]string{
70+
"s": "g1-small",
7071
"m": "e2-custom-8-32768",
7172
"l": "e2-custom-32-131072",
7273
"xl": "n2-custom-64-262144",
74+
"s+k80": "n1-highmem-2+nvidia-tesla-k80*1",
75+
"m+t4": "n1-standard-4+nvidia-tesla-t4*1",
7376
"m+k80": "custom-8-53248+nvidia-tesla-k80*1",
7477
"l+k80": "custom-32-131072+nvidia-tesla-k80*4",
7578
"xl+k80": "custom-64-212992-ext+nvidia-tesla-k80*8",

task/k8s/resources/resource_job.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,12 @@ type Job struct {
5858
func (j *Job) Create(ctx context.Context) error {
5959
size := j.Attributes.Task.Size.Machine
6060
sizes := map[string]string{
61+
"s": "1-1000",
6162
"m": "8-32000",
6263
"l": "32-128000",
6364
"xl": "64-256000",
65+
"s+k80": "2-12000+nvidia-tesla-k80*1",
66+
"m+t4": "4-16000+nvidia-tesla-t4*1",
6467
"m+k80": "4-64000+nvidia-tesla-k80*1",
6568
"l+k80": "32-512000+nvidia-tesla-k80*8",
6669
"xl+k80": "64-768000+nvidia-tesla-k80*16",

0 commit comments

Comments
 (0)