Deep Learning Accelerator Programming Interface (nvm_dlaSample)
The NvMedia nvm_dlaSample sample application demonstrates how to use the NvMedia Deep Learning Accelerator (DLA) APIs to perform deep learning inference operations. The sample uses the NVIDIA® SoC DLA hardware engine.
The nvm_dlaSample application has two testing modes:
1. Runtime mode.
• Single thread.
• Demonstrates how to create and initialize DLA instances.
• Demonstrates how to run DLA with provided input data and network.
2. SciSync mode.
• Single thread.
• Demonstrates how to create and initialize DLA instances.
• Demonstrates how to run DLA with provided input data and network.
3. Ping mode.
• Pings the specified instance, if it exists.
Architecture
The following diagram shows the architecture of the nvm_dlaSample application.
The following diagram shows the architecture of SciSync mode:
The CPU Signaler generates NvSciFence and sends it to the DLA Worker. Later, CPU signaler signals these NvSciFences.
The DLA worker:
• Sets the NvSciFence from CPU Signaler as previous fence. Submits tasks to DLA.
• Submits tasks to the DLA instance.
• Gets EOF fences from the DLA instance and sends it to CPU Waiter.
CPU water waits on the fences from DLA Worker.
Running the Sample Application
Prerequisites
To run the sample
1. Navigate to:
samples/nvmedia/dla_sample/
2. Launch the application:
$ nvm_dlaSample -mode runtime -d instanceId -n numTasks --loadable /path/to/loadable
Command Line Switches
This is the nvm_dlaSample command syntax:
$ nvm_dlaSample [-h] [-v <Logging Level>] [--mode <Mode>] [-d <Instance ID>] [-n numTasks>] [--loadable /path/to/loadable]
The following table describes the command line switches.
Switch | Parameter | Description |
-h | N/A | Displays guidance on using this application. |
-d | [Instance ID] | Specifies the hardware engine ID on which to run the test. The value may be 0 or 1. The default is 0. |
-n | [numTasks] | Specifies the number of simultaneous tasks that can be sent to a DLA instance. |
--mode | [mode] | Specifies the mode of the test to run. The value may be: • runtime • scisync • ping |
--loadable | [path] | Path to the loadable file. |
-v | N/A | Enables verbose descriptions. |
Examples
Ping mode
$ nvm_dlaSample --mode ping
Runtime mode
$ nvm_dlaSample --mode runtime -d 0 -n 8 -loadable /path/to/loadable
Scisync mode
$ nvm_dlaSample --mode scisync -d 0 -n 8 -loadable /path/to/loadable