The new HPC service Nimbus provides user access to an array of different compute instances. These instances are accessed through different Slurm partitions.
To list the partitions, issue the following command:
sinfo
This will list the partitions, the nodes in each partition, their availability and their current state.
The partitions follow a naming convention:
[pricing tier]-[instance type]-[no of cpus-per-node]
So, for example, the partition spot-hbv3-120 is for spot-priced hbv3 instances with 120 CPUs per node, while paygo-hc-44 is for pay-as-you-go-priced hc instances with 44 CPUs per node.
Please note that the naming is slightly different on the cost calculator (see Indicative Cost of Instances below). For instance, paygo-fsv2-1 would read F1Sv2 on the cost estimator.
The instance types currently available are listed below:
| Instance type | CPU model | vCPUS | GPU model | vGPUS |
|---|---|---|---|---|
| fsv2 | Intel Skylake | 2,4,8,16,32,48,64,72 | - | - |
| hbv2 | AMD Epyc Rome | 120 | - | - |
| hbv3 | AMD Epyc Milan | 120 | - | - |
| hc | Intel Skylake | 44 | - | - |
| nva | AMD EPYC 74F3v Milan | 12 | A10 | 1/3 |
| nva | AMD EPYC 74F3v Milan | 36 | A10 | 1 |
| nch | AMD EPYC Genoa | 40 | H100 NVL | 1 |
| nch | AMD EPYC Genoa | 80 | H100 NVL | 2 |
| ndv2 | Intel Skylake | 40 | Tesla V100 | 8 |
As mentioned above these instances are referenced in the slurm partition, along with the number of CPUs and the pricing tier.
Azure offers a range of virtual machines (VMs) optimized for both CPU and GPU-intensive workloads. Choosing the correct compute instance and partition will depend primarily on your specific scientific research requirements such as workload you are running, and will depend on cost, runtime and whether an interruption is acceptable (more on that in spot vs pay-as-you-go).
The instance types currently available in Nimbus:
The descriptions of the instances provided by Azure are as follows:
Our fastest and most powerful CPU virtual machines with optional high-throughput network interfaces (RDMA).Specialized virtual machines targeted for heavy graphic rendering and video editing, as well as model training and inferencing (ND) with deep learning. Available with single or multiple GPUs.High CPU-to-memory ratio. Good for medium traffic web servers, network appliances, batch processes, and application servers.Briefly:
hb* instances are suggested for applications driven by memory bandwidth such as OpenFOAM and ANSYS.hc* & f* instances are suggested for applications driven by compute such as HPL and ORCA.n* partitions are for GPU accelerated workloads and visualization sessions.If in doubt - ask or test!
We have mentioned the pricing tier above, which is referenced in the Slurm partition names. There are two pricing tiers:
Spot pricing gives access to unused Azure compute capacity at large discounts, up to 90%, compared to Pay-As-You-Go prices. The drawback is that spot capacity is not guaranteed: a node can be evicted at any time, depending on the available Azure capacity.
Given the price benefit it is tempting to use spot for everything, but spot nodes come with some practical caveats:
NODE_FAIL.hbv3 and the 36-core nva, can fail to come up for extended periods (hours, sometimes days) when that capacity has been used up. This is a restriction on the Azure side, not a problem with your job script or your account, and there is nothing Research Computing can do to make that capacity available.All batch jobs on Nimbus are requeued by default when they fail because a node was lost, unless you opt out with --no-requeue. This means that after a NODE_FAIL or an eviction your job goes back into the queue and Slurm tries again automatically.
Be aware that:
If your job is evicted you will receive a message in the stdout of the job, and the status in the finance portal will be EVICTED.
Slurm and Nimbus do not save or restore the state of your calculation: a requeued job simply runs your job script again from the top. The logic to write checkpoints during a run, and to detect and resume from the latest checkpoint when the job restarts, has to be built into your job script and/or code by you, the researcher. Many scientific packages provide checkpoint/restart options, so check your software's documentation and make sure your job script picks up an existing checkpoint on restart rather than starting a fresh calculation (and overwriting your previous output).
paygo- partition, or to a different instance type that suits your workload (e.g. hbv2 instead of hbv3).Deciding between Spot and Pay-As-You-Go comes down to how easily your calculation can be restarted if it is evicted, how quickly you need the results, and your available budget.
Users should use the Research Computing Cost Estimator (RCCE) to calculate compute costs (please note that the estimator only includes the instances available in Nimbus). A finance check is carried out on the project balance before a job is submitted, and charges are then applied as follows:

The only restriction Research Computing places on the size of jobs you can run on Nimbus is that jobs using the fsv2 instances are limited to one node. These instances are not RDMA connected, so single jobs cannot run efficiently across multiple nodes, hence the restriction.
All other restrictions are set by your Resource Allocation Administrators in the finance portal. If you need a restriction changed, either change it in the portal yourself or ask the person who gave you access to the resource allocation to do so.
Separately, Azure itself may limit the availability of some instance types, particularly on the spot tier (see Caveats when using spot above).
It is important to emphasise that different compute instances will incur different costs.
A cost calculator has been launched that lists the current prices for each compute instance, as well as allowing you to cost up resources for inclusion in funding proposals.