xref: /dpdk/doc/guides/tools/testmldev.rst (revision bb38d854fa70f6edab2adfdfd8cbb02f96099135)
1ac930a55SSrikanth Yalavarthi..  SPDX-License-Identifier: BSD-3-Clause
2ac930a55SSrikanth Yalavarthi    Copyright (c) 2022 Marvell.
3ac930a55SSrikanth Yalavarthi
4ac930a55SSrikanth Yalavarthidpdk-test-mldev Application
5ac930a55SSrikanth Yalavarthi===========================
6ac930a55SSrikanth Yalavarthi
7ac930a55SSrikanth YalavarthiThe ``dpdk-test-mldev`` tool is a Data Plane Development Kit (DPDK) application
8ac930a55SSrikanth Yalavarthithat allows testing various mldev use cases.
9ac930a55SSrikanth YalavarthiThis application has a generic framework to add new mldev based test cases
10ac930a55SSrikanth Yalavarthito verify functionality
11ac930a55SSrikanth Yalavarthiand measure the performance of inference execution on DPDK ML devices.
12ac930a55SSrikanth Yalavarthi
13ac930a55SSrikanth Yalavarthi
14ac930a55SSrikanth YalavarthiApplication and Options
15ac930a55SSrikanth Yalavarthi-----------------------
16ac930a55SSrikanth Yalavarthi
17ac930a55SSrikanth YalavarthiThe application has a number of command line options:
18ac930a55SSrikanth Yalavarthi
19ac930a55SSrikanth Yalavarthi.. code-block:: console
20ac930a55SSrikanth Yalavarthi
21ac930a55SSrikanth Yalavarthi   dpdk-test-mldev [EAL Options] -- [application options]
22ac930a55SSrikanth Yalavarthi
23ac930a55SSrikanth Yalavarthi
24ac930a55SSrikanth YalavarthiEAL Options
25ac930a55SSrikanth Yalavarthi~~~~~~~~~~~
26ac930a55SSrikanth Yalavarthi
27ac930a55SSrikanth YalavarthiThe following are the EAL command-line options that can be used
28ac930a55SSrikanth Yalavarthiwith the ``dpdk-test-mldev`` application.
29ac930a55SSrikanth YalavarthiSee the DPDK Getting Started Guides for more information on these options.
30ac930a55SSrikanth Yalavarthi
31ac930a55SSrikanth Yalavarthi``-c <COREMASK>`` or ``-l <CORELIST>``
32ac930a55SSrikanth Yalavarthi  Set the hexadecimal bitmask of the cores to run on.
33ac930a55SSrikanth Yalavarthi  The corelist is a list of cores to use.
34ac930a55SSrikanth Yalavarthi
35ac930a55SSrikanth Yalavarthi``-a <PCI_ID>``
36ac930a55SSrikanth Yalavarthi  Attach a PCI based ML device.
37ac930a55SSrikanth Yalavarthi  Specific to drivers using a PCI based ML device.
38ac930a55SSrikanth Yalavarthi
39ac930a55SSrikanth Yalavarthi``--vdev <driver>``
40ac930a55SSrikanth Yalavarthi  Add a virtual mldev device.
41ac930a55SSrikanth Yalavarthi  Specific to drivers using a ML virtual device.
42ac930a55SSrikanth Yalavarthi
43ac930a55SSrikanth Yalavarthi
44ac930a55SSrikanth YalavarthiApplication Options
45ac930a55SSrikanth Yalavarthi~~~~~~~~~~~~~~~~~~~
46ac930a55SSrikanth Yalavarthi
47ac930a55SSrikanth YalavarthiThe following are the command-line options supported by the test application.
48ac930a55SSrikanth Yalavarthi
49ac930a55SSrikanth Yalavarthi``--test <name>``
50ac930a55SSrikanth Yalavarthi  Name of the test to execute.
51*bb38d854SSrikanth Yalavarthi  Supported ML tests include device tests.
52*bb38d854SSrikanth Yalavarthi  Test name should be one of the following supported tests.
53*bb38d854SSrikanth Yalavarthi
54*bb38d854SSrikanth Yalavarthi  **ML Device Tests** ::
55*bb38d854SSrikanth Yalavarthi
56*bb38d854SSrikanth Yalavarthi    device_ops
57ac930a55SSrikanth Yalavarthi
58ac930a55SSrikanth Yalavarthi``--dev_id <n>``
59ac930a55SSrikanth Yalavarthi  Set the device ID of the ML device to be used for the test.
60ac930a55SSrikanth Yalavarthi  Default value is ``0``.
61ac930a55SSrikanth Yalavarthi
62ac930a55SSrikanth Yalavarthi``--socket_id <n>``
63ac930a55SSrikanth Yalavarthi  Set the socket ID of the application resources.
64ac930a55SSrikanth Yalavarthi  Default value is ``SOCKET_ID_ANY``.
65ac930a55SSrikanth Yalavarthi
66ac930a55SSrikanth Yalavarthi``--debug``
67ac930a55SSrikanth Yalavarthi  Enable the tests to run in debug mode.
68ac930a55SSrikanth Yalavarthi
69ac930a55SSrikanth Yalavarthi``--help``
70ac930a55SSrikanth Yalavarthi  Print help message.
71ac930a55SSrikanth Yalavarthi
72ac930a55SSrikanth Yalavarthi
73*bb38d854SSrikanth YalavarthiML Device Tests
74*bb38d854SSrikanth Yalavarthi---------------
75*bb38d854SSrikanth Yalavarthi
76*bb38d854SSrikanth YalavarthiML device tests are functional tests to validate ML device API.
77*bb38d854SSrikanth YalavarthiDevice tests validate the ML device handling configure, close, start and stop APIs.
78*bb38d854SSrikanth Yalavarthi
79*bb38d854SSrikanth Yalavarthi
80*bb38d854SSrikanth YalavarthiApplication Options
81*bb38d854SSrikanth Yalavarthi~~~~~~~~~~~~~~~~~~~
82*bb38d854SSrikanth Yalavarthi
83*bb38d854SSrikanth YalavarthiSupported command line options for the ``device_ops`` test are following::
84*bb38d854SSrikanth Yalavarthi
85*bb38d854SSrikanth Yalavarthi   --debug
86*bb38d854SSrikanth Yalavarthi   --test
87*bb38d854SSrikanth Yalavarthi   --dev_id
88*bb38d854SSrikanth Yalavarthi   --socket_id
89*bb38d854SSrikanth Yalavarthi
90*bb38d854SSrikanth Yalavarthi
91*bb38d854SSrikanth YalavarthiDEVICE_OPS Test
92*bb38d854SSrikanth Yalavarthi~~~~~~~~~~~~~~~
93*bb38d854SSrikanth Yalavarthi
94*bb38d854SSrikanth YalavarthiDevice ops test validates the device configuration and reconfiguration.
95*bb38d854SSrikanth Yalavarthi
96*bb38d854SSrikanth Yalavarthi
97*bb38d854SSrikanth YalavarthiExample
98*bb38d854SSrikanth Yalavarthi^^^^^^^
99*bb38d854SSrikanth Yalavarthi
100*bb38d854SSrikanth YalavarthiCommand to run ``device_ops`` test:
101*bb38d854SSrikanth Yalavarthi
102*bb38d854SSrikanth Yalavarthi.. code-block:: console
103*bb38d854SSrikanth Yalavarthi
104*bb38d854SSrikanth Yalavarthi   sudo <build_dir>/app/dpdk-test-mldev -c 0xf -a <PCI_ID> -- \
105*bb38d854SSrikanth Yalavarthi        --test=device_ops
106*bb38d854SSrikanth Yalavarthi
107*bb38d854SSrikanth Yalavarthi
108ac930a55SSrikanth YalavarthiDebug mode
109ac930a55SSrikanth Yalavarthi----------
110ac930a55SSrikanth Yalavarthi
111ac930a55SSrikanth YalavarthiML tests can be executed in debug mode by enabling the option ``--debug``.
112ac930a55SSrikanth YalavarthiExecution of tests in debug mode would enable additional prints.
113