View
227
Download
0
Category
Preview:
Citation preview
Experts in numerical algorithms and HPC services
Numerical Excellence
François CassierJonathan Gibson
23rd January 2012CERN
2Numerical Excellence
Agenda
Introduction to NAG NAG Fortran Compiler NAG’s Numerical Libraries and Toolboxes
NAG Fortran and C Libraries NAG Toolbox for MATLAB ...
NAG HPC Services
3Numerical Excellence19 Apr 2023
Introduction to NAG
Founded in 1970 as a co-operative project in UK Operates as a commercial, not-for-profit
organization Worldwide operations
Oxford & Manchester, UK Chicago, US Tokyo, Japan Taipei, Taiwan
Over 3,000 customer sites worldwide Staff of ~100, over 50% technical, over 25 PhDs
4Numerical Excellence
Numerical Algorithms Group - What We Do
NAG provides mathematical and statistical algorithm libraries widely used in industry and academia
Committed to research & development Library code written and contributed by some of
the world’s most renowned mathematicians and computer scientists
Many collaborative projects – e.g. CSE Support to the UK’s largest supercomputer, HECToR
5Numerical Excellence
Partners
6Numerical Excellence
Partnerships with leading academics
University of 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 Shanghai University Stanford University University of
Strathclyde National University of
Singapore University of
Tennessee Tsinghua University University of Warwick
7
NAG COMPILER & LIBRARIES
8Numerical Excellence
Portfolio
Numerical Libraries Highly flexible for use in many computing languages,
programming environments, hardware platforms and for high performance computing methods
NAG Fortran Compiler and GUI based Windows Compiler: Fortran Builder
Visualization and graphics software Build data visualization applications with NAG’s IRIS Explorer
Algorithmic Differentiation (New) Also called “Automatic Differentiation”
Consultancy services
9Numerical Excellence
NAG development philosophy
First priority: accuracy Second priority: performance
How fast do you want the wrong answer? Algorithms chosen for
usefulness robustness accuracy stability speed
10Numerical Excellence
NAG Fortran Compiler
World’s first Fortran 90 compiler Developed and enhanced to include Fortran 95 and
most features of Fortran 2003. Regularly updated, fully supported. EXCELLENT (the world’s best) checking compiler
11Numerical 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
12Numerical Excellence
Fortran 2008 Features BLOCK construct, ISO_FORTRAN_ENV, etc.
OpenMP 3.0 Most commonly used features
More Fortran 2003 Features FINAL subroutines, etc.
Other New Features Performance improvements, additional error checking,
integrated tools
New Features – NAG Compiler 5.3
13Numerical Excellence
Why Use NAG Maths Libraries and Toolboxes?
Global reputation for quality – accuracy, reliability and robustness…
Extensively tested, supported and maintained code Reduce development time Concentrate on your key areas Components
Fit into your environment Simple interfaces to your favourite packages
Regular performance improvements!
14Numerical 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
15Numerical Excellence
New Features – NAG Libraries Mark 23Mark 23 has new routines in many areas including...
16Numerical Excellence
Best Advice – Use the Decision Trees
17Numerical Excellence
NAG Fortran Library (FL) NAG Library for SMP & Multi Cores (FS) NAG Parallel Library (FD) NAG C Library (CL) NAG Library for .NET (DT) NAG Toolbox for MATLAB (MB)
NAG Librairies Availability
18Numerical 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++ ...
19Numerical Excellence
NAG Libraries Ease of Integration
C++ (various) CUDA OpenCL Visual Basic Java Borland Delphi Python F# … and more
Excel MATLAB SciLab Octave Mathematica Maple LabVIEW R and S-Plus SAS … and more
20Numerical Excellence
NAG Toolbox for MATLAB Contains essentially all NAG Library functionality
not a subset
Fully integrated into MATLAB many routine arguments become optional
easier to read code can be used with MATLAB compiler complete documentation for each routine
inside MATLAB or PDF including examples
Easy migration to production code in C/C++ or Fortran
21Numerical ExcellenceNAG Toolbox help
chapters
MATLAB formatting NAG formatting (in PDF)
22Numerical Excellence MATLAB plotHow to call the
NAG routineCalling the NAG routine
in MATLAB
23Numerical Excellence
NAG Toolbox for MATLAB
Offers complementary functionality to MATLAB
Alternative to several specialist toolboxes From www.walkingrandomly.com:
“I really like the NAG Toolbox for MATLAB for the following reasons: It has saved my employer, The University of Manchester, a lot of
money since we don’t need as many licenses for toolboxes such as Statistics, Optimisation, Curve Fitting and Splines.
It can speed up MATLAB calculations – see my article on MATLAB’s interp1 function for example.
Their support team is superb.”
24
NAG LIBRARY FOR SMP & MULTI CORES
25Numerical Excellence
NAG Library for SMP & Multicore
Based on standard NAG Fortran Library Uses OpenMP to exploit SMP architecture Mark 23 available soon
Identical interfaces to standard Fortran Library just re-link the application easy access to parallelism for non-specialists
user is shielded from details of parallelism assists rapid migration from serial code
can be used along with user’s own parallelism i.e. within the user’s own OpenMP or MPI code
26Numerical Excellence
Interoperability
We want to bring benefits of SMP to multiple environments
Currently: Fortran 77 and 90 (with interface blocks available) From C programs via NAG C Header files Toolbox for Matlab (Windows now, Linux soon)
Investigating technical issues for other possibilities: Better C support via NAG C Library interfaces (“C SMP
Library”) Excel
27
NAG Library Functionality
• Root Finding • Summation of Series (e.g. FFT)• Quadrature• Ordinary Differential Equations• Partial Differential Equations • Numerical Differentiation • Integral Equations • Mesh Generation • Interpolation • Curve and Surface Fitting • Optimisation• Approximations of Special
Functions• Wavelet Transforms
• Dense Linear Algebra• Sparse Linear Algebra• Correlation and Regression
Analysis• Multivariate Analysis of Variance• Random Number Generators• Univariate Estimation • Nonparametric Statistics • Smoothing in Statistics • Contingency Table Analysis • Survival Analysis • Time Series Analysis • Operations Research
28Numerical Excellence
0
2000
4000
6000
8000
10000
12000
1000 2000 4000 1000 2000 4000
1
2
4
S.V.D. (DBDSQR)
Problem size (N)
Per
form
ance
(M
flop
s)
SMP DBDSQR+ ACML BLAS
NCPU
netlib DBDSQR + ACML BLAS
Improved serial performance too
29Numerical Excellence
0
5
10
15
20
25
30
35
40
45
50
1 2 4 8
E01THF: evaluate interpolant at given points
E01TGF: generate 3D interpolant
E01TGF/E01THF: InterpolationT
ime
(sec
s)
Number of cores
Intel Xeon E5310 1.6 GHz, N=100,000
30Numerical Excellence
0
100
200
300
400
500
600
700
800
1 2 4 6 8 12 16 24
G13EAF: Kalman filter (1 iteration)T
ime
(sec
s)
Number of cores
AMD Magny-Cours, dual socket, 2.2 GHz
N=2000, M=L=1000
31Numerical Excellence
0
5
10
15
20
25
1 2 4 6 8 12 16 24
C09EAF: 2-D discrete wavelet transformT
ime
(sec
s)
Number of cores
AMD Magny-Cours, dual socket, 2.2 GHz
M=N=15000, DB8, Half, Forward
32Numerical Excellence
Coming later this year in Mark 23
New parallel routines in the areas of:
Particle Swarm Optimization Pseudo Random Number Generator 2D wavelet routines 4D and 5D interpolation routines
33
NAG HPC SERVICES
34Numerical Excellence
Selected NAG HPC activities
35Numerical Excellence
HECToR CSE Service
36Numerical Excellence
Some CSE successes so far
http://www.hector.ac.uk/cse/reports/
http://www.hector.ac.uk/cse/reports/
Speed and Scalability of Key Materials Science Code (CASTEP) Quadrupled Speed and I/O Performance of Oceanography Code (NEMO) Enhanced Performance of Quantum Monte-Carlo Application (CASINO) Quadrupled Speed and Scalability of Materials Science Simulations (CP2K) Enhanced Performance of Atmospheric Chemistry Simulations (GLOMAP/TOMCAT) Enhanced Performance of Geodynamic Thermal Convection Simulations (CITCOM) Enhanced Scalability of Fluid Turbulence Simulations (EBL) Enhanced up to 40x Simulations of Catalytic Chemistry with ChemShell 8x Faster Scalability of Ocean Modelling Application (Fluidity-ICOM) Dramatically Improved Performance of Molecular Dynamics Application (DL_POLY_3) 20x Faster Capabilities of Key Materials Science Application (CASTEP) Significantly Enhanced Performance of Heart Modelling Application (CARP) 20x Faster Performance of Turbulent Fluid Flow Simulations (Incompact3D) Improved by factor of 6x Performance and Capabilities of Materials Science Code (Conquest) Enhanced Aircraft Noise Simulations (CABARET) Get Faster and Reach Bigger Models
37Numerical Excellence
Specialist HPC Training
We offer a wide selection of courses From introductory programming courses
Fortran 95 (2/3 days) Parallel Programming with MPI (2/3 days) OpenMP (2/3 days) An Introduction to CUDA Programming (2 days) An Introduction to OpenCL Programming (2 days)
To courses for more experienced programmers Debugging, Profiling and Optimising (3 days) Parallel I/O (1 day) Multicore (1 day)
As well as bespoke courses to meet your specific requirements
38Numerical Excellence
Summary
NAG for Quality, World-leading Numerical Software Components accurate, reliable, robust extensively tested, supported and maintained code updated for new architectures and new algorithms
NAG for Expertise in HPC Services To build HPC capability CSE Services Trainings
39Numerical Excellence
NAG Key Contacts
www.nag.co.uk Technical Support and Help
support@nag.co.uk
NAG: fcassier@nag.com
NAGNews http://www.nag.co.uk/NAGNews/Index.asp
40Numerical Excellence
Further InformationNAG Products http://www.nag.co.uk/products_and_services.asp NAG C Library http://www.nag.co.uk/numeric/CL/CLdescription.asp NAG Toolbox for MATLAB http://www.nag.co.uk/numeric/MB/start.asp NAG Toolbox for MATLAB – some demos can be found via here:http://www.nag.co.uk/numeric/MB/product_demonstrations.asp NAG and Octave http://www.nag.co.uk/doc/TechRep/html/Tr4_09/Tr4_09.asp NAG And Scilab http://www.nag.co.uk/doc/techrep/html/TR5_09/TR5_09.asp NAG Data Mining Components http://www.nag.co.uk/numeric/dr/drdescription.asp NAG and Excel http://www.nag.co.uk/numeric/callingDLLsfromotherlang.asp NAG and Java http://www.nag.co.uk/doc/TechRep/html/Tr1_04/Tr1_04.asp NAG and R http://www.nag.co.uk/numeric/RunderWindows.asp NAG and GPUs http://www.nag.co.uk/numeric/GPUs/ NAG Library for .NET (beta) http://www.nag.co.uk/numeric/DT/DTdescription.asp Calling NAG DLLs from C# http://www.nag.co.uk/numeric/csharp.asp
Download software from http://www.nag.co.uk/downloads/index.asp NAGNews http://www.nag.co.uk/NAGNews/index.asp technical articles and news
Recommended