18702: Merge branch 'main' into 18702-document-upgrades
[arvados.git] / sdk / cwl / arvados_cwl / arv-cwl-schema-v1.1.yml
index 5dbb838f1a2e4a81bd9ad196a5e203743cdc3ef7..4a6b6947ff4c6c05487be4e00a6ac734a52ff33f 100644 (file)
@@ -274,29 +274,41 @@ $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:
+      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.
-    minDeviceCount:
+    deviceCountMin:
       type: int?
       default: 1
-      doc: Minimum number of GPU devices to request, or 1.
-    maxDeviceCount:
+      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 `minDeviceCount`.
+      doc: Maximum number of GPU devices to request.  If not specified, same as `deviceCountMin`.