The folks from Kane Computing Ltd (KCL) have announced the release of new versions of the well-established GDD range of hand coded libraries to support the latest multi-core processors from Texas Instruments.
This family of assembler optimised products includes a DSP Vector Library; an ECC LINPACK Library, an EISPACK Library and an ECC BLAS Level 1/2/3 Library.
The latest versions now supports TI’s KeyStone-based TMS320C66x multicore DSP generation, including the TMS320C665x and TMS320C667x DSPs, as well as the TMS320C674x single core DSPs. The software also supports Sitara ARM Cortex-A8 with floating-point coprocessor (AM389x, AM387x, AM35x), OMAPL13x DSP + ARM9 processors, and the DaVinci TMS320DM816x and DM814x generation of video processors.
The assembler optimized software libraries for digital signal processing and advanced mathematics can be linked and run on any of TI’s C66x/C67x+ DSP cores or on the ARM Cortex-A8 CPU with floating-point co-processor. These hand-tuned libraries provide the highest possible performance on the C674x DSP generation taking full advantage of its powerful, integer and floating-point processing capabilities. Each function has been optimized at the algorithm level to run in the shortest number of cycles for the best possible performance.
The libraries are targeted at digital signal processing and mathematical programming tasks in the industrial, military, intelligence and commercial markets. They are ideal for software designers who work with advanced mathematical problems such as solutions to linear equations. The libraries provide ready-to-use modules to solve more than 300 different mathematical tasks and problems, including transforms and convolutions, statistics, numerical analysis, matrix and vector operations.
“The new performance levels offered by our current multicore DSPs have opened the doors to many new markets such as high performance computing, cloud computing, imaging and infrastructure,” said Ramesh Kumar, business manager, multicore processors, TI. “With the availability of GDD libraries, developers within these markets can now easily design applications at a much faster rate.”
The GDD0300 DSP Vector library provides a set of functions that perform commonly used DSP operations like Fast Fourier Transform, Fast Hartley Transform, Discrete Cosine Transform, FIR/IIR filters, coordinate transformations, vector operations, complex number arithmetic operations, pseudo-random numbers generation and data conditioning (spectral windows) operations.
The GDD7000 ECC LINPACK library is capable of solving simultaneous equations in demanding scientific and engineering applications like digital signal processing, image processing, radar and communications. The software has been written to handle a wide variety of matrices including triangular, band, Hermitian and Toeplitz. Several types of matrix decompositions like SVD or QR can be performed by the library functions.
The GDD8000 ECC EISPACK library provides a set of functions that find a solution to linear algebraic eigensystems with various matrices, real or complex, general, band, symmetric or Hermitian. All or selected eigenvalues and eigenvectors can be computed. Several types of matrix decompositions like SVD or QR are performed by the library functions.
The GDD9000 ECC BLAS Level 1/2/3 library provides a set of functions that implement the Basic Linear Algebra Subroutines standard for Level 1 BLAS vector-vector (O(n) complexity) operations, Level 2 BLAS matrix-vector (O(n2) complexity) operations and Level 2 BLAS matrix- matrix (O(n3) complexity) operations. The library's functions perform these operations on the IEEE-754 single and double precision floating-point format numbers. The library uses native floating-point arithmetic support of the C67x DSP, and software simulates floating-point arithmetic for fixed-point TMSC6000TM DSPs. The library processes both real and complex data vectors and matrices.
A set of memory allocation functions provides economical storage for general/structured matrix classes. By using these memory allocation routines the amount of RAM storage is minimized for structured types of matrices, like symmetric, band and triangular classes of matrices.
If you found this article to be interest, visit Microcontroller / MCU Designline
where – in addition to my Max's Cool Beans
blogs on all sorts of "stuff" – you will find the latest and greatest design, technology, product, and news articles with regard to all aspects of designing and using microcontrollers.
Also, you can obtain a highlights update delivered directly to your inbox by signing up for my weekly newsletter – just Click Here
to request this newsletter using the Manage Newsletters tab (if you aren't already a member you'll be asked to register, but it's free and painless so don't let that stop you [grin]).
Last but certainly not least, make sure you check out all of the discussions and other information resources at All Programmable Planet
. For example, in addition to blogs by yours truly, microcontroller expert Duane Benson is learning how to use FPGAs to augment (sometimes replace) the MCUs in his robot (and other) projects.