18702: Merge branch 'main' into 18702-document-upgrades
[arvados.git] / sdk / cwl / arvados_cwl / arv-cwl-schema-v1.1.yml
index a60ead113c179f1285cab2360550e78840f28aac..4a6b6947ff4c6c05487be4e00a6ac734a52ff33f 100644 (file)
@@ -272,3 +272,43 @@ $graph:
       jsonldPredicate:
         mapSubject: propertyName
         mapPredicate: propertyValue
+
+
+- name: cwltool:CUDARequirement
+  type: record
+  extends: cwl:ProcessRequirement
+  inVocab: false
+  doc: |
+    Require support for NVIDA CUDA (GPU hardware acceleration).
+  fields:
+    class:
+      type: string
+      doc: 'cwltool:CUDARequirement'
+      jsonldPredicate:
+        _id: "@type"
+        _type: "@vocab"
+    cudaVersionMin:
+      type: string
+      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.
+    cudaComputeCapabilityMin:
+      type: string
+      doc: Minimum CUDA hardware capability required to run the software, in X.Y format.
+    deviceCountMin:
+      type: int?
+      default: 1
+      doc: Minimum number of GPU devices to request, default 1.
+    deviceCountMax:
+      type: int?
+      doc: Maximum number of GPU devices to request.  If not specified, same as `deviceCountMin`.