{
  "additionalProperties": false,
  "properties": {
    "class": {
      "enum": [
        "cwltool:CUDARequirement"
      ],
      "type": "string"
    },
    "cudaComputeCapability": {
      "description": "The compute capability supported by the GPU hardware.\n\n* If this is a single value, it defines only the minimum compute capability.\n  GPUs with higher capability are also accepted.\n* If it is an array value, then only select GPUs with compute capabilities that explicitly\n  appear in the array.\n  See https://docs.nvidia.com/deploy/cuda-compatibility/#faq and\n  https://docs.nvidia.com/cuda/cuda-c-best-practices-guide/index.html#cuda-compute-capability\n  for details.\n",
      "oneOf": [
        {
          "description": "The compute capability supported by the GPU hardware.",
          "pattern": "^\\d+\\.\\d+$",
          "title": "CUDA compute capability",
          "type": "string"
        },
        {
          "items": {
            "description": "The compute capability supported by the GPU hardware.",
            "pattern": "^\\d+\\.\\d+$",
            "title": "CUDA compute capability",
            "type": "string"
          },
          "minItems": 1,
          "title": "CUDAComputeCapabilityArray",
          "type": "array"
        }
      ],
      "title": "CUDA compute capability"
    },
    "cudaDeviceCountMax": {
      "default": 1,
      "description": "The maximum amount of devices required.",
      "example": 8,
      "minimum": 1,
      "title": "CUDA device count maximum",
      "type": "integer"
    },
    "cudaDeviceCountMin": {
      "default": 1,
      "description": "The minimum amount of devices required.",
      "example": 1,
      "minimum": 1,
      "title": "CUDA device count minimum",
      "type": "integer"
    },
    "cudaVersionMin": {
      "description": "The minimum CUDA version required to run the software. This corresponds to a CUDA SDK release.\n\nWhen run in a container, the container image should provide the CUDA runtime,\nand the host driver is injected into the container.  In this case, because CUDA drivers\nare backwards compatible, it is possible to use an older SDK with a newer driver across major versions.\n\nSee https://docs.nvidia.com/deploy/cuda-compatibility/ for details.\n",
      "example": "11.4",
      "pattern": "^\\d+\\.\\d+$",
      "title": "CUDA version minimum",
      "type": "string"
    }
  },
  "required": [
    "cudaVersionMin",
    "cudaComputeCapability"
  ],
  "title": "cwltool:CUDARequirement",
  "type": "object"
}