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 the- holoscan packagecommand (Required/Default)
- At runtime, with the - --configflag of the- holoscan 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) and- versionof the application.
- optionally, - inputFormatsand- outputFormatsif 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.