Skip to content

Commit 9435abe

Browse files
committed
Adding Provisioning method for A3 Mega and A3 High
1 parent 8a69674 commit 9435abe

4 files changed

Lines changed: 49 additions & 2 deletions

File tree

examples/machine-learning/a3-highgpu-8g/README.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,34 @@ blueprint matches the name of the user-created reservation.
181181
a3_maintenance_interval: ""
182182
```
183183

184+
### Using Spot VM or DWS Flex
185+
186+
> [!IMPORTANT]
187+
> Select one of the provisioning models : either spot vm , dws flex or reservation
188+
189+
In order to make use of DWS Flex Start mode with SlurmGCP, you must use the `dws_flex` variable in the `schedmd-slurm-gcp-v6-nodeset` module.
190+
See the example below:
191+
192+
```yaml
193+
vars:
194+
a3_dws_flex_enabled: true # enabling dws flex by setting the variable to true
195+
# the rest of the variables
196+
```
197+
198+
To learn more about DWS Flex-Start, visit https://github.com/GoogleCloudPlatform/cluster-toolkit/blob/main/docs/slurm-dws-flex.md
199+
200+
Similarly ,to make use of Spot VMs,
201+
In order to make use of Spot VMs with Slurm, you must use the `enable_spot_vm` variable in the `schedmd-slurm-gcp-v6-nodeset` module.
202+
See the example below:
203+
204+
```yaml
205+
vars:
206+
a3_enable_spot_vm: true # enabling spot vm by setting the variable to true
207+
# the rest of the variables
208+
```
209+
210+
To learn more about Spot VM visit: https://cloud.google.com/compute/docs/instances/spot
211+
184212
### Set cluster size
185213

186214
At approximately line 37 of `ml-slurm-a3-2-cluster.yaml`, set the static cluster

examples/machine-learning/a3-highgpu-8g/ml-slurm-a3-2-cluster.yaml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,12 @@ vars:
3939
a3_static_cluster_size: 32
4040
# a3_reservation_name must be specified; if Google staff have provided you
4141
# with a reservation name, use it. Otherwise supply user-created reservation.
42-
a3_reservation_name: a3-reservation-0
42+
43+
#Provisioning models (set to true or fill in reservation name, pick only one)
44+
a3_reservation_name: "" # supply reservation name
45+
a3_dws_flex_enabled: false
46+
a3_enable_spot_vm: false
47+
4348
# a3_maintenance_interval should be empty string by default; if Google staff
4449
# have created a reservation, they will also provide a3_maintenance_interval
4550
a3_maintenance_interval: ""
@@ -180,6 +185,9 @@ deployment_groups:
180185
- a3_startup
181186
settings:
182187
reservation_name: $(vars.a3_reservation_name)
188+
enable_spot_vm: $(vars.a3_enable_spot_vm)
189+
dws_flex:
190+
enabled: $(vars.a3_dws_flex_enabled)
183191
maintenance_interval: $(vars.a3_maintenance_interval)
184192
node_count_static: $(vars.a3_static_cluster_size)
185193
node_count_dynamic_max: 0

examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ vars:
3636
enable_controller_public_ips: true
3737
localssd_mountpoint: /mnt/localssd
3838

39+
#Provisioning models (set to true or fill in reservation name, pick only one)
40+
a3mega_reservation_name: "" # supply reservation name
41+
a3mega_dws_flex_enabled: false
42+
a3mega_enable_spot_vm: false
43+
3944
deployment_groups:
4045
- group: primary
4146
modules:
@@ -550,6 +555,9 @@ deployment_groups:
550555
on_host_maintenance: TERMINATE
551556
bandwidth_tier: gvnic_enabled
552557
reservation_name: $(vars.a3mega_reservation_name)
558+
enable_spot_vm: $(vars.a3mega_enable_spot_vm)
559+
dws_flex:
560+
enabled: $(vars.a3mega_dws_flex_enabled)
553561
maintenance_interval: $(vars.a3mega_maintenance_interval)
554562
startup_script: $(a3mega_startup.startup_script)
555563

examples/machine-learning/a3-megagpu-8g/a3mega-slurm-deployment.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ vars:
3131
disk_size_gb: 200
3232
final_image_family: slurm-a3mega
3333
slurm_cluster_name: a3mega
34-
a3mega_reservation_name: "" # supply reservation name
3534
a3mega_maintenance_interval: ""
3635
a3mega_cluster_size: 2 # supply cluster size
36+
a3mega_reservation_name: "" # supply reservation name
37+
# Additional provisioning models (pick only one), can be used to substitute `a3mega_reservation_name`:
38+
a3mega_dws_flex_enabled: false # To make use of DWS Flex-Start, for more info visit: https://github.com/GoogleCloudPlatform/cluster-toolkit/blob/main/docs/slurm-dws-flex.md
39+
a3mega_enable_spot_vm: false # To make use of Spot VMs, for more info visit: https://cloud.google.com/compute/docs/instances/spot

0 commit comments

Comments
 (0)