MtxVec Core Edition

Cross platform feature for MtxVec

Overview

MtxVec Core Edition is the full source version of MtxVec v5. It allows MtxVec to be compiled completely without reference to external dlls and run with pure pascal code only (100% full source code). With FireMonkey use common source to compile your applications for Windows, Mac OS, iOS / iPhone and Android.

With a compiler switch, you can change how MtxVec will be included in to your application.

Main advantages:

  • Small size of distribution
  • Platform indepent builds

The Core edition is the key new feature of MtxVec v5. It allows MtxVec to be compiled completely without reference to external dlls and run with pure pascal code only (100% full source code). All the algorithms relevant to the add-on packages of DSP Master and Stats Master have been implemented in pascal. The numerical accuracy is comparable. Great care was taken when translating Fortran Lapack code to pascal to maintain nearly line by line comparability. The code runs slower (of course) than its Windows dll based counterpart, but greatly simplifies distribution on Windows and to other platforms like Android and OSx/iOS.

Features added with MtxVec v5.3:

On OSX and iOS the MtxVec now interfaces Apple Accelerate framework. The big advantage here is that no additional libraries need to be included with distribution. The following sub-systems are mapped : BLAS, LAPACK (including complex number support), math functions (sin, cos, tan, exp, ln, ...), and the FFT library. There is some support in the Accelerate framework for vectorized math, but that is not as comprehensive as on the Windows.

The DSP Master of course benefits from the faster FFTs and optimized dot product functions. Additionaly TSignalCoreAudioIn and TSignalCoreAudioOut have been upgraded to support playback and recording on Android and iOS. This simplifies development of audio processing applications immensly, because the entire application can now be debugged on Windows and only deployed to the mobile device. On the iOS the audio pack used is RemoteIO and on Android it is the AudioRecord and AudioTrack classes. These are then optimized for widest possible hardware and OS version compatibility.

The Delphi math unit and default System unit math functions have been bypassed for both Android and iOS with Math387 which now run about 20x faster by making direct using of the libm library.

According to our tests, an Apple mobile application is capable of 10x faster CPU code execution, due to better hardware and provided accelerator framework libraries, than high-end Android devices. The performance of such iOS apps is very close to Delphi Windows desktop applications when running without special optimizations. Bellow you can find some basic benchmarks using one CPU core for orientation.

Computing: for i := 0 to 511 do c[i] := sqrt(sqr(a[i]) + sqr(b[i])), 1024x. single precision

  • iPad, A9 (with acc): 6ms  (Apple A9, 1.85 GHz)
  • iPhone 5s, A7 (with acc): 9ms
  • iPhone 5s A7 (no acc, libm): 18ms  (Apple A7, 1.3GHz, dual core)
  • Huawei P10 Lite (libm): 22ms  (2.4GHz, Cortex A53, 4 cores).
  • LG V700 (libm): 120ms  (1.2GHz Qualcomm, ARMv7, 4 cores)
  • Core i5 4670 (no acc): 2.5ms (3.7GHz, 4 cores)
  • Core i5 4670 (acc): 0.3ms  (3.7GHz, 4 cores)

Computing FFT (1024 samples real to complex). 1024x, single precision

  • iPad, A9 (with acc): 14ms
  • iPad, A9 (no acc): 90ms
  • iphone 5s (with acc): 37ms
  • iPhone 5s (no acc): 156ms
  • LG V700: 400ms
  • Huawei P10 Lite: 200ms
  • Core i5 4670 (no acc): 27ms
  • Core i5 4670 (acc): 1ms
Icon Delphi CBuilder

Dew Lab Studio Core 2017 Trial
for Delphi/BCB

2007 / 2009 / 2010 / XE / XE2 / XE3 / XE4 / XE5 / XE6 / XE7 / XE8 / Seattle10 / Berlin10.1 / Tokyo 10.2

(144 MB)

MtxVec V5 Core Edition

All-in-one single pass installer/uninstaller

Last updated: 7th November, 2017

Main Features of MtxVec Core Edition

The following major features are available in pascal since MtxVec v5:

  • LU Factorization and LU Solvers.
  • QR Factorization and QR solvers for rank deficient matrices
  • EIG values and vectors for symmetric and general matrices
  • SVD values and vectors
  • SVD based linear system solvers
  • FFT1D/2D
  • Remez Exchange algorithm for optimal FIR filter design used by DSP Master add-on pack.

Entire code base maintains the following features:

  • Optionally fully range checked by using Delphi dynamic arrays
  • Requires Delphi XE6 with Update 1 or newer for substantially better performance.
  • Features automated tests.

The support for the following features are missing from the initial release of the Core Edition:

  • Sparse matrix LU solvers and eigen values
  • Lapack routines using complex number input matrices
  • The higher quality random generators

Important:

Cross-platform FireMonkey support with MtxVec requires at least Embarcadero Rad Studio XE8 or AppMethod.

© DewResearch 1997 - 2017 All Rights Reserved.
E-mail This email address is being protected from spambots. You need JavaScript enabled to view it..
Delphi & C++ Builder are registered trademarks of Embarcadero Corporation. All other brands and product names are trademarks or registered trademarks of their respective owners.