                        Intel(R) Integrated Performance Primitives for Linux* Performance Tests

Introduction
============

    The Intel(R) Integrated Performance Primitives (Intel(R) IPP) for Linux* Performance Tests are command line  
    programs for testing the performance of each function in the API. 

Running the Tests
=================

    Each portion of the Intel(R) IPP API has its own program to gather performance data.  In order to run these tests,  
    the Intel(R) IPP shared objects must be on the system's path.  This can be achieved by running the "ippvars.sh ia32" 
    file before executing the desired performance test(s). The tests will be valid for that system's processor only.
    These programs will run without further input and will output large data files (see below).  Command line options  
    for these tests, including restricting which functions and data are tested, can be found by invoking any test with 
    the "-?" option.

Common Command line options
===========================

Groups                              Options                         Descriptions
-----------------------------------------------------------------------------------------------------------------------
1. Adjusting Console Input 
                                    -A                              Ask parameters before every test from console
                                    -B                              Batch mode

2. Managing Output 
                                    -r[<file-name>]                 Create csv-file and write PS results
                                    -R[<file-name>]                 Add test results to csv-file 
                                    -H[ONLY]                        Add 'Interest' column to table file [and run only  
                                                                    hot tests]
                                    -o[<file-name>]                 Create txt-file and write console output
                                    -O[<file-name>]                 Add console output to txt-file
                                    -L<ERR|WARN|PARM|INFO|TRACE>    Set detail level of the console output
                                    -u[<file-name>]                 Create csv-file and write summary table  ('_sum' is 
                                                                    added to default title name)
                                    -U[<file-name>]                 Add summary table to csv-file ('_sum' is  added to 
                                                                    default title name)
                                    -g[<file-name>]                 Create signal file just at the end of the whole  
                                                                    testing
                                    -s[-]                           Sort or don't sort functions (sort mode is default)
                                    -e                              Enumerate tests and exit

3. Selecting Functions for Testing
                                    -f < or-pattern>                Run tests of functions with pattern in name,  case 
                                                                    sensitive
                                    -f-<not-pattern>                Not test functions with pattern in name,  case 
                                                                    sensitive
                                    -f+<and-pattern>                Run only tests of functions with pattern in name,  
                                                                    case sensitive
                                    -f=< eq-pattern>                Run tests of functions with this full name,  case 
                                                                    sensitive
                                    -F<func-name>                   Start testing from function with this full name,  
                                                                    case sensitive

4. Operation with .ini Files
                                    -i[<file-name>]                 Read PS parameters from ini-file
                                    -I[<file-name>]                 Write PS parameters to ini-file and exit
                                    -P                              Read tested function names from ini-file
 
5. Adjust default directories and file names for input & output
                                    -n<title-name>                  Set default title name for ini file and output files
                                    -p<dir-name>                    Set default directory for input files i.e. ini & 
                                                                    test data files
                                    -l<dir-name>                    Set default directory for output files

6. Direct Data Input 
                                    -d<name>=<value>                Set PS parameter value

7. Process priority 
                                    -Y<HIGH/NORMAL>                 Set high or normal process prioritY (normal is  
                                                                    default)

8. Tune Intel(R) IPP Libraries 
                                    -T<cpu-name>                    Turn on <cpu-name>-optimizated code using
                                                                    ippSetCpuFeatures function
                                    -N<num-threads>                 Call ippSetNumThreads(<num-treads>)

Reading the Data
================

    Each performance test application outputs a large comma-delimited file of data.  There is a header describing 
    global data such as the processor and operating system.  This is followed by an entry for each test that lists the 
    function, its parameters and the time taken to execute each test. 

Other Notes
===========

    - GNU Compiler Collection version 3.2, or later is required to run any of the performance tests (for libstdc++.so.5).

    - The data returned by Intel(R) IPP performance testing is sensitive to normal system  activities such as CPU power 
      state transitions and background task activity. To achieve results that can be compared across multiple runs, we 
      recommend that you undertake performance testing on systems with Intel(R) Turbo Boost Technology and C-State 
      transitions disabled and all possible background tasks disabled.  Running without these  settings may result in 
      console warnings due to variability of the output data.

    - The performance data in the accompanying CSV files was obtained using computing platforms available at release. 

    - For more updated product and performance information, please refer to http://software.intel.com/intel-ipp.

Optimization Notice
===================

    Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for  optimizations that 
    are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and 
    other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization 
    on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended  
    for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for 
    Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information 
    regarding the specific instruction sets covered by this notice.

    Notice revision #20110804 

Disclaimer 
==========

    INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL PRODUCTS. NO LICENSE, EXPRESS OR IMPLIED, BY 
    ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN 
    INTEL'S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL 
    DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL PRODUCTS INCLUDING LIABILITY 
    OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, 
    COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.  
    UNLESS OTHERWISE AGREED IN WRITING BY INTEL, THE INTEL PRODUCTS ARE NOT DESIGNED NOR INTENDED FOR ANY 
    APPLICATION IN WHICH THE FAILURE OF THE INTEL PRODUCT COULD CREATE A SITUATION WHERE PERSONAL INJURY OR 
    DEATH MAY OCCUR. 

    Intel may make changes to specifications and product descriptions at any time, without notice. Designers must not 
    rely on the absence or characteristics of any features or instructions marked "reserved" or "undefined." Intel 
    reserves these for future definition and shall have no responsibility whatsoever for conflicts or incompatibilities 
    arising from future changes to them. The information here is subject to change without notice. Do not finalize 
    a design with this information.  

    The products described in this document may contain design defects or errors known as errata which may cause the 
    product to deviate from published specifications. Current characterized errata are available on request.  
    Contact your local Intel sales office or your distributor to obtain the latest specifications and before placing  
    your product order.
    Copies of documents which have an order number and are referenced in this document, or other Intel literature, may  
    be obtained by calling 1-800-548- 4725, or go to the Literature Fulfillment Center.  
    Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each  
    processor family, not across different processor families. See http://www.intel.com/products/processor_number for 
    details.

    BunnyPeople, Celeron, Celeron Inside, Centrino, Centrino Inside, Core Inside, i960, Intel, the Intel logo,  Intel 
    Atom, Intel Atom Inside, Intel Core, Intel Inside, Intel Inside logo, Intel NetBurst, Intel NetMerge, Intel 
    NetStructure, Intel SingleDriver, Intel SpeedStep, Intel Sponsors of Tomorrow., the Intel Sponsors of Tomorrow. 
    logo, Intel StrataFlash, Intel Viiv, Intel vPro, Intel XScale, InTru, the InTru logo, InTru soundmark, Itanium,  
    Itanium Inside, MCS, MMX, Moblin, Pentium, Pentium Inside, skoool, the skoool logo, Sound Mark, The Journey Inside, 
    vPro Inside, VTune, Xeon, and Xeon Inside are trademarks of Intel Corporation in the U.S. and other countries.  
    * Other names and brands may be claimed as the property of others. 

    Microsoft, Windows, Visual Studio, Visual C++, and the Windows logo are trademarks, or registered trademarks of  
    Microsoft Corporation in the United States and/or other countries. 

Copyright (C) 2012-2021, Intel Corporation. All rights reserved. 

