To help HPC users seamlessly take advantage of all the platform features, the Azure HPC team offers a CentOS based HPC image in Azure Marketplace (published by Rogue Wave Software). This image, starting today with CentOS 7.6, includes optimizations and recommended configurations to deliver optimal performance, consistency, and reliability. This is the same image we recently used to set to run the public cloud's first ever 10,000+ core MPI job!
Below is the full list of configuration updates and software installations (on top of a vanilla Azure CentOS VM image):
Configuration Updates: The included configuration updates are based on optimization recommendations from vendors and partners, as well as learnings from common HPC workloads and usage practices in traditional HPC systems.
Azure Linux Agent (WAAgent)
Limit waagent's (VM agent running on every Azure Linux VM) usage of CPU/memory resources.
Optionally consider disabling waagent at the beginning of your job script, and enabling it back at the end, for CPU sensitive workloads as follows:
The MPI libraries are configured as environment modules. Users can select any preferred MPI flavor as follows:
module load mpi/<mpi-flavor>
Please refer to the corresponding CentOS-HPC kickstart file for a complete list of configuration updates and software configurations.
Azure HPC team aims to keep the CentOS HPC images up-to-date with latest software versions.
Deploying the CentOS HPC Image
The CentOS HPC images are available from Azure Marketplace, and it can be deployed through a variety of deployment vehicles (CycleCloud, Batch, ARM templates, etc).
Go ahead and give this image a try for your HPC workloads! We're all ears for your feedback, including additional recommendations for optimizations or included software, even other OSes Azure should optimize for HPC purposes.
Note: This image is intended *only* for the SR-IOV enabled Azure instances (such as Azure HB, HC, etc.).