volk_gnsssdr_profile(1) Profiler application for libvolk_gnsssdr functions.


volk_gnsssdr_profile [OPTION]


The Vector-Optimized Library of Kernels of GNSS-SDR (VOLK_GNSSSDR) is a software library that provides developers with an interface to use Single Input - Multiple Data (SIMD) instructions, which are of special interest for operations that are in the receiver's critical path of the processing load.
Processors providing SIMD instruction sets compute with multiple processing elements that perform the same operation on multiple data points simultaneously, thus exploiting data-level parallelism, an can be found in most modern desktop and laptop personal computers. In a nutshell, VOLK_GNSSSDR implements in assembly language optimized versions of computationally-intensive operations for different processor architectures that are commonly found in modern computers. In order to use the most optimized version for the specific processor(s) of the host machine running the software receiver (that is, the implementation than runs the fastest).
volk_gnsssdr_profile is a program that tests all known VOLK_GNSSSDR kernels (that is, basic processing components like adders, multipliers, correlators, and much more) for each architecture supported by the host machine, measuring their performance. When finished, the profiler writes to $HOME/.volk_gnsssdr/volk_gnsssdr_config the best architecture for each VOLK_GSSSDR function. This file is read when using a function to know the best version to execute.


volk_gnsssdr_profile takes the following options:
-h [ --help ] Print help message.
-b [ --benchmark ] [ =arg(=1) ] (=0) Run all kernels (benchmark mode).
-t [ --tol ] <arg> (=9.99999997e-07) Set the default error tolerance for tests.
-v [ --vlen ] <arg> (=8111) Set the default vector length for tests.
-i [ --iter ] <arg> (=1987) Set the default number of test iterations per kernel.
-R [ --tests-regex ] <arg> Run tests matching regular expression.
-u [ --update ] [ =arg(=1) ] (=0) Run only kernels missing from config; use -R to further restrict the candidates.
-n [ --dry-run ] [ =arg(=1) ] (=0) Dry run. Respect other options, but do not write to file.
-j [ --json ] <arg> JSON output file.


This library was originally developed by Andres Cecilia Luque in the framework of the Summer of Code in Space program (SOCIS 2014) by the European Space Agency (ESA), and then integrated into gnss-sdr. This software is based on the VOLK library http://libvolk.org/


No known bugs.


Andres Cecilia Luque ([email protected]) .TP Carles Fernandez-Prades ([email protected])