The NAG Library for SMP & Multicore, a de facto standard for numerical code, has been extended with an additional group of algorithms, specifically engineered for the current generation of computer systems.
NOTE: The NAG Library is the largest commercial numerical algorithm library. It was developed to harness the performance gains from the shared memory parallelism of Symmetric Multi-Processors (SMP) and multicore processors. The NAG Library is used in fields such as science modeling, weather forecasting, financial modeling, and complex engineering design.
With new functions in important areas that include optimization, statistics, matrix operations, PDE solvers, and ODE solvers, the update should logically benefit software developers who run code on multiple core systems.
To take advantage of the latest processor and memory configurations, NAG (which stands for Numerical Algorithms Group Ltd) says it reimplemented many mathematical algorithms so that they are more efficient when running on multiple cores.
Additionally, new parallel routines are making their debut in the library and these routines, such as Particle Swarm Optimization, that are chosen for their special characteristics when run on parallel architectures, are said to be powerful when solving important classes of problems on parallel hardware.
"I have made extensive use of the performance optimized routines from the NAG Library, both on a PC and on two large supercomputers, as part of a research project," said Konrad Bartkowski, of Mathematics and Education Division at the Jülich Supercomputing Centre (JSC), Forschungszentrum Jülich GmbH, in Germany.
"I integrated the copy of the NAG Library for SMP & Multicore, which was installed on one of our supercomputers, with my research code. The huge gain in performance was impressive. What is more, the flexibility of the NAG library allowed me to obtain these increases under very different system conditions such as different programming languages and different software engineering models," added Bartkowski.
The newly engineered NAG Library routines are available with OpenMP (Open Multi-Processing) support.