Resource_Selection

Selecting an appropriate resource for your program is required when using AHPCC resources. The purpose of this policy is to use very expensive resources such as GPU nodes and high-memory nodes to run programs that require those capabilities, and to use less expensive resources to run programs for which they are suited, thus producing the most computing throughput per dollar. Some latitude is given when the exact resources are not known because a similar job has not been run yet.

This page details the public use partitions, those that are available for all researchers who are eligible to use AHPCC. For these public partitions, every computer in a given partition is identical, so the partition itself specifies the configuration. A second page condo_nodes details the (currently 164) researcher-funded compute nodes which can be accessed for either (1) dedicated use by those researchers in the condo partition, or (2) limited-time public usage in the pcon06 partition. Both uses require some additional specification to select the correct nodes out of currently 30 node configurations.

login nodes

When you first login to AHPCC, you will be logged into a login node or frontend node or portal node depending on whether you used ssh or the https OpenOnDemand portal to access. All are low-powered and only suitable for starting graphical sessions, submitting jobs, editing, and viewing output. Do not run any kind of computational task on them. Submit either a portal job, a batch script, or an srun session to do intensive computing. Those sessions run via Slurm partitions on one or more of our approximately 400 compute nodes.

comp partitions

The most popular (and hence the slowest starting) computing resources are the comp01,comp06,comp72 partitions, which are overlaid on mostly the same set of about 50 compute nodes, and differ only by time limit. You can use the program shown below to search for idle nodes in every partition. All nodes are identical in the comp and cloud partitions: dual Intel Gold 6130 with no gpu, 32 cores, and 192 GB of memory.

If your code does not use a GPU and is either (1) MPI or shared memory parallel and able to use 32 cores, or (2) uses over 100 GB of main memory with 1 to 32 cores, you may use the comp partitions. These partitions are popular and often full. comp01,comp06, and comp72 have time limits of 1,6, and 72 hours respectively. The advantage of the shorter time limits is that comp06 has a higher queue priority than comp72, and comp01 has a higher queue priority than comp06, thus enabling faster starting of jobs. The partition time limits are hard limits: comp01 will terminate after 1 hour whether finished or not.

At time this program was run, there is only one idle node available:

/share/apps/bin/partition-status.sh comp01 | grep idle
c1401 idled public,0gpu,192gb,i6130,avx512,32c,intel
acomp partition

There is a very small non-gpu partition with (currently one) 64-core AMD machine acomp06 that is limited to 6 hours. Its machines are two to three times as fast as comp nodes for scalable programs and have six times the memory. If your program can't use more than a 32-core, 192 GB comp node, don't submit to acomp06.

/share/apps/bin/partition-status.sh acomp06
c2111 idled public,0gpu,1024gb,a7543,avx2,64c,amd
cloud partition

If your code does not use a GPU and uses 1-4 cores and 0-10 GB of main memory, use the cloud72 partition. This partition is usually immediately available, with alloc below indicating no cores are available, idled all cores available, and mixed some cores available. cloud72 is usually the best partition for simple tasks such as compiling, moving files, and non-compute-intensive non-parallel R,matlab,and python.

/share/apps/bin/partition-status.sh cloud72
c1331 mixed public,0gpu,192gb,i6130,avx512,32c,intel,cloud
c1601 alloc public,0gpu,192gb,i6130,avx512,32c,intel,cloud
c1602 idled public,0gpu,192gb,i6130,avx512,32c,intel,cloud
himem partitions

There is two small partitions of high-memory (768 GB) Intel computers called himem06 and himem72. If your program can run on a 192 GB comp node, use that instead. When running new programs, you can use himem once to find out what the memory usage is. The himem nodes are the same architecture as the comp nodes, but have only 24 cores of higher frequency to better run poorly scaled codes requiring large shared memory such as bioinformatics programs and comsol.

/share/apps/bin/partition-status.sh himem72
c1422 alloc public,0gpu,768gb,i6128,24c,intel
c1424 alloc public,0gpu,768gb,i6128,24c,intel
c1425 alloc public,0gpu,768gb,i6128,24c,intel
c1426 alloc public,0gpu,768gb,i6128,24c,intel
c1428 alloc public,0gpu,768gb,i6128,24c,intel
gpu partitions

If your code uses an NVidia GPU, you may use the gpu72,agpu72,or qgpu72 partitions. The most numerous are gpu72 nodes similar to the comp nodes except also having a single V100 GPU. Non-GPU programs submitted to GPU partitions are subject to immediate cancellation.

/share/apps/bin/partition-status.sh gpu72 | grep idle
c1711 idled public,1v100,192gb,i6130,avx512,32c,intel
c1713 idled public,1v100,192gb,i6130,avx512,32c,intel

Next most numerous agpu72 nodes are similar to acomp nodes but have a single (PCI) A100 GPU. Least numerous qgpu72 nodes are similar to agpu72 nodes except have four A100 GPUs connected by NVLink. qgpu72 nodes are primarily intended for data analysis and AI, and are not eligible to run programs that can only utilize a single GPU. They are also not eligible to run programs that poorly (as determined by AHPCC) utilize multiple GPUs, such as vasp and namd.

/share/apps/bin/partition-status.sh agpu72 | grep idle
c2005 idled public,1a100,1024gb,a7543,avx2,64c,amd
c2006 idled public,1a100,1024gb,a7543,avx2,64c,amd
c2007 idled public,1a100,1024gb,a7543,avx2,64c,amd
c2110 idled public,1a100,1024gb,a7543,avx2,64c,amd
tres288 partition

Trestles is a cluster of about 75 functionally obsolete compute nodes whose major virtue is that they are usually available immediately in quantity. Trestles can be useful for test jobs and for parameter sweeps that are not individually compute-intensive. The 32 cores per node each run at about half or less of the speed of more modern Intel compute nodes. Partition tres288 can be run for up to 288 hours, and the original partition tres72 has been updated for the same maximum time so it is functionally identical to tres288, with the original name retained for compatibility. Programs that use sse4 or avx floating point or above won't work on Trestles. We don't care about efficient usage of Trestles, so there are few limitations.

/share/apps/bin/partition-status.sh tres288 | tail -1
t0931 idled public,0gpu,64gb,a6136,sse4,32c,amd