NAGnews 116 | 5 September 2013
In this issue
- New NAG Library for Intel® Xeon Phi™ - now available
- New functionality spotlight (Mark 24): Additions to Nearest Correlation Matrix
- 2013 NAG Student Prize Winners Announced
- Capability of CABARET Aeroacoustics and Geophysical Fluid Dynamics Solvers Improved by NAG's HECToR dCSE Team
- New Tutorial: Using the NAG C Library with Visual Studio 2012
- Events and Training Courses
- The best of the blog
NAG Library for Intel® Xeon Phi™ - now available
The NAG Library for Intel Xeon Phi contains over 1,750 numerical routines, a number of which have been parallelised and tuned to take advantage of the performance of the Xeon Phi. NAG routines automatically offload, when it is beneficial to do so, compute intensive operations to the Xeon Phi thereby enabling users to transparently exploit the performance of this new architecture. For more advanced users the new NAG Library for Intel Xeon Phi also supports Intel's Explicit Offload and Native Execution models. To further complement the new Library, NAG provides parallel software engineering and performance optimisation services to advise and give assistance with the migration of application codes in order that they effectively exploit the potential of the Xeon Phi coprocessor.
If you're interested in using the NAG Library for Intel Xeon Phi, do get in touch.
New Functionality Spotlight (Mark 24): Additions to Nearest Correlation Matrix
We continue to shine the spotlight on the new functionality in Mark 24 of the NAG Library. Today we focus on the additions to the extensive Nearest Correlation Matrix (NCM) functionality. The new NCM routine in the Correlation and Regression Analysis Chapter is G02AJF. G02AJF computes the nearest correlation matrix, using element-wise weighting in the Frobenius norm and optionally with bounds on the eigenvalues, to a given square, input matrix.
A correlation matrix is characterised as being a real, square symmetric matrix with ones on the diagonal and with non-negative eigenvalues. A matrix with non-negative eigenvalues is called positive semidefinite. If a matrix C is a correlation matrix then the elements of C, C(I,J), represent the pair-wise correlation of entity I with entity J, that is, the strength and direction of a linear relationship between the two.
There are numerous examples illustrating the use of correlation matrices but the one we have encountered the most arises in finance where the correlation between various stocks is used to construct sensible portfolios. Unfortunately, for a variety of reasons, an input matrix which is supposed to be a correlation matrix may fail to be semidefinite. For example the correlations may be between stocks measured over a period of time and some data may be missing; treated incorrectly. This missing data problem can give rise to an indefinite matrix. Still drawing from finance, a practitioner may wish to explore the effect on a portfolio of assigning correlations between certain assets different from those computed from historical values. This can also destroy the semidefiniteness of the matrix.
In such situations the user has a matrix which approximates a correlation matrix but which fails to be so. Since subsequent analysis relies upon the matrix being a valid correlation matrix for the results to be valid, it is natural to seek a neighbouring matrix which differs least from the input matrix to act in its stead.
Read the full paper on NAG's Nearest Correlation Matrix functions here.
2013 NAG Student Prize Winners Announced
One of the highlights in the NAG calendar is the presenting of student awards. NAG awards high achievers from two MSc courses at the University of Manchester each year and the latest winners were given their prizes at the Manchester SIAM Student Chapter conference recently. Craig Lucas, Senior Technical Consultant based at NAG Manchester was delighted to award Henry Tregidgo who won the NAG Prize for Numerical Analysis and Tianren Bu who won the NAG Prize for Mathematical Finance. Congratulations to them for their outstanding achievements. We wish them both (and all student readers of NAGnews) many future successes.
Figure 1 NAG Prize Winner 2013 (Numerical Analysis), Henry Tregidgo with NAG's Craig Lucas
photo copyright Nick Higham 2013
Figure 2 NAG Prize Winner 2013 (Mathematical Finance), Tianren Bu with NAG's Craig Lucas
photo copyright Nick Higham 2013
Capability of CABARET Aeroacoustics and Geophysical Fluid Dynamics Solvers Improved by NAG's HECToR dCSE Team
An HPC expert from NAG, working under NAG's Computational Science and Engineering (CSE) support service for HECToR, the UK's national academic supercomputing facility, has assisted in upgrading the parallel implementations of two very important Computational Fluid Dynamics (CFD) applications that use the CABARET method.
CABARET (Compact Accurate Boundary Adjusting high REsolution Technique), is a general-purpose numerical scheme which may be used to solve the complex flow of liquids and gases, is well suited for computational aeronautics and geophysics problems. One application of CABARET is in the investigation of aircraft noise, which is currently a very important environmental concern. A significant component of all aircraft noise results from air flowing around the airframe, engines, and wing flaps. Reducing this noise remains a very challenging design problem that requires this model to accurately simulate the wing-flap, free jet, and wing-flap-jet interaction effects that can occur so they can be minimised. Another CABARET application simulates medium to large scale circulation effects of eddys in the ocean, which is a major concern in the study of climate change.
Commenting on the dCSE project success, Dr Sergey Karabasov of the School of Engineering and Materials Science at QMUL said: "The dCSE project has been mainly (75%) focused on extending the general CABARET method to wider scientific applications. Specifically, thanks to this project a new computational Geophysical Fluid Dynamics (GFD) code PEQUOD (the Parallel Quasi-Geostrophic Model) has been introduced to HPC for high-resolution ocean modelling simulation at eddy-resolving regimes. This work has already led to secure NERC funding for a new 3 year project "Turbulent Oscillator"(Dr Berloff, PI) and Dr Karabasov,Co-I) where the HPC PEQUOD code will be used to study long-scale variability in oceanic flows."
Please read the report here.
New: Using the NAG C Library with Visual Studio 2012 - Tutorial Available
Many of our C Library users run Windows with Visual Studio for their C and C++ development. Visual Studio is an excellent Integrated Development Environment and has many configurable settings and options. In an effort to make using the NAG C Library with Visual Studio easier for new users of both NAG and Visual Studio we have created a step by step tutorial. Even experienced developers might find some useful tips. The tutorial contains information on using the 32 and 64 bit NAG C Library along with all the necessary settings for Visual Studio. Also shown is how to run the example programs distributed with the Library and how you can save all the required setting into a property sheet that can be easily added to future projects. The version of Visual Studio used is Express 2012 however the settings are much the same across earlier versions. If you have any questions or would like to see more tutorials like this then please contact email@example.com.
View the tutorial here.
Events & Training Courses
- KPMG Center of Excellence in Risk Management Conference: Risk Management Reloaded
9 – 13 September 2013, Technische Universität München.
Quantitative theoretical methods have taken the world of modern risk management by storm. However, new regulations, products, and valuation techniques provide a continuous flow of challenging problems to the academic world, often triggering interesting mathematical developments. This conference brings together leading experts from academia with today's responsible risk managers. It thus provides a forum for the exchange of knowledge in both directions. We are delighted to be supporting this event, and will be present at our exhibition booth. We hope to meet you if you are attending.
- INFORMS Annual Meeting 2013
6-9 October 2013, Minneapolis, USA
The strength of this Annual Meeting is its diversity, bringing together experts from industry, academia, and government. The meeting covers topics ranging from business analytics to workforce management. INFORMS Minneapolis offers a vibrant, progressive environment to come together, to look forward, and share and discuss scientific advances. If you are visiting the event, please do come and visit us at the NAG exhibition booth.
8th-11th October 2013. Edinburgh. GIRO is the premier conference of general insurance actuaries and is attended annually by more than 650 delegates and speakers keen to hear about topics like Pricing, Reserving, PPOs, Risk Management and other current hot topics. NAG is delighted to be present at the event for its 40th anniversary. You can find us at Booth Number B01..
- 3rd IMA Conference on Mathematics in Defence
Thursday 24 October 2013. Malvern.
This conference brings together a wide variety of mathematical methods with defence and security applications. The conference programme will include keynote speakers, contributed presentations and poster sessions as well as refreshment breaks for informal discussions. It is intended for mathematicians, scientists and engineers from industry and academia, as well as government personnel who have an interest in how mathematics can be applied to defence problems. We will once again be present at our exhibition booth and look forward to meeting you if you are attending. Phil Ridley of NAG will also be presenting a paper entitled 'The CABARET Scheme for Scalable High-Resolution Shock Capturing in Turbulent Flows'..
Training Courses Provided by NAG's HECToR Team*
- An Introduction to Unified Parallel C (UPC)
6 September 2013, Culham Centre for Fusion Energy (CCFE)
- Parallel Programming with MPI
10-12 September 2013, Loughborough University
- Accelerating Applications with CUDA
17-19 September 2013, NAG Manchester
7-9 October 2013, University of Liverpool
- Debugging, Profiling and Optimising
13-15 November 2013, University of Bristol
These HPC training courses are provided free of charge to HECToR users and UK academics whose work is covered by the remit of one of the participating research councils (EPSRC, NERC and BBSRC). The courses are also open to non-eligible people but will require payment of a course fee. Please see the eligibility page for more details.
The Best of the Blog
Jenkins comes to NAG
We build a lot of Fortran and C code as part of our Libraries and Compiler, and we have over 40 years experience in software engineering and in numerical analysis and algorithms. However, not being a large organization means that it can be hard to keep up with the vanguard of new SE methodologies and frameworks. There are some approaches though that seem a no brainer to have as part of the workflow in a modern software company. Convergent evolution can lead to their development and adoption without any prompting from the greater community.
For decades we've followed and benefited from many of the principles of continuous integration (for example, version control and build automation---but no longer with SCCS or shell scripts!) and we've been running a self-hosted and self-maintained manager for automatic builds since the early 2000s. But we began to find the system showing its age and straining at the seams. The build manager uses dumb ssh-ing to launch each build on a slave, so there is no communication channel between a build and the driver. The build indexer has become quite unmaintainable and is, shall we say, rustic: it resembles a web page from 1995.
Read more at the NAG Blog
All the performance comes from parallel processing
I often use this slide to show why all software has to be aware of parallel processing now.
In short, if your software does not exploit parallel processing techniques, then your code is limited to less than 2% of the potential performance of the processor. And this is just for a single processor - it is even more critical if the code has to run on a cluster or a supercomputer
This is why NAG provides help to users and developers: training in parallel programming techniques; software development services to parallelize and scale your applications; advice and consulting; and our libraries - parallelized and tuned for a range of processors and co-processors.