HTCondor Backend Configuration Options When Creating WDL

Use the following tables to help figure out how to configure your runtime{} section.

How to Allocate Resources in your Runtime Section

HTCondor is the back end to Cromwell and is responsible for grabbing the appropriatly sized resource from slurm for each wdl-task. HTCondor can determine what resource your task needs from only memory and cpu which is set in the runtime{} section. In fact, memory and cpu have defaults set to “5G” and 2(threads), respectively, so you don’t have to include them but it is advised for tranparency sake.

Note

Inside your runtime{} section of the WDL, cpu should be set to threads and not cpus, despite the name, because Condor expects that value to be threads.

Table of available resources

Site

Type

#Nodes

Mem (GB)*

Hrs

#Threads

Perlmutter (NERSC)

Large

3072

492

24

128

Xlarge***

4

980

24

128

JGI (Lab-IT)

Small

316

46

72

32

Medium

72

236

72

32

Large

8

492

72

32

Dori (Lab-IT)

Large

100

492

72

64

Xlarge***

18

1500

72

36

Tahoma (EMSL)

Medium

160

364

48

36

Xlarge

24

1480

48

36

AWS

100

236

64**

* This number is the gigabytes you can actually use because of overhead. For example, on dori, a “large” node is advertized at 512G but since there is overhead, we will reserve 10-20G and instead ask for 492G in our WDL.

** AWS Compute Types

AWS is a valid site for JAWS. However, since it uses it’s own scheduling system, simply specify the memory and cpu requirements for each task in the runtime section.

*** Xlarge compute nodes are not yet available for user jobs.