resources
action.resources: table - Defines the resources that the action will consume.
Row passes this information to the scheduler when you submit a job.
Example:
[action.resources]
processes.per_submission = 10
threads_per_process = 4
walltime.per_submission = "04:00:00"
tip
You may omit [action.resources] entirely.
processes
action.resources.processes: table - Set the number of processes this action
will execute on (launched by mpi or similarly capable launcher). The table must
have one of two keys: per_submission or per_directory.
Examples:
processes.per_submission = 16
processes.per_directory = 8
When set to per_submission, row asks the scheduler to allocate the given
number of processes for each job. When set to per_directory, row requests the
given value multiplied by the number of directories in the submission group. Use
per_submission when your action loops over directories and reuses the same processes
to perform computations. Use per_directory when your action parallelizes over the
directories and therefore requires processes.per_directory * num_directories total
processes.
When omitted, processes defaults to per_submission = 1.
threads_per_process
action.resources.threads_per_process: positive integer - The number of CPU threads
your action utilizes per process. When omitted, row does not make any specific
request for threads from the scheduler. Most schedulers default to 1 thread per process
in this case.
gpus_per_process
action.resources.gpus_per_process: positive integer - The number of GPUs your
action utilizes per process. When omitted, row does not make any specific request
for GPUs from the scheduler. Most schedulers default to 0 GPUs per process in this case.
walltime
action.resources.walltime: table - Set the walltime that this action takes to
execute. The table must have one of two keys: per_submission or per_directory.
Valid walltime strings include "HH:MM:SS", "D days, HH:MM:SS", and all other valid
Duration formats parsed by speedate.
Examples:
walltime.per_submission = "4 days, 12:00:00"
walltime.per_directory = "00:10:00"
When set to per_submission, row asks the scheduler to allocate the given walltime
for each job. When set to per_directory, row requests the given value multiplied
by the number of directories in the submission group. Use per_submission when your
action parallelizes over directories and therefore takes the same amount of time
independent of the submission group size. Use per_directory when your action loops
over the directories and therefore the walltime scales with the number of directories.
When omitted, walltime defaults to per_directory = 01:00:00.
memory_per_cpu_mb
action.resources.memory_per_cpu_mb: integer - The number of megabytes of memory to
request per CPU (thread). memory_per_cpu_mb is used when gpus_per_process is unset.
important
Most users should omit memory_per_cpu_mb. When omitted row will
automatically select the maximum amount of memory possible without incurring
extra charges on your HPC resources.
memory_per_gpu_mb
Similar to memory_per_cpu_mb, but for GPUs. memory_per_gpu_mb is used when
gpus_per_process is set.
Development of row is led by the Glotzer Group at the University of Michigan.
Copyright © 2024-2025 The Regents of the University of Michigan.