NvMedia IOFA PFSD (nvm_iofa_pfsd_test)
The sample application, nvm_iofa_pfsd_test, runs the permanent fault software diagnostic (PFSD) tests on the NvMedia Optical Flow Accelerator (OFA) hardware engine.
The PFSD tests are divided in 2 groups (group 0 and group 1) in order to split the execution time into two roughly equal parts per DOS requirements. The test binary runs both the groups, one after the other, in a single iteration. The nvm_iofa_pfsd_test application can run all OFA PFSD tests multiple times in a loop. The rate of execution can also be input to the test application. The output of the application is the result of the PFSD tests; either pass or fail.
To run the sample:
- Follow the steps in Building and Running the NvMedia Samples.
- Launch the application:
$ nvm_iofa_pfsd_test -h
Command Line Options for nvm_iofa_pfsd_test
The sample application command syntax is as follows:
$ nvm_iofa_pfsd_test [options]
There is no mandatory command line option for this test application. Running the nvm_iofa_pfsd_test without any command line argument will execute all OFA PFSD tests once and provide the result of the tests.
String parameters, such as file name, have a maximum length of 256 characters. Restrictions on other types of parameters are noted individually.
The command line options are as follows.
Optional Command Line Options | ||
---|---|---|
Option | Parameter | Description |
-h | n/a | Displays guidance on using this application. |
-v |
0: Errors 1: Warnings 2: Info 3: Debug (default) |
Logging level. |
-c | Default 1 | Number of times PFSD tests will execute in an iteration. |
-r |
1: 1 tests iteration per second (default) 150: 150 tests iteration per second |
Rate at which OFA PFSD tests runs. |
-f | File name By default Perf/Latency numbers are stored in /tmp/Test_ID_* file |
Provides file name for dumping latency stats. |
-profileTestTime | <InitLatency> <SubmitLatency0> <SubmitLatency1> <ExecutionLatency0> <ExecutionLatency1> | Verifies if latencies are within the prescribed time by comparing generated latency values with values provided as argument. Must provide all five latencies when this option is enabled. |
InitLatency | Provides init latency in microsec. | |
SubmitLatency0 | Provides submit latency in microsec for group 0 | |
SubmitLatency1 | Provide submit latency in microsec for group 1 | |
ExecutionLatency0 | Provides execution latency in microsec for group 0 | |
ExecutionLatency1 | Provides execution latency in microsec for group 1 |
Examples
These examples demonstrate how to call nvm_iofa_pfsd_test
to perform
various operations.
- Run PFSD tests for 1 count at 1 iteration/sec
$ nvm_iofa_pfsd_test
- Run PFSD tests for 1000 count at 10 iterations/sec
$ nvm_iofa_pfsd_test -c 1000 -r 100
- Run PFSD tests for 10000 times at 150 iterations/sec and also dump the
latency numbers
$ nvm_iofa_pfsd_test -c 10000 -r 150 -f /tmp/ofa_pfsd
- Run PFSD tests for 5000 times at 50 iterations/sec and provide latency
numbers for comparison
$ nvm_iofa_pfsd_test -c 5000 -r 50 -profileTestTime 150000 1000 1000 4000 4000