NAGnews 169
Mathieu functions in the NAG Library demonstrating NAG's commitment to accuracy

NAG introduced Mathieu functions to the NAG Library at its recent update (Mark 27). Mathieu functions have a range of applications in the solution of problems involving elliptic structures including propagation within elliptical waveguides, the physics of capacitor microphones and scattering from dielectric elliptical cylinders.

Computing Mathieu functions accurately can be difficult and there are many papers on the subject. Here is a demonstration, taken from a StackOverflow question, showing how Python's SciPy implementation occasionally struggles. The NAG implementation computes the correct results as shown in the plot.

Upcoming Webinars

Energy Efficient Computing using Dynamic Tuning - Thursday 2 April 2020 - This webinar focuses on tools designed to improve the energy-efficiency of HPC applications using a methodology of dynamic tuning of HPC applications, developed under the H2020 READEX project. The READEX methodology has been designed for exploiting the dynamic behaviour of software. At design time, different runtime situations (RTS) are detected and optimized system configurations are determined. RTS with the same configuration are grouped into scenarios, forming the tuning model. At runtime, the tuning model is used to switch system configurations dynamically. We will present the MERIC tool that implements the READEX methodology. It supports manual or binary instrumentation of the analysed applications to simplify the analysis - learn more and register.

CompBioMed CoE - Addressing Biomedical Challenges with HPC - Friday 15 May - In this webinar, we will outline some of CompBioMed's achievements on HPC infrastructure in these fields of computational biomedicine. The consortium's efforts to broaden the capability of HPC use within the biomedical community will also be discussed. Finally, we will highlight the results of previous interactions between the CompBioMed and POP CoEs and possible avenues for future collaboration - learn more and register.

These webinars are delivered by the POP project of which NAG is a partner. The Performance Optimisation and Productivity Centre of Excellence in HPC provides performance optimisation and productivity services for academic AND industrial code(s) in all domains! Services are free of charge to organisations / SMEs / ISVs / companies in the EU!

NEW: NAG Fortran Builder features parallel coarray execution, and more

The NAG Fortran Builder (Compiler for Windows) has been updated with a host of major new features:

  • Parallel execution of coarray programs on shared-memory machines
  • Half precision floating-point conforming to the IEEE arithmetic standard, including full support for all exceptions and rounding modes
  • Submodules, a Fortran 2008 feature for breaking large modules into separately-compilable files
  • Teams, a Fortran 2018 coarray feature for structuring parallel execution
  • Events, a Fortran 2018 coarray feature for lightweight single-sided synchronisation
  • Atomic operations, a Fortran 2018 coarray feature for updating atomic variables without synchronisation

Click here to learn more about the new release.

We recommend that users move to the latest NAG Fortran Builder to access of additional functionality (all supported clients are guaranteed technical assistance on the current release and one previous). Users upgrading from a previous release will need a new licence key. If you have any questions about this release do contact your Account Manager or the NAG Technical Support Service.

NAG and Intel® collaborate to develop proto-apps to improve performance for users of HPC codes

One of the many EU collaborative projects that NAG has been involved with is EA2CT (EXascale Algorithms and Advanced Computational Techniques). The principle project aim was to improve code scale and performance on large numbers of cores. The project included the development of "proto-apps" to behave as proxies for parts of larger codes, and this part of the work was carried out collaboratively by NAG and Intel.

The project began by asking a set of questions to owners of large codes to find identifiable sections of code that did not scale well as the core count increased, so limiting the scaling of the entire code. Ideally, the code owners provided access to their code so that it could be profiled. Using the findings obtained the team created the proto-app, which was a new standalone code to reproduce/extract the bottleneck from the original code. This was then used to study and improve the performance of this bottleneck without needing the original code. In some cases, the bottleneck was also present in a wide range of other codes and so improvements made to the proto-app could be just as relevant to other applications. After this improvement work, the changes were re-integrated into the original code and the proto-app was made available to the wider user community for their development work.

Three proto-apps were developed by NAG: exaFarm, exaIO and exaMD. The first of these, exaFarm, was developed to improve a load-balancing issue in Yales2, a code for solving two-phase combustion problems.

Best of the Blog

Diversifying HPC Community: HPC Training Workshop for Underrepresented Groups

In a male-dominated field such as High Performance Computing (HPC), it is vital to ensure women and minorities advance equitably in their careers. Bringing women and under-represented groups together and improving visibility is a step towards promoting diversity and inclusion.

Conferences such as the WHPC summit 2020, workshops such as the Women in HPC workshop at ISC20, tutorials and training events targeting under-represented groups are various activities that aim to close the gender gap in HPC. One important step towards making this happen is to facilitate developing the HPC skills among under-represented groups. Training is a crucial step to encourage a diverse and inclusive workforce in HPC communities.

We, five female HPC experts with a long track record of providing HPC training, came together to run an introduction to HPC workshop for a female audience. On January 30th-31st, we ran our first joint HPC training workshop at the University of Sheffield, UK. This was an intensive two-day introductory course on how to use HPC systems efficiently aimed at PhD students and postgraduate researchers.

Application Performance Profiling: Part 3 - Choosing Tools for Effective Profiling

This is the third and final part of a mini-series of blogs on application performance profiling by Phil Tooley, HPC Application Analyst. The aim of the blogs is to give an overview of the process of application profiling for performance optimization. The topics he covers in this series are:

  1. Performance profiling concepts: Parallelism, the critical path, and Amdahl's argument.
  2. The right tool for the job: Tracing, sampling and instrumenting profilers.
  3. Interpreting profiles and diagnosing issues: An example with MPI and I/O.

In this blog he will use the concepts introduced in the first part to understand how to choose the best profiling tools for different situations.