MedicineBow Slurm Best Practices
Generally speaking, the MedicineBow cluster is for everyone. Please be mindful towards your fellow researchers and only request what you really require. This page covers the best pracitces for scheduling jobs with Slurm on MedicineBow, with that in mind.
Memory Allocation Requests
Each node on MedicineBow has a maximum amount of memory that can be requested and allocated. Looking at the RAM (GB) column on the MedicineBow Hardware Summary page, you can see that the RAM available across partitions varies from 64Gb up to 1024Gb.
Just because a node has 1024Gb please do not to try grabbing it for your job.
You should to properly understand how your application uses Memory. Does it actually require 512Gb of memory or does it actually require 32 nodes with 32 cores on each?
Using all of the memory on a node without using all of the CPUs/GPUs prevents others from using them.
Using the mem option you can request the memory required on a node.
Example
Allocating one node requiring 8G of memory:
Requesting GPUs
The first step in using GPUs is to understand what each Medicinebow Hardware partition provides, and type of GPU hardware you want to use. Reviewing the Medicinebow Hardware Summary page will help you determine what hardware is available for each partition, and what each type of hardware is best suited for.
Best Practices:
In order to ensure equitable use of ARCC GPU resources, we recommend that users request corresponding cpu and memory resources at the same ratio related to the number of GPUs you’re requesting on that same node.
Example:
If requesting 4 GPUs from the L40S partition, the hardware specs for one node on that partition include 96 cores, 1024GB RAM, and 8 L40S GPUs. Given that requesting 4 x L40S GPUs corresponds to 1/2 the node, cores and memory requested should specified at the be the same ratio.
Corresponding SLURM directives for cores and RAM should be requested as follows: