Intel® Integrated Performance Primitives Developer Guide and Reference

ID 790148
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Appendix: Performance Test Tool Command-Line Options

Intel® Integrated Performance Primitives (Intel® IPP) installation includes command-line tools for performance testing in the <install_dir>/tools/perfsys directory. There is one perfsys tool for each domain. For example, ps_ipps executable measures performance for all Intel IPP signal processing domain functions.

Many factors may affect Intel IPP performance. One of the best way to understand them is to run multiple tests in the specific environment you are targeting for optimization. The purpose of the perfsys tools is to simplify performance experiments and empower developers with useful information to get the best performance from Intel IPP functions.

With the command-line options you can:

  • Create a list of functions to test
  • Set parameters for each function
  • Set image/buffer sizes

To simplify re-running specific tests, you can define the functions and parameters in the initialization file, or enter them directly from the console.

The command-line format is:

ps_ipp*.exe [option_1] [option_2] ... [option_n]

To invoke the short reference for the command-line options, use -? or -h commands:

ps_ipp*.exe -h

The command-line options are divided into several groups by functionality. You can enter options in arbitrary order with at least one space between each option name. Some options (like -r, -R, -o, -O) may be entered several times with different file names, and option -f may be entered several times with different function patterns. For detailed descriptions of the perfsys command-line options see the following table:

Performance Test Tool Command Line Options
Group Option Description
Set optimization layer to test -T[cpu-features] Call ippSetCpuFeatures
Report Configuration -A<Timing|Params|Misalign|All> Prompt for the parameters before every test from console

-o[<file-name>]

Create <file-name>.txt file and write console output to it

-O[<file-name>]

Add console output to the file <file-name>.txt

-L <ERR|WARN|PARM|INFO|TRACE>

Set detail level of the console output

-r[<file-name>]

Create <file-name>.csv file and write perfsys results to it

-R[<file-name>]

Add test results to the file <file-name>.csv

-q[<file-name>] Create <file-name>.csv and write function parameter name lines to it
-q+ Add function parameter name lines to perfsys results table file
-Q Exit after creation of the function parameter name table

-u[<file-name>]

Create <file-name>.csv file and write summary table ('_sum' is added to default file name)

-U[<file-name>]

Add summary table to the file <file-name>.csv ('_sum' is added to default file name)

-g[<file-name>]

Create signal file at the end of the whole testing

-l<dir-name>

Set default directory for output files

-k<and|or>

Compose different keys (-f, -t, -m) by logical operation

-F<func-name>

Start testing from function with func-name full name

-Y<HIGH/NORMAL>

Set high or normal process priority (normal is default)

-H[ONLY]

Add 'Interest' column to .csv file [and run only hot tests]

-N<num-threads>

Call ippSetNumThreads(<num-treads>)

-s[-] Sort or do not sort functions (sort mode is default)

-e

Enumerate tests and exit

-v

Display the version number of the perfsys and exit

-@<file-name> Read command-line options for the specified file
Set function parameters

-d<name>=<value>

Set perfsys parameter value

Initialization files

-i[<file-name>]

Read perfsys parameters from the file <file-name>.ini

-I[<file-name>]

Write perfsys parameters to the file <file-name>.ini and exit

-P

Read tested function names from the .ini file

-n<title-name>

Set default title name for .ini file and output files

-p<dir-name>

Set default directory for .ini file and input test data files

Select functions

-f <or-pattern>

Run tests for functions with pattern in their names, case sensitive

-f-<not-pattern>

Do not test functions with pattern in their names, case sensitive

-f+<and-pattern>

Run tests only for functions with pattern in their names, case sensitive

-f=<eq-pattern>

Run tests for functions with pattern full name

-t[-|+|=]<pattern>

Run (do not run) tests with pattern in test name

-m[-|+|=]<pattern>

Run (do not run) tests registered in file with pattern in file name

Help -h

Display short help and exit

-hh

Display extended help and exit

-h<key>

Display extended help for the key and exit