Training course information
- Bring your own Code
- Introduction to Advanced Research Computing
- Introduction to Condor
- Introduction to Profiling
- Introduction to Merlin
- Introduction to Parallel Programming
- Linux Command Line
- Optimising Serial Codes
- Optimising Parallel Codes
- Programming in Fortran
- Windows Command Line
Bring your own Code
This two-day advanced-level course run by Intel gives you the opportunity to work closely with an Intel developer to optimise your application code so that it runs as fast as possible on the Merlin system. Places are strictly limited and the developer will need to see your code and communicate directly with you in the four weeks leading up to the workshop in order to understand it fully. To participate in this workshop your code must be written in C, C++, or Fortran.
Prerequisites:
- An account on Merlin is required
- Knowledge of the Linux Command Line is required
- Knowledge of the Merlin Job Scheduler is required
- Knowledge of the C or Fortran Programming Languages is required
- Experience of ITAC would be advantageous
- Experience of VTUNE would be advantageous
Location:
3rd Floor, Julian Hodge Building, Cathays Campus.
Contact information for booking your place:
Email: insrvEducation@cardiff.ac.uk
Tel: 029 2087 4698
Introduction to Advanced Research Computing
This half-day beginner-level course introduces you to the fundamentals of Advanced Research Computing which we define to be the use of computing resources beyond the capability of a typical desktop computer. You will learn about the services that we provide and some of the research being performed on both the Condor and Merlin systems.
Prerequisites:
- None
Location:
11th Floor, McKenzie House, 30-36 Newport Road.
Contact information for booking your place:
Email: staffdevelopment@cardiff.ac.uk
Tel: 029 20874453
Introduction to Condor
This half-day beginner-level course gives you an overview of the Condor system and shows you how to run a range of serial application codes. The specific details of the queuing system are discussed including the key commands to submit and manage jobs via the scheduler. A number of example job scripts are presented which can be adapted for your own applications, and a list of software installed on Condor that you can use will be given. Towards the end of the session we will use Condor to analyse the structure of a number of soluble protein molecules using Dammin, and visualize the results using PyMol. Participants are encouraged to ask questions throughout.
Prerequisites:
- An account on the University Network is required
- Knowledge of the Windows Command Line is required
Location:
3rd Floor, Julian Hodge Building, Cathays Campus.
Contact information for booking your place:
Email: insrvEducation@cardiff.ac.uk
Tel: 029 2087 4698
Introduction to Profiling
This one-day intensive advanced-level course run by Bull introduces you to a range of tools on Merlin that you can use to profile your application in order to discover which functions take the longest amount of time to run and which functions were called while your application was running. Knowing the profile of an application allows you to make informed decisions on how best to improve the performance of that application.
The first tool introduced is gprof which is an instrumenting profiler which means the code must be specially compiled in order to gather performance information. The second tool is PAPI which requires the programmer to instrument the code with specific monitoring functions so that you can drill-down and locate performance bottlenecks highlighted by the higher-level gprof tool. Both gprof and PAPI are open source tools and can therefore be installed on any cluster. The third tool presented is VTUNE which is a sampling profiler and does not require that the code be specially compiled, and the fourth tool is ITAC which is designed for profiling parallel applications. Both VTUNE and ITAC are commercial tools from Intel.
From the PAPI website "The Performance API (PAPI) project specifies a standard application programming interface (API) for accessing hardware performance counters available on most modern microprocessors. These counters exist as a small set of registers that count Events, occurrences of specific signals related to the processor's function. Monitoring these events facilitates correlation between the structure of source/object code and the efficiency of the mapping of that code to the underlying architecture. This correlation has a variety of uses in performance analysis including hand tuning, compiler optimization, debugging, benchmarking, monitoring and performance modeling. In addition, it is hoped that this information will prove useful in the development of new compilation technology as well as in steering architectural development towards alleviating commonly occurring bottlenecks in high performance computing".
From Intel's website "Intel VTune Performance Analyzer evaluates applications on all sizes of systems based on Intel processors, from embedded systems through to supercomputers, to help you improve application performance. VTune Performance Analyzer makes application performance tuning easier and is indispensable for making your software run its fastest on the latest single and multicore systems".
From Intel's website "Intel Trace Analyzer and Collector is a powerful tool for understanding MPI application behaviour, quickly finding bottlenecks, and achieving high performance for parallel cluster applications. It supports Intel architecture-based cluster systems, features a high degree of compatibility with current standards, and now includes trace file comparison, counter data displays, and an MPI correctness checking library. Analyze MPI performance, speed up parallel application runs, locate hotspots and bottlenecks, and compare trace files with graphics providing extensively detailed analysis and aligned timelines — all with Intel Trace Analyzer and Collector".
Prerequisites
- An account on Merlin is required
- Knowledge of the Linux Command Line is required
- Knowledge of the Merlin Job Scheduler is required
- Knowledge of the C or Fortran Programming Languages is required
Location:
3rd Floor, Julian Hodge Building, Cathays Campus.
Contact information for booking your place:
Email: insrvEducation@cardiff.ac.uk
Tel: 029 2087 4698
Introduction to Merlin
This half-day beginner-level course gives you an overview of the Merlin system and shows you how to compile and run a range of serial and parallel application codes. The specific details of the queuing system are discussed including the various queues and their limits, as well as the key commands to submit and manage jobs via the scheduler. A number of example job scripts are presented which can be adapted for your own applications, and a précis of the list of software installed on Merlin that you can use will be given. Participants are encouraged to ask questions throughout.
Prerequisites:
- An account on Merlin is required
- Knowledge of the Linux Command Line is required
Location:
3rd Floor, Julian Hodge Building, Cathays Campus.
Contact information for booking your place:
Email: insrvEducation@cardiff.ac.uk
Tel: 029 2087 4698
Introduction to Parallel Programming
This two-day course run by Intel teaches you how to turn your serial application into a parallel one. Day one begins by explaining the differences between distributed and shared memory systems and goes on to introduce Foster's design methodology as a way of building parallel programs. We then focus on distributed memory systems and teach you how to use MPI to parallelise a number of example applications. Day two begins with an introduction to tuning MPI applications. The focus then shifts to shared memory systems as we teach you how to use OpenMP to parallelise some example applications. The day ends with an example of using both MPI and OpenMP together in a single application.
Prerequisites
- An account on Merlin is required
- Knowledge of the Linux Command Line is required
- Knowledge of the Merlin Job Scheduler is required
- Knowledge of the C or Fortran Programming Languages is required
Location:
3rd Floor, Julian Hodge Building, Cathays Campus.
Contact information for booking your place:
Email: insrvEducation@cardiff.ac.uk
Tel: 029 2087 4698
Linux Command Line
This two-hour beginner-level course teaches you how to interact with a Linux system using the command line interface. The instructor will give an overview of the following commands: cat, cd, clear, cp, date, diff, emacs, exit, fgrep, head, ls, man, mkdir, more, mv, rm, rmdir, sort, tail, tree, uniq, and vi. Participants are encouraged to ask questions throughout.
Prerequisites
- None
Location:
Room 0.51, Redwood Building, Cathays Campus.
Contact information for booking your place:
Email: arcca@cardiff.ac.uk
Tel: 029 2087 5581
Optimising Serial Codes using VTune
This one-day advanced-level course run by Intel introduces you to the VTune profiler which you can use to profile and subsequently optimise your serial application. From Intel's website "Intel VTune Performance Analyzer evaluates applications on all sizes of systems based on Intel processors, from embedded systems through to supercomputers, to help you improve application performance. VTune Performance Analyzer makes application performance tuning easier and is indispensable for making your software run its fastest on the latest single and multicore systems".
Prerequisites:
- An account on Merlin is required
- Knowledge of the Linux Command Line is required
- Knowledge of the Merlin Job Scheduler is required
- Knowledge of the C or Fortran Programming Languages is required
Location:
3rd Floor, Julian Hodge Building, Cathays Campus.
Contact information for booking your place:
Email: insrvEducation@cardiff.ac.uk
Tel: 029 2087 4698
Optimising Parallel Codes using ITAC
This one-day advanced-level course run by Intel introduces you to the ITAC profiler which you can use to profile and subsequently optimise your parallel application. From Intel's website "Intel Trace Analyzer and Collector is a powerful tool for understanding MPI application behaviour, quickly finding bottlenecks, and achieving high performance for parallel cluster applications. It supports Intel architecture-based cluster systems, features a high degree of compatibility with current standards, and now includes trace file comparison, counter data displays, and an MPI correctness checking library. Analyze MPI performance, speed up parallel application runs, locate hotspots and bottlenecks, and compare trace files with graphics providing extensively detailed analysis and aligned timelines — all with Intel Trace Analyzer and Collector".
Prerequisites:
- An account on Merlin is required
- Knowledge of the Linux Command Line is required
- Knowledge of the Merlin Job Scheduler is required
- Knowledge of the C or Fortran Programming Languages is required
Location:
3rd Floor, Julian Hodge Building, Cathays Campus.
Contact information for booking your place:
Email: insrvEducation@cardiff.ac.uk
Tel: 029 2087 4698
Programming in Fortran
This two-day intermediate-level course teaches you how to write serial applications using the Fortran programming language. Day one begins by explaining how computer systems work and how basic data types such as numbers and characters are manipulated. We then cover basic calculation and comparison operations, branching (if-then-else and case), looping (the 3 types of do loop), derived data types, and arrays using a number of example applications. Day two begins with an overview of format descriptors, then moves on to more complex example applications that make use of functions, subroutines, and modules (ways to improve the structure of the code). We then discuss reading and writing data to and from files using weather data freely available from the MET office, and introduce some of the built-in helper functions (intrinsics).
Prerequisites:
- An account on the University Network is required
- Knowledge of the Windows Command Line would be advantageous
- Knowledge of any programming language would be advantageous
Location:
3rd Floor, Julian Hodge Building, Cathays Campus.
Contact information for booking your place:
Email: insrvEducation@cardiff.ac.uk
Tel: 029 2087 4698
Training materials (only available from on-campus):
Programming in Fortran Frontmatter (PowerPoint)
Programming in Fortran Day 1 (PowerPoint)
Programming in Fortran Day 2 (PowerPoint)
Windows Command Line
This two-hour beginner-level course teaches you how to interact with a Windows system using the command line interface. The instructor will give an overview of the following commands: cd, cls, copy, date, del, dir, edit, exit, fc, find, help, mkdir, more, move, ren, rmdir, sort, time, tree, type, and xcopy. Participants are encouraged to ask questions throughout.
Prerequisites:
- None
Location:
Room 0.51, Redwood Building, Cathays Campus.
Contact information for booking your place:
Email: arcca@cardiff.ac.uk
Tel: 029 2087 5581
