Run-to-run reproducibility in computing is often assumed as an obvious truth. However software running on modern computer architectures, among many other processes, particularly when coupled with advanced performance-optimized libraries, is often only guaranteed to produce reproducible results only up to a certain precision; beyond that results can and do vary run-to-run.
Motivated by the need of some special functions when writing signal processing code for NMath, we decided to add a suite of special functions to be included in NMath 6.1. While the field of special functions is vast, our 41 functions attempt to cover many of the most commonly needed functions in physics and engineering. This includes the gamma function and related functions, Bessel functions, elliptic integrals, and more.
Centerspace Software is pleased to announce new versions of the NMath libraries – NMath 6.1, and NMath Stats 4.1.
The most release of NMath Premium 6.0 is a major upgrade to the GPU API and it enables users to easily use multiple installed NVIDIA GPU’s. As always, using NMath Premium to leverage GPU’s never requires any kernel-level GPU programming or other specialized GPU programming skills. In the following article, after introducing the new GPU bridge architecture, we’ll discuss each of the new API features separately with code examples.
Once Microsoft published the
Threading.Task library with .NET 4 many programmers who never or only occasionally wrote multi-threaded code were now doing so regularly with the
Threading.Task API. The Task library reduced the complexity of writing threaded code and provided a several new related classes to make the process easier while eliminating some pitfalls. In this post I’m going to show how to use the Task library with NMath Premium 6.0 to run tasks in parallel on multiple GPU’s and the CPU.