Skip to content

Runtime settings#

Runtime configuration file provides parameters that user can tweak to achieve optimal performance of their app.

The name of runtime configuration file is runtime.conf and its placed in data directory. Its settings are described below:

Parameter Description Type Default value
cpuClass Class of cpu by supported instructions - cpu, sse4, avx, avx2, arm, auto. "Value::String" "auto"
deviceClass Execution device type - cpu, gpu. "Value::String" "cpu"
numThreads Number of worker threads. Default: number of CPU logical cores. "Value::Int1" 4
verboseLogging Level of log verbosity. 1 - Errors, 2 - Warnings, 3 - Info, 4 - Debug. "Value::Int1" 0
numComputeStreams Number of streams; Increases performance, but works only with new versions of NVIDIA drivers (375.82, 384.59 and more recent). Don't increase it with older version of NVIDIA driver. "Value::Int1" 1
programCacheSize Maximum number of Program objects in cache. "Value::Int1" 128

Verbosity level sets the upper limit of what type of messages may be printed out. For example, if user set verboseLogging to 3, it means that Errors, Warnings and Info messages will be printed out to the console. Verbose level of 0 indicates that there are no logging messages printed out at all.

In case of GPU usage the numThreads value should be at least == 2 or -1. If this requirement is violated, further behavior is undefined.

Increasing the programCacheSize increases memory usage and potentially improves performance. Be careful, too large a value of this parameter can lead to a crash due to insufficient memory.

Example:

<section name="Runtime">
    <param name="cpuClass" type="Value::String" text="auto" />
    <param name="deviceClass" type="Value::String" text="cpu" />
    <param name="numThreads" type="Value::Int1" x="4" />
    <param name="verboseLogging" type="Value::Int1" x="0" />
    <param name="numComputeStreams" type="Value::Int1" x="4" />
    <param name="programCacheSize" type="Value::Int1" x="128" />
</section>
Back to top