The directories below contain solutions for provisioning Slurm clusters using the latest VM families from Google Cloud
Further documentation for A3 High, A3 Mega, A3 Ultra, A4 and A4X solutions are available at Create a self-managed Slurm cluster for AI workloads.
You can control which groups in a blueprint are deployed or destroyed using the --only and --skip flags with the gcluster deploy and gcluster destroy commands. This is useful for saving time by not acting on components unnecessarily or for more granular control over resources.
A blueprint is divided into logical groups (the exact group names depend on the blueprint YAML). Check the blueprint file (e.g., ...-blueprint.yaml) for the exact group names for that blueprint.
Use the --only flag to have the command act on only the specified, comma-separated groups. Other groups will be untouched.
Examples:
- Deploy only the
basegroup (fora3high-slurm-blueprint.yaml, which has groupsbase,build-script,image,cluster;a3mega-slurm-blueprint.yamlusesprimary,build_script,slurm-build,cluster):
./gcluster deploy -d examples/machine-learning/a3-highgpu-8g/a3high-slurm-deployment.yaml examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml --only base- Destroy only the
imagegroup:
./gcluster destroy deployment-name --only image- Deploy only the
cluster-envgroup (fora3ultra-slurm-blueprint.yaml,a4high-slurm-blueprint.yaml,a4xhigh-slurm-blueprint.yaml, andtpu7x-slurm-blueprint.yaml, which have groupscluster-envandcluster;a4xmax-bm-slurm-blueprint.yamlhas groupsimage-env,image,cluster-env, andcluster):
./gcluster deploy -d examples/machine-learning/a4-highgpu-8g/a4high-slurm-deployment.yaml examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml --only cluster-envUse the --skip flag to have the command act on all groups except those specified in the comma-separated list.
Examples:
- Deploy everything except the
imagegroup (ona3high-slurm-blueprint.yaml):
./gcluster deploy -d examples/machine-learning/a3-highgpu-8g/a3high-slurm-deployment.yaml examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml --skip image- Destroy only
clusterwhile keepingcluster-env(networking and Managed Lustre) intact:
./gcluster destroy deployment-name --skip cluster-envUse cases:
- Faster iteration: When developing, only deploy the group you are modifying (e.g.,
--only base). - Partial teardown: Selectively destroy parts of a deployment without affecting others (e.g.,
--only imageto remove image but keep networking and other things). - Avoiding unchanged parts: Use
--skipto not redeploy parts you know are stable or should be preserved (e.g.,--skip cluster,image). - Retry failed operations: If a
deployordestroyfails on a specific group, rerun the command targeting just that group using--only.
Notes:
- The exact group names vary by blueprint. Always consult the blueprint YAML used in the command for the correct names.
- The initial deployment may have additional constraints (for example, images may always need to be built the first time). Check the blueprint-specific README for blueprint-specific restrictions.