To specify a compute type for a CWL CommandLineTool, either define the ram and number of coresor use the resource type and size. The ICA Compute Type will automatically be determined based on CWL ResourceRequirement coresMin/coresMax (CPU) and ramMin/ramMax (Memory) values using a "best fit" strategy to meet the minimum specified requirements (See the Compute Types table to see to what the resources are mapped).
For example, take the following ResourceRequirements:
This will result in a best fit of standard-large ICA Compute Type request for the task.
If the specified requirements can not be met by any of the presets, the task will be rejected and failed.
See the example below to use the ResourceRequirement in the cwl workflow with the Predefined
FPGA requirements can not be set by means of CWL ResourceRequirements.
The Machine Profile Resource in the graphical editor will override whatever is set for requirements in the ResourceRequirement.
Standard vs Economy
For each compute type, you can choose between the
Standard - (Default) or
Economy - tiers.
You can set economy mode with the "tier" parameter
Considerations
If no Docker image is specified, Ubuntu will be used as default. Both : and / can be used as separator.
CWL Overrides
ICA supports overriding workflow requirements at load time using Command Line Interface (CLI) with JSON input. Please refer to for more details on the CWL overrides feature.
In ICA you can provide the "override" recipes as a part of the input JSON. The following example uses CWL overrides to change the environment variable requirement at load time.
requirements:
ResourceRequirement:
https://platform.illumina.com/rdf/ica/resources:type: fpga2
https://platform.illumina.com/rdf/ica/resources:size: medium
https://platform.illumina.com/rdf/ica/resources:tier: standard
requirements:
ResourceRequirement:
https://platform.illumina.com/rdf/ica/resources:type: himem
https://platform.illumina.com/rdf/ica/resources:size: small
https://platform.illumina.com/rdf/ica/resources:tier: economy