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