Releases: glotzerlab/row
0.6.0
Highlights:
Row 0.6 adds new options that allow you to customize the location and/or names of
the output files generated by submitted jobs. Set output_file_path
to place
all output files in a given directory:
[action.submit_options.<cluster_name>]
output_file_path = "my_output_directory"
By default, files are named {action_name}-%j.out
Set output_file_name
to use
different names:
[action.submit_options.<cluster_name>]
output_file_path = "output-%j.txt"
The string "{output_file_path}/{output_file_path}"
(or just "{output_file_name}"
when output_file_path
is unset) is passed to
sbatch's --output
option.
Added:
- The
submit_options
keysoutput_file_path
andoutput_file_name
.
0.5.0
Highlights:
In Row 0.5, the subcommands show directories
, show jobs
, and show status
now
report No matches
when there are no results to show.
Users can also request an amount of memory specific to an action with
memory_per_cpu_mb
or memory_per_gpu_mb
. For example:
[action.resources]
memory_per_cpu_mb = 1024
When set, the given value will be passed to the SLURM option --mem-per-cpu
or
--mem-per-gpu
if the partition has no memory request set or the action's value is
smaller than the partition's. Row returns an error when the user requests more
memory than the partition has available to prevent unexpected additional costs.
Note: Most users should omit the memory request. When omitted row will
automatically select the maximum amount of memory possible without incurring
extra charges on your HPC resources.
Added:
- Actions can request the following new resources:
memory_per_cpu_mb
or
memory_per_gpu_mb
.
Changed:
- Writing tabular output with no rows now results in the output
No matches.
. - Build executables on Ubuntu 22.04.
- Report an error when the workflow requests 0 processes, GPUs, or threads.
- Require Rust 1.85 or newer to build.
- Memory requests in
clusters.toml
must now be set in MB. Thememory_per_*
keys are renamed tomemory_per_*_mb
.
Fixed:
- Submit MPI jobs on Great Lakes without error.
0.4.0
Highlights:
Row 0.4 expands the command
templating functionality, adds shell autocompletion,
and the show jobs
subcommand.
The new template arguments allow direct use of command line applications as actions,
removing the need for shim scripts that access the workspace path and/or directory
values before invoking a subprocess. {workspace_path}
expands to the current project's
workspace path and {/JSON pointer}
expands to the value of the given JSON pointer for
the directory acted on.
Shell autocompletion allows users to autocomplete all parameter names and
workspace dependent values for cluster
, action
, and directories
. To enable,
execute the appropriate command in your shell's profile:
- Bash:
source <(COMPLETE=bash row)
- Fish:
source (COMPLETE=fish row | psub)
- Zsh:
source <(COMPLETE=zsh row)
show jobs
prints a table summarizing all currently submitted jobs that match given
action and directory criteria.
Added:
- In job scripts, set the environment variable
ACTION_WORKSPACE_PATH
to the relative
path to the current workspace. {workspace_path}
template parameter inaction.command
- replaced with the
relative path to the current workspace.{/JSON pointer}
template parameter inaction.command
- replaced with the portion
of the directory's value referenced by the given JSON pointer.- Shell autocomplete.
show jobs
subcommand.
Fixed:
- All user-provided content (directories, action names, cluster names, and values) are
properly escaped in the bash script output. - Typographical errors in the documentation.
- The documentation now builds correctly with mdbook 0.4.43.
- Example code converts environment variables to integers where needed.
0.3.1
Changed:
- Improved the documentation.
0.3.0
Highlights:
Row 0.3 adds command line arguments to reduce the output from show
commands,
including the --short
option to most show
subcommand and status filtering options
to show status
. For example, row show status --eligible
shows only actions that have
eligible directories and row show cluster --all --short
lists the names of all the
available cluster configurations. Row 0.3 also makes a number of fixes and changes
when using group.include
in a non-trivial manner.
Added:
- Edit links to documentation pages.
- New arguments to
show status
display actions that are in the requested states:
--completed
,--eligible
,--submitted
, and--waiting
. cluster.submit_options
configuration option inclusters.toml
.--short
option toshow launchers
andshow directories
.
Changed:
- Show
import
lines in Python examples. - Improve the verbose output from
submit
. show status
hides actions with 0 directories by default. Pass--all
to show all
actions.clean
now cleans all caches by default.- Submit jobs with
--constraint="scratch"
by default on Delta. - Submit jobs with
--constraint="nvme"
by default on Frontier. group.include.all
now employs short circuit evaluation.- Change
--name
option ofshow cluster
to--short
. show directories
now accepts an optional--action
argument.
Fixed:
submit_whole = true
checks only directories that matchgroup.include
.- Do not print trailing spaces after the final column in tabular output.
0.2.0
Row 0.2 adds support for partial-node job submissions on clusters without shared
partitions and fixes GPU job submissions on some clusters.
Added:
warn_[cpus|gpus]_not_multiple_of
key in clusters.toml.
Changed:
- OLCF Frontier configuration now uses
warn_gpus_not_multiple_of
instead ofrequire_gpus_multiple_of
. - OLCF Andes configuration now uses
warn_cpus_not_multiple_of
instead ofrequire_cpus_multiple_of
.
Fixed:
- Prevent
gpus-per-task is mutually exclusive with tres-per-task
error. - Correctly set
--mem-per-gpu
on Great Lakes. - Correct formatting in the documentation.
- Correct typos in the documentation.
0.1.3
Fixed:
- Broken build.
0.1.1
Added:
conda-forge
installation instructions.
0.1.0
- Initial release.