Benchmarks | CenterSpace Software | C# and .NET Math Libraries

By: Centerspace  06-Dec-2011
Keywords: Linear Algebra

For many computations, NMath uses the IntelĀ® Math Kernel Library (MKL), which contains highly-optimized, extensively-threaded versions of the C and FORTRAN public domain computing packages known as the BLAS (Basic Linear Algebra Subroutines) and LAPACK (Linear Algebra PACKage). This gives NMath classes performance levels comparable to C,and often results in performance an order of magnitude faster than non-platform-optimized implementations.

In the example above, tests were performed on square matrices of varying sizes, and with varying numbers of repetitions. Each test was run 10 times and the average time was computed.(The machine used was a 2.8GHz Intel Core i7-930 quad core, with 8GB PC3 8500 DDR3 SDRAM, running 64-bit Microsoft Windows 7 Ultimate.)

NMath offers significantly higher performance than a straight C# implementation, especially for larger matrices. For example, the average time for multiplying 1000x1000 matrices using the C# matrix code averages over 43 times slower than NMath running single-threaded, and 30 times slower than NMath running multithreaded. The data also show the negligible overhead relative to straight C or C++ involved in invoking MKL from managed .NET code.

Keywords: Linear Algebra

Other products and services from Centerspace

06-Dec-2011

License Agreement | CenterSpace Software

APPLICABLE LAWS: Any claim arising under or relating to this Agreement shall be governed by the internal substantive laws of the State of Oregon or federal courts located in Oregon, without regard to principles of conflict of laws. Do not copy, install, or use the "Materials" provided under this license agreement, until you have carefully read the following terms and conditions.


06-Dec-2011

NMath 5.1 | CenterSpace Software

Classes for factoring structured sparse matrices, including LU factorization for banded and tridiagonal matrices, Bunch-Kaufman factorization for symmetric and Hermitian matrices, and Cholesky decomposition for symmetric and Hermitian positive definite matrices. Full-featured vector and matrix classes for four datatypes: single- and double-precision floating point numbers, and single- and double-precision complex numbers.


06-Dec-2011

NMath Stats 3.4 | CenterSpace Software

Special functions, such as factorial, log factorial, binomial coefficient, log binomial, log gamma, incomplete gamma, beta, and incomplete beta. NMath Stats is a .NET statistics library containing classes for data manipulation, statistical computation, and biostatistics. Data filtering, including a moving average filter and a Savitzky-Golay smoothing filter.


06-Dec-2011

Professional Services | CenterSpace Software

We will work with you to design a customized training course that shortens your learning curve, teaches best practices, and provides immediate returns in increased productivity and application performance. Consulting Our developers can assist you in all phases of your numerical development projects, providing expertise and hands-on support in design, development, optimization, and deployment.


06-Dec-2011

Products | CenterSpace Software | C# and .NET Math Libraries

The NMathTM .NET math and statistics libraries from CenterSpace Software provides numerical components for financial, engineering, and scientific applications on the .NET platform.


06-Dec-2011

Design Philosophy | CenterSpace Software

Our goal at CenterSpace is to employ all the tools of object-oriented design to balance these sometimes opposing goals into a consistent, stepwise-discoverable framework. New users can explore the NMath framework and quickly become productive, and NMath functionality can easily be incorporated into existing projects.