Dew Research
Search entire site:
  Home| Products | Order | Downloads | FAQ | Support | About us
Introducing MtxVec 2.0 the number crunching library is back with dot Net support.More

Develop within .NET and deliver the code speed of assembler.
• Comprehensive and fast numerical math library
• support for VS.NET, CodeGear Delphi and C++ Builder
• statistical and DSP add-ons

 
MtxVec
Screenshots
MtxVec
Visit our comprehensive Screenshot Gallery.
Applications
MtxVec for mission critical applications where complex real time data processing is needed. Ten times faster than conventional programming.
MtxVec applications
Testimonials
"I've been using it and works brilliant"

Pedro Pablo Mena
System Application Engineer Moore Process Control
More Testimonials
FFT properties 5.0
Borland Delphi Microsoft Dot .Net
About

MtxVec v3 for C++Builder users

Introduction

MtxVec is an object oriented vectorized numerical library featuring a comprehensive set of mathematical and statistical functions executing at impressive speeds. The secret behind MtxVec performance is called "code vectorization". MtxVec achieves substantial performance improvements of floating point math by exploiting the P4 SSE2 and SSE3 instruction sets.

When using MtxVec to write numerical algorithms the compactness and readability of code will also improve together with significantly shorter development times.

MtxVec makes extensive use of Lapack. Lapack is short for Linear Algebra Package and was originally called Linpack. Lapack is today de-facto standard for linear algebra and is free (www.netlib.org). Because Lapack is standard, different CPU makers provide performance optimized versions of Lapack to achieve maximum performance. Because linear algebra routines are the bottleneck of many frequently used algorithms, Lapack is a part of code that makes most sense to optimize. MtxVec uses the Lapack version optimized for P4 CPU’s provided by Intel with their Math Kernel library. Future versions of MtxVec will also support Lapack libraries provided by AMD.

MtxVec also makes extensive use of Intel Performance Primitives, which accelerate mostly not linear algebra based functions and will run on all Intel x86 compatible CPU’s old and new, but will achieve highest performance on Pentium 4.

Features for C++ developers

What you gain with MtxVec

  • Low level math functions are wrapped in to simply to use code primitives.
  • All primitives have internal and automatic memory management. This frees the user from a wide range of possible errors like, allocating insufficient memory, forgetting to free the memory, keeping too much memory allocated at the same time and similar.
  • Parameters are explicitly range checked, before they are passed to the dll routines. This ensures that all (internal) dll calls are safe to use.
  • When calling Lapack routines MtxVec automatically compensates for the fact that in FORTRAN the matrices are stored by columns and in other languages by rows.
  • Many LAPACK functions take many parameters. Most of them can be filled-in automatically by MtxVec, thus reducing the time to study each function extensively, before it can be used.
  • Organized in to a set of “primitive” highly optimized functions covering all the basic math operations, which are used by all higher level algorithms, in a similar way as the BLAS is used by LAPACK.
  • Although some compilers support native SSE2/SSE3 instruction set, the resulting code can never be as optimal as a hand optimized version.
  • Many linear algebra routines are multithreaded, including FFT’s and sparse matrix solvers.
  • All MtxVec functions must pass very strict automated tests. It is these tests, which give the library the highest possible level of reliability, accuracy and error protection.
  • All low level code is abstracted away from the user. This allows a very easy transition to any future platform supported by MtxVec.

How fast is it really

Typical performance improvements observed by most users are 2-3 times for vector functions, but speed ups up to 10 times are not rare.

 

Navigation
Home Page
Special Offers
News

Products
Information

Order

Downloads

Information
Product Support
About us
Site Map
Resources
Testimonials
Customers
Link Request

Features for C++
Classes
Operators overloading
Subranges
Methods and functions
Range Checking

*

MtxVec© Janez Makovsek and Marjan Slatinek. All Rights Reserved. E-MAIL info@dewresearch.com. Delphi & C++ Builder are registered trademarks of Inprise Borland Corporation. All other brands and product names are trademarks or registered trademarks of their respective owners.
dogma