NAG training workshop
16 Apr 2012 - 19 Apr 2012

Dates: 16-19th April 2012
Venue: Potential 1 & 2 at level 13, (#13-01 Connexis North), Fusionopolis

Instructor: Craig Lucas, Senior Technical Consultant, NAG

The purpose of the workshop is to introduce A*CRC users and Singapore researchers to The Numerical Algorithms Group (NAG) Libraries, compilers and tools. 

NAG produces numerical, data mining components, statistical and visualisation software, compilers and application development tools, for the solution of problems in a wide range of areas such as science, engineering, financial analysis and research. Produced by experts for use in a variety of applications, the NAG Library is the largest commercially available collection of numerical and statistical algorithms in the world. With over 1,600 tried and tested routines that are both flexible and portable, it remains at the core of thousands of programs and applications spanning the globe.

The NAG Library is so widely used and trusted because of its unrivalled quality, reliability and portability. The NAG Library is written by the best world experts in numerical analysis and is tailored for the entire range of computers: from a single PC to workstation to the world’s largest supercomputers. The NAG Library is available for use with many programming languages and for many platforms and operating systems.

The entire NAG Library of 1,600 mathematical routines and other tools has been installed on A*CRC computers  (Fuji, Axle and Aurora).
The entire stack consists of:
•         NAG Library for SMP & Multi-core (Fortran)
•         NAG Fortran Library
•         NAG C Library
•         NAG Fortran Compiler

A*CRC is happy to announce a special license agreement with NAG which covers:

1. All users from A*STAR Biomedical Research Council Institutes, A*STAR Science and Engineering Research Council Institutes. This license covers use of NAG software on personal machines as well as A*CRC supercomputers.

2.  Guest users from National University Singapore (NUS), Nanyang Technological University (NTU), National Environment Agency (NEA) of Singapore, Singapore Management University (SMU), Singapore University of Technology and Design (SUTD), DUKE-NUS, and Campus for Research Excellence and Technological Enterprise (CREATE) may use NAG software on A*CRC supercomputers.

About the course:

Monday 16th April - 09.00 - 12.00
An Introduction to NAG’s Numerical Libraries and NAG Fortran Compiler

In this talk we introduce NAG's numerical libraries, services and the NAG Fortran Compiler.

We give an overview of the content of the libraries and show how they can be used with many languages (including Fortran, C/C++) and in many environments. We will discuss the advantages of numerical stability, choice of appropriate algorithm and the extensive NAG documentation. We also discuss the benefits of the NAG Fortran compiler.

All attendees are invited to install NAG Libraries and/or the NAG Fortran Compiler on their local machine or laptop prior to the course. The NAG software can also be found installed on IHPC supercomputers.

Monday 16th April - 13.00 - 17.00
The NAG Toolbox for MATLAB  

Here we will show how to use the NAG Toolbox for MATLAB, including some elements of MATLAB that you need to know. We will give demonstrations and show how easy it is to get help with the Toolbox fully embedded inside the MATLAB environment. We will also show some functionality and performance comparisons.

There will be time to experience the Toolbox for yourself by trying some simple exercises or looking at specific areas you are interested in. You do not need any prior knowledge of MATLAB to attend, although it would be very helpful. If you are running MATLAB on your machine we invite you to get the NAG Toolbox for MATLAB installed on your local machine or laptop prior to attending the course.

Tuesday 17th April - 09.00-12.00 and 13.00-16.00 and
Wednesday 18th - 09.00-12.00

Introduction to Fortran 95

This course will teach you the main concepts and syntax of Fortran 95, and we assume no prior knowledge of programming. We cover basics data types, mathematical operations, arrays and dynamic storage, IF statements, loops, functions, subroutines and modules, input and output and the many built in functions of Fortran.

Throughout the course we will emphasize good programming practice and each section of the course is supported by practical exercises.

Prerequisites: Attendees should be familiar with editing files in a Linux environment.

Wednesday 18th April - 13.00-17.00 and 
Thursday 19th - 09.00-12.00 and 13.00-17.00

Introduction to OpenMP

OpenMP is the standard for writing parallel codes to run in a shared memory environment. It mainly involves adding compiler directives to an existing serial code. This course will introduce the concepts and essential syntax of OpenMP.

We review the shared memory environment and discuss the OpenMP execution model. We look at how work can be shared amongst cores and how we achieve load balancing through scheduling. OpenMP Tasks are introduced, how they are embedded in the language from version 3.0 and their use in parallelizing recursive algorithms and producer/consumer schemes. The course is supported by practical exercises.

Prerequisites: Attendees should be able to program in either Fortran or C and be familiar with editing and compiling in a Linux environment.


No of Participants: 65