Experts in numerical algorithms and HPC services
Numerical Excellence
François [email protected]
Introduction to
« Multicore Demystified » lecture
RWTH Aachen
18th November 2014
Numerical Excellence
Agenda
Few words about NAG
NAG Software Products:
NAG Numerical Libraries & Toolbox
NAG Fortran Compiler
NAG License at RWTH Aachen
Services
Numerical Excellence
Founded in 1970 Not-for-profit organisation
Surpluses fund on-going R&D
Mathematical and Statistical Expertise Libraries of numerical components
Consulting
HPC Services
Computational Science and Engineering (CSE) support
Procurement advice, market watch, benchmarking
NAG Background
Numerical Excellence
Partnerships with leading academics
RWTH Aachen
University of Birmingham
Illinois Institute of
Technology
Fudan University
K U Leuven
Kings College London
University of Manchester
New York University
Osaka City University
University of Oxford
Universita di Roma I
T.U. Eindhoven
Shanghai University
Stanford University
University of Strathclyde
National University of Singapore
University of Tennessee
Tsinghua University
University of Warwick
5
NAG SOFTWARENAG FORTRAN COMPILER
Numerical Excellence
NAG Fortran Compiler
World’s first Fortran 90 compiler
Developed and enhanced to include Fortran 95 + close to 100% features of Fortran 2003 + partial support for the new Fortran 2008 features
Regularly updated, fully supported.
EXCELLENT (the world’s best) checking compiler
Numerical Excellence
NAG Fortran Builder (Windows version)
Integrated Development Environment for NAG compiler on Windows PC
Perfectly integrated with NAG Library
NAG example program templates
Extra facilities: tools e.g. Fortran Polisher, Fortran converter, LAPACK examples
Integrated debugger
Numerical Excellence
Support for OpenMP 3.1 in addition to OpenMP 3.0
Maximum rank of an array is increased
Internal procedures can be passed as actual arguments or assigned to a procedure pointer
G0 and G0.d edit descriptors, and * (infinite) repeat factor
CONTIGUOUS attribute and IS_CONTIGUOUS intrinsic function
ERF, EFRC, ERFC_SCALED, GAMMA, LOG_GAMMA intrinsic functions
Implied-shape named array constants
ERROR_STOP statement
Kind type parameters for derived types
New interface generator (nagfor =interfaces)
Additional options within the polisher tool
New Features – NAG Compiler 6.0
9
NAG SOFTWARENAG NUMERICAL LIBRARIES &
TOOLBOX
Numerical Excellence
NAG development philosophy
First priority: accuracy & performance
Algorithms chosen for
usefulness
robustness
accuracy
stability
speed
Numerical Excellence
Why Use NAG Maths Libraries and Toolboxes?
+1700 math/stat software components
High quality software – accuracy, reliability and robustness
Extensively tested, supported and maintained code
Reduce development time
Components for:
Most programming languages
Most environments for modelling and data analysis
Designed to get high performance
Numerical Excellence
NAG Library and Toolbox Contents
Root Finding
Summation of Series
Quadrature
Ordinary Differential Equations
Partial Differential Equations
Numerical Differentiation
Integral Equations
Mesh Generation
Interpolation
Curve and Surface Fitting
Optimization
Approximations of Special Functions
Dense Linear Algebra
Sparse Linear Algebra
Correlation & Regression Analysis
Multivariate Methods
Analysis of Variance
Random Number Generators
Univariate Estimation
Nonparametric Statistics
Smoothing in Statistics
Contingency Table Analysis
Survival Analysis
Time Series Analysis
Operations Research
Numerical Excellence
Hypergeometric function Robust accurate real confluent
hypergeometric function
Nearest correlation matrix Elementwise weighted nearest correlation
matrix
Wavelet Transforms & FFTs Three dimensional discrete single level and
multi-level wavelet transforms.
Fast Fourier Transforms (FFTs) for two-dimensional and three dimensional real data.
Matrix Operations Matrix exponentials (Schur–Parlett)
Combines two sums of squares matrices to allow large datasets to be summarised
Matrix functions including calculation of condition numbers
Interpolation 5D interpolation and higher dimensions
Optimization Local optimization: Non-negative least squares
Global optimization: Multi-start versions of general nonlinear programming and least squares routines
RNG’s Brownian bridge and random fields
Statistics Gaussian mixture model
Best subsets of given size (branch and bound )
Vectoized probabilities and probability density functions of distributions.
Inhomogeneous time series analysis, moving averages
NAG Library : new Mark 24 (1 of 2)
Mark 24 has new routines in many areas including...
Numerical Excellence
Data fitting Fit of 2D scattered data by two-stage
approximation (suitable for large datasets)
Quadrature 1D adaptive for badly-behaved integrals
Sparse eigenproblem Driver for real general matrix, driver for banded
complex eigenproblem
Sparse linear systems block diagonal pre conditioners and solvers
ODE solvers Thread safe initial value ODE solvers
NAG Library : new Mark 24 (2 of 2)
Mark 24 has new routines in many areas including... (page 2)
Numerical Excellence
NAG Fortran Library
NAG Library for SMP & Multi Cores
NAG Parallel Library
NAG C Library
NAG Toolbox for MATLAB
NAG Library for Xeon Phi
NAG Library for .NET
NAG Components for GPU/CUDA
+ Additional interfaces (e.g. Python, Java, R)
NAG Library & Toolbox Products
Numerical Excellence
O/S & Compilers
Supporting Wide Range of
O/S
Windows
Linux
Mac
Solaris
AIX
HP-UX
32-bit, 64-bit
...
Support leading compilers
(Fortran, C & C++, .NET)
NAG
Intel, Pathscale, PGI
GCC, GFortran
Absoft, Lahey, Visual C++
...
Numerical Excellence
NAG Libraries Ease of Integration
C++ (various)
OpenCL
Visual Basic
Java
Delphi
Python
F#
…
and more
Excel
SciLab
Octave
Mathematica
Maple
LabVIEW
R and S-Plus
SAS
…
and more
18
NAG SOFTWARE AT RWTH AACHEN
Numerical Excellence
NAG Fortran Compiler & NAG Fortran Builder
NAG Fortran Library
NAG Library for SMP & Multi Cores
NAG Parallel Library
NAG C Library
NAG Toolbox for MATLAB
NAG Library for Xeon Phi
NAG Library for .NET
NAG Components for GPU/CUDA
+ Additional interfaces (e.g. Python, Java, R)
NRW State Wide License Includes
Numerical Excellence
How do I get the software?
Help yourself from:
http://www.nag.co.uk/downloads/index.asp
For all supported combinations of o/s and compiler
On Workstations, clusters & home systems
License keys can be requested at:
[email protected] (Andrea Lindner Lorenz)
Numerical Excellence
How do I get some help?
Direct access to technical support:
22
NUMERICAL & HPC SERVICES
Numerical Excellence
Consulting Services from NAG
Numerical & Statistical Library support
Customised routines for NAG Libraries
Integration of NAG libraries into customer environments
Customisation of customer code
HPC support
Supporting the business
HPC technology planning, collaborative research
Impartial advice, benchmarking, procurement consulting
Supporting the developer/user
Parallel software engineering expertise & services
Porting, scalability, optimisation, new algorithms, restructuring, …
Product and HPC Training
Collaborative R&D for new technology (manycore, GPU, …)
Experts in Numerical Engineering
Numerical Excellence
NAG Key Contacts
www.nag.co.uk
Technical Support and Help
[email protected] (commercial contact)
[email protected] (local technical contact)
NAGNews
http://www.nag.co.uk/NAGNews/Index.asp