volk_gnsssdr_profile(1)
Profiler application for libvolk_gnsssdr functions.
Description
volk_gnsssdr_profile
NAME
volk_gnsssdr_profile - Profiler application for libvolk_gnsssdr functions.
SYNOPSIS
volk_gnsssdr_profile [OPTION]
DESCRIPTION
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.
OPTIONS
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.
SEE ALSO
gnss-sdr(1)
Check https://gnss-sdr.org for more information.
HISTORY
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 https://www.libvolk.org/
BUGS
No known bugs.
AUTHOR
Andres Cecilia
Luque (a.cecilia.luque@gmail.com)
Carles Fernandez-Prades (carles.fernandez@cttc.es)