X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/9d706659aa362728270f02b7d18d12b1f68f3e36..544f1dceeb4e5fcc63b683d3edac48e62bca5958:/doc/user/cwl/cwl-extensions.html.textile.liquid diff --git a/doc/user/cwl/cwl-extensions.html.textile.liquid b/doc/user/cwl/cwl-extensions.html.textile.liquid index 0e97e07da3..e05072ddf6 100644 --- a/doc/user/cwl/cwl-extensions.html.textile.liquid +++ b/doc/user/cwl/cwl-extensions.html.textile.liquid @@ -58,6 +58,11 @@ hints: property1: value1 property2: $(inputs.value2) + arv:OutputCollectionProperties: + outputProperties: + property1: value1 + property2: $(inputs.value2) + cwltool:CUDARequirement: cudaVersionMin: "11.0" cudaComputeCapability: "9.0" @@ -66,6 +71,10 @@ hints: arv:UsePreemptible: usePreemptible: true + + arv:OutOfMemoryRetry: + memoryRetryMultipler: 2 + memoryErrorRegex: "custom memory error" {% endcodeblock %} h2(#RunInSingleContainer). arv:RunInSingleContainer @@ -154,7 +163,15 @@ Specify extra "properties":{{site.baseurl}}/api/methods.html#subpropertyfilters table(table table-bordered table-condensed). |_. Field |_. Type |_. Description | -|processProperties|key-value map, or list of objects with the fields {propertyName, propertyValue}|The properties that will be set on the container request. May include expressions that reference `$(inputs)` of the current workflow or tool.| +|processProperties|key-value map, or list of objects with the fields {propertyName, propertyValue}|The properties that will be set on the container request. May include expressions that reference @$(inputs)@ of the current workflow or tool.| + +h2(#OutputCollectionProperties). arv:OutputCollectionProperties + +Specify custom "properties":{{site.baseurl}}/api/methods.html#subpropertyfilters that will be set on the output collection of the workflow step. + +table(table table-bordered table-condensed). +|_. Field |_. Type |_. Description | +|outputProperties|key-value map, or list of objects with the fields {propertyName, propertyValue}|The properties that will be set on the output collection. May include expressions that reference @$(inputs)@ of the current workflow or tool.| h2(#CUDARequirement). cwltool:CUDARequirement @@ -175,6 +192,20 @@ table(table table-bordered table-condensed). |_. Field |_. Type |_. Description | |usePreemptible|boolean|Required, true to opt-in to using preemptible instances, false to opt-out.| + +h2(#OutOfMemoryRetry). arv:OutOfMemoryRetry + +Specify that when a workflow step appears to have failed because it did not request enough RAM, it should be re-submitted with more RAM. Out of memory conditions are detected either by the container being unexpectedly killed (exit code 137) or by matching a pattern in the container's output (see @memoryErrorRegex@). Retrying will increase the base RAM request by the value of @memoryRetryMultipler@. For example, if the original RAM request was 10 GiB and the multiplier is 1.5, then it will re-submit with 15 GiB. + +Containers are only re-submitted once. If it fails a second time after increasing RAM, then the worklow step will still fail. + +Also note that expressions that use @$(runtime.ram)@ (such as dynamic command line parameters) are not reevaluated when the container is resubmitted. + +table(table table-bordered table-condensed). +|_. Field |_. Type |_. Description | +|memoryRetryMultipler|float|Required, the retry will multiply the base memory request by this factor to get the retry memory request.| +|memoryErrorRegex|string|Optional, a custom regex that, if found in the stdout, stderr or crunch-run logging of a program, will trigger a retry with greater RAM. If not provided, the default pattern matches "out of memory" (with or without spaces), "memory error" (with or without spaces), "bad_alloc" and "container using over 90% of memory".| + h2. arv:dockerCollectionPDH This is an optional extension field appearing on the standard @DockerRequirement@. It specifies the portable data hash of the Arvados collection containing the Docker image. If present, it takes precedence over @dockerPull@ or @dockerImageId@.