{% comment %}
Copyright (C) The Arvados Authors. All rights reserved.

SPDX-License-Identifier: CC-BY-SA-3.0
{% endcomment %}

h2. Runtime constraints

Runtime constraints restrict the container's access to compute resources and the outside world (in addition to its explicitly stated inputs and output).

table(table table-bordered table-condensed).
|_. Key|_. Type|_. Description|_. Notes|
|ram|integer|Number of ram bytes to be used to run this process.|Optional. However, a ContainerRequest that is in "Committed" state must provide this.|
|vcpus|integer|Number of cores to be used to run this process.|Optional. However, a ContainerRequest that is in "Committed" state must provide this.|
|keep_cache_disk|integer|When the container process accesses data from Keep via the filesystem, that data will be cached on disk, up to this amount in bytes.|Optional. If your cluster is configured to use a disk cache by default, the default size will match your @ram@ constraint, bounded between 2GiB and 32GiB.|
|keep_cache_ram|integer|When the container process accesses data from Keep via the filesystem, that data will be cached in memory, up to this amount in bytes.|Optional. If your cluster is configured to use a RAM cache by default, the administrator sets a default cache size.|
|API|boolean|When set, ARVADOS_API_HOST and ARVADOS_API_TOKEN will be set, and container will have networking enabled to access the Arvados API server.|Optional.|
|cuda|object|Request CUDA GPU support, see below|Optional.|

h3. CUDA GPU support

table(table table-bordered table-condensed).
|_. Key|_. Type|_. Description|_. Notes|
|device_count|int|Number of GPUs to request.|Count greater than 0 enables CUDA GPU support.|
|driver_version|string|Minimum CUDA driver version, in "X.Y" format.|Required when device_count > 0|
|hardware_capability|string|Minimum CUDA hardware capability, in "X.Y" format.|Required when device_count > 0|