This release note covers the release of TASKING LAPACK Performance Libraries v1.1r1.
LAPACK (Linear Algebra PACKage) is a software library for numerical linear algebra. It provides routines for solving systems of linear equations and linear least squares, eigenvalue problems, and singular value decomposition. It also includes routines to implement the associated matrix factorizations such as LU, QR, Cholesky and Schur decomposition. LAPACK was written in FORTRAN 90 and the original routines handle both real and complex matrices in both single and double precision.
The LAPACK Performance Libraries are based on LAPACK 3.7.0 (see the Netlib site at http://www.netlib.org/lapack). The Fortran code is converted to C code and the provided functions handle single precision real and complex matrices only.
The LAPACK Performance Libraries are comprised of three separate physical libraries: the LAPACK principal function library, the BLAS basic function library and the F2C support function library. The F2C library is a run-time library that is used by the LAPACK and BLAS library.
The BLAS (Basic Linear Algebra Subprograms) library contains functions that provide standard building blocks for performing basic vector and matrix operations. These functions form the low-level layer of LAPACK. Machine-specific optimized BLAS libraries are available for a variety of computer architectures. The LAPACK Performance Libraries v1.1r1 provide such an optimized BLAS implementation for Infineon TriCore.
The BLAS (Basic Linear Algebra Subprograms) library now also contains the single precision complex functions. Refer to Netlib's site BLAS functions in version 3.7.0.
The LAPACK version now also contains the single precision complex functions. Refer to Netlib's site LAPACK functions in version 3.7.0.
Apart from the library sources, this release also contains prebuilt libraries for AURIX and AURIX 2G devices and you can unpack and integrate them in your project if you have a valid license key. Refer to section License Information for more information.
The single precision complex BLAS functions have optimized C code for use with the TASKING VX-toolset for TriCore C compiler.
restrict
keyword has been added to all pointer parameters of the BLAS function declarations.
Such a pointer declaration tells the compiler that (in the declaration's scope) the underlying object
is only accessed (directly or indirectly) via that specific pointer. The compiler may then assume that
no pointer aliasing can occur, enabling improved optimization.
Be aware that this has consequences for the application code: the programmer must make sure that in a BLAS or LAPACK
function call, each pointer is indeed the only thing that accesses (points to) the underlying object.
Please read the "Getting Started with the LAPACK Performance Libraries" manual that is part of the product installation, for more information how to unpack the prebuilt libraries, build the libraries yourself and how to use the libraries in your application.
The sqrtf() function in the C library of the TASKING VX-toolset for TriCore up to release v6.2r1 does not meet the precision requirement of the LAPACK test suite. An improved version of the sqrtf() function is included in the F2C support function library of the LAPACK Performance Libraries product. When linking against the LAPACK libraries the improved precision version will prevail over the C library version.
The LAPACK ieeeck() function does not pass the LAPACK test suite if it is compiled with the default compiler optimization level '-O2' because it will replace expressions of the form 'x == x' with TRUE. However, if x equals NaN the expression should return FALSE. Therefore, the ieeeck.c module is compiled with compiler option '-O0'.
TASKING products are protected with TASKING license management software.
You need a license key when you install a TASKING product on a computer. When you order a TASKING product from Altium or one of its distributors, a license key will be sent to you by email or on paper.
See Obtaining a License on our website for more information.
If you have ordered a TASKING product with a floating license, you can have it serviced by the Remote TASKING License Server (the most convenient solution) or through a Local TASKING License Server (in case you have no external network access for example). Consult your Altium representative for assistance on deciding what the best setup would be for your situation.
If you like to setup up a local license server, we kindly refer you for more information to Support for TASKING License Management System (TLM) on our website. Here you can also download the Local TASKING License Server package.
It is advised that you install the Local TASKING License Server before you install products that require this server.