Skip to content

InferenceEngineTestsCoverage

Ilya Lavrenov edited this page Nov 12, 2020 · 5 revisions

Inference Engine coverage report build

The coverage report is generated using Lcov tool and based on profile data generated by GCC. The generated reports are in HTML form and located in <dldt_build>/coverage. The reports are generated for the following components:

  1. inference_engine - main Inference Engine library
  2. inference_engine_legacy - legacy Inference Engine library
  3. inference_engine_ir_reader - Inference Engine IR reader library
  4. low_precision_transformations - library with Low Precision transformations.
  5. inference_engine_transformations - Ngraph-based transformation for Inference Engine.
  6. preprocessing - Inference Engine G-API based preprocessing plugin.
  7. Inference Engine open-sources plugins:
    • hetero_plugin - Heterogeneous plugin.
    • multi_device - Multi device plugin.
    • cldnn_engine - GPU plugin.
    • mkldnn_plugin - CPU plugin.
    • gna_plugin - GNA plugin.

Build with profiling data support

To build coverage report, compile DLDT with an additional CMake option -DENABLE_COVERAGE=ON:

$ cmake -DENABLE_COVERAGE=ON .

And build DLDT as usual.

Generate coverage report

In order to generate coverage reports, first of all, the tests must be run. Depending on how many tests are run, the better covegare percentage can be achieved. E.g. for inference_engine component, InferenceEngineUnitTests, ieUnitTests, ieFuncTests must be run as well as plugin tests.

$ ctest -V -L IE

After sufficient number of tests are executed, the coverage numbers can be calculated. In order to do this, run:

$ make ie_coverage

The following tree of reports are generated:

$ find coverage/ -maxdepth 2 -name index.html
coverage/hetero_plugin/index.html
coverage/inference_engine/index.html
coverage/inference_engine_ir_reader/index.html
coverage/inference_engine_legacy/index.html
coverage/low_precision_transformations/index.html
coverage/mkldnn_plugin/index.html
coverage/multi_device/index.html
coverage/preprocessing/index.html
coverage/inference_engine_transformations/index.html
coverage/gna_plugin/index.html
coverage/cldnn_engine/index.html
Clone this wiki locally