Application Runner Configuration
The Holoscan runner requires a YAML configuration file to define some properties necessary to deploy an application.
That file is the same configuration file commonly used to configure other aspects of an application, documented here.
The configuration file can be defined in two ways:
At package time, with the
--configflag of theholoscan packagecommand (Required/Default).At runtime, with the
--configflag of theholoscan runcommand (Optional/Override).
The holoscan run command parses two specific YAML nodes from the configuration file:
A required
applicationparameter group to generate a HAP-compliant` container image for the application, including:The
title(name) andversionof the application.Optionally,
inputFormatsandoutputFormatsif the application expects any inputs or outputs respectively.
An optional
resourcesparameter group that defines the system resources required to run the application, such as the number of CPUs, GPUs and amount of memory required. If the application contains multiple fragments for distributed workloads, resource definitions can be assigned to each fragment.
Below is an example configuration file with the application and optional resources parameter groups, for an application with two-fragments (first-fragment and second-fragment):
application:
title: My Application Title
version: 1.0.1
inputFormats: ["files"] # optional
outputFormats: ["screen"] # optional
resources: # optional
# non-distributed app
cpu: 1 # optional
cpuLimit: 5 # optional
gpu: 1 # optional
gpuLimit: 5 # optional
memory: 1Mi # optional
memoryLimit: 2Gi # optional
gpuMemory: 1Gi # optional
gpuMemoryLimit: 1.5Gi # optional
sharedMemory: 1Gi # optional
# distributed app
fragments: # optional
first-fragment: # optional
cpu: 1 # optional
cpuLimit: 5 # optional
gpu: 1 # optional
gpuLimit: 5 # optional
memory: 100Mi # optional
memoryLimit: 1Gi # optional
gpuMemory: 1Gi # optional
gpuMemoryLimit: 10Gi # optional
sharedMemory: 1Gi # optional
second-fragment: # optional
cpu: 1 # optional
cpuLimit: 2 # optional
gpu: 1 # optional
gpuLimit: 2 # optional
memory: 1Gi # optional
memoryLimit: 2Gi # optional
gpuMemory: 1Gi # optional
gpuMemoryLimit: 5Gi # optional
sharedMemory: 10Mi # optional
For details, please refer to the HAP specification.