For information on customizing VM images with extra software and configuration settings, see Building Images.
Please see the blueprint catalog for examples.
For Slurm images, please see SchedMD's GitHub repository.
The HPC Toolkit has officially supported the HPC CentOS 7 VM Image as the primary VM image for HPC workloads on Google Cloud since it's release. Since the HPC CentOS 7 VM Image comes pre-tuned for optimal performance on typical HPC workloads, it is the default VM image in our modules, unless there is specific requirement for a different OS distribution.
HPC Rocky Linux 8 is planned to become the primary supported VM image for HPC workloads on Google Cloud from 2024.
The HPC Toolkit officially supports Debian 11 based VM images in the majority of our modules, with a couple of exceptions.
The HPC Toolkit officially supports Ubuntu 20.04 LTS based VM images in the majority of our modules, with a couple of exceptions.
See building Windows images for a description of our support for Windows images.
Deployment Type/Scheduler | Feature | CentOS 7 | Debian 11 | Rocky Linux 8 | Ubuntu 20.04 | |
---|---|---|---|---|---|---|
Cloud Batch | Lustre | ✓ | ✓ | |||
Shared filestore | ✓ | ✓ | ✓ | ✓ | ||
Startup script | ✓ | ✓ | ✓ | ✓ | ||
Slurm | Chrome Remote Desktop | ✓ | ||||
Lustre | ✓ | ✓ | ||||
Shared filestore | ✓ | ✓ | ✓ | ✓ | ||
Startup script | ✓ | ✓ | ✓ | ✓ | ||
VM Instance | Chrome Remote Desktop | ✓ | * | |||
Lustre | ✓ | ✓ | ✓ | |||
Shared filestore | ✓ | ✓ | ✓ | ✓ | ||
Startup script | ✓ | ✓ | ✓ | ✓ | ||
HTCondor | ✓ | ✓ | ||||
Omnia | ✓ |
* Chrome Remote desktop does not support Ubuntu 20.04, but it does support Ubuntu 22.04.
The HPC Toolkit strives to provide flexibility wherever possible. It is possible to set a VM image in many HPC Toolkit modules. While we do not officially support images not listed here, other public and custom images should work with the majority of modules with or without further customization, such as custom startup-scripts.
HPC Toolkit modules based on terraform modules in Slurm on GCP
allow custom images via custom instance templates and directly through the
instance_image
variable, but they have explicit requirements to function
correctly with the Slurm cluster. We recommend one of two options for creating a
custom image for these modules:
- Use the packer templates hosted in the
Slurm on GCP github repository directly. The
example.pkrvars.hcl
file can be customized to your needs, by supplying a different base image or through theextra_ansible_provisioners
variable. - Create a custom image with a HPC Toolkit packer module
using one of the Slurm on GCP images as the base image. The image can be
customized via
shell_scripts
,ansible_playbooks
or a providedstartup_script
.
For more information on the Slurm on GCP public images, see their documentation. From there, you can see which public images are available, which software is installed on them and more information on how to customize them using option 1 listed above.
These instructions apply to the following modules: