Introduction#
lib_xcore_math
is a library of optimised math functions for taking advantage of the vector
processing unit (VPU) of the XMOS XS3 architecture (i.e xcore.ai).
Included in the library are functions for block floating-point arithmetic, fast Fourier transforms,
linear algebra, discrete cosine transforms, linear filtering and more.
Repository structure#
/lib_xcore_math/
api/ - Headers containing the public API.
script/ - Scripts used for source generation.
src/- Library source code.
/doc/ - documentation source.
/examples/ - Example applications.
/tests/ - Unit test projects.
API structure#
This library is organised around several sub-APIs. These APIs collect the provided operations into coherent groups based on the kind of operation or the types of object being acted upon.
The current APIs are:
Block Floating-Point Vector API
Vector/Array API
Scalar API
Linear Filtering API
Fast Fourier Transform API
Discrete Cosine Transform API
Using lib_xcore_math
#
lib_xcore_math
is intended to be used with the XCommon CMake
, the XMOS application build and dependency management system.
lib_xcore_math
can be compiled for both x86 platforms and XS3 based processors.
On x86 platforms you can develop DSP algorithms and test them for functional correctness; this is an optional step before porting the library to an xcore device.
To use this module, include lib_xcore_math
in the application’s APP_DEPENDENT_MODULES
list and
include the xcore_math.h
header file.