X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/a4a1420766c6e2e84e61f1d5e8cbb319521af31e..f7bf9d69603db2d500563648460e2a96524de266:/sdk/cwl/arvados_cwl/arv-cwl-schema-v1.2.yml diff --git a/sdk/cwl/arvados_cwl/arv-cwl-schema-v1.2.yml b/sdk/cwl/arvados_cwl/arv-cwl-schema-v1.2.yml index 5fbe5bd7f7..e9f70bf1cf 100644 --- a/sdk/cwl/arvados_cwl/arv-cwl-schema-v1.2.yml +++ b/sdk/cwl/arvados_cwl/arv-cwl-schema-v1.2.yml @@ -276,29 +276,57 @@ $graph: mapPredicate: propertyValue -- name: CUDARequirement +- name: cwltool:CUDARequirement type: record extends: cwl:ProcessRequirement inVocab: false doc: | - Require support for Nvidia CUDA (GPU hardware acceleration). + Require support for NVIDA CUDA (GPU hardware acceleration). fields: class: type: string - doc: 'arv:CUDARequirement' + doc: 'cwltool:CUDARequirement' jsonldPredicate: _id: "@type" _type: "@vocab" - minCUDADriverVersion: + cudaVersionMin: type: string - doc: Minimum CUDA driver version to run the software, in X.Y format of the associated CUDA SDK release. - minCUDAHardwareCapability: - type: string - doc: Minimum CUDA hardware capability required to run the software, in X.Y format. - minDeviceCount: - type: int? + doc: | + Minimum CUDA version to run the software, in X.Y format. This + corresponds to a CUDA SDK release. When running directly on + the host (not in a container) the host must have a compatible + CUDA SDK (matching the exact version, or, starting with CUDA + 11.3, matching major version). When run in a container, the + container image should provide the CUDA runtime, and the host + driver is injected into the container. In this case, because + CUDA drivers are backwards compatible, it is possible to + use an older SDK with a newer driver across major versions. + + See https://docs.nvidia.com/deploy/cuda-compatibility/ for + details. + cudaComputeCapability: + type: + - 'string' + - 'string[]' + doc: | + CUDA hardware capability required to run the software, in X.Y + format. + + * If this is a single value, it defines only the minimum + compute capability. GPUs with higher capability are also + accepted. + + * If it is an array value, then only select GPUs with compute + capabilities that explicitly appear in the array. + cudaDeviceCountMin: + type: ['null', int, cwl:Expression] default: 1 - doc: Minimum number of GPU devices to request, or 1. - maxDeviceCount: - type: int? - doc: Maximum number of GPU devices to request. If not specified, same as `minDeviceCount`. + doc: | + Minimum number of GPU devices to request. If not specified, + same as `cudaDeviceCountMax`. If neither are specified, + default 1. + cudaDeviceCountMax: + type: ['null', int, cwl:Expression] + doc: | + Maximum number of GPU devices to request. If not specified, + same as `cudaDeviceCountMin`.