ARCHER has a small Cray XC40 cluster containing Intel's Knights Landing (KNL) processors. This system is intended to allow the UK computational simulation community to test their codes on the KNL processors, optimise codes for this new hardware, and evaluate the suitability of KNL for their applications. In this course we will introduce the KNL system associated with ARCHER, descibe how it can be used, and present the technical details of the KNL processor.
Knights Landing is Intel's latest Xeon Phi many-core processor. It offers large amounts of floating point performance (the theoretical peak is 3TFlop/s using double precision data) in a single processor for applications that can use it efficiently. The KNL hardware is significantly different to the previous generation of Xeon Phi, and contains specialised hardware that may beneficial for scientific applications.
In this course we will describe the KNL hardware, explain how to use the various new features it presents, and explain how to access and use KNL processors through the ARCHER service.
There will be a number of hands-on practical sessions, and all attendees will be given KNL access for the duration of the course.
This course is free to all academics.
Intended learning outcomes
On completion of this course students should be able to:
- Understand the Knights Landing (KNL) processor.
- Understand how to access and run jobs on the ARCHER KNL cluster.
- Understand the impact of vectorisation on performance on KNL.
- Understand how to check if an application is vectorising and modify applications to improve vectorisation
- Use the different memory available in the nodes.
Some understanding of at least one of the following programming Languages:
- Fortran, C or C++.
- 09:30 - 09:45 : Course introduction
- 09:45 - 10:45 : Introduction to the KNL hardware and the ARCHER KNL system
- 10:45 - 11:15 : Break
- 11:15 - 12:00 : Practical: Running on the ARCHER KNLs
- 12:00 - 12:30 : Memory modes programming
- 12:30 - 14:00 : Lunch
- 14:00 - 15:00 : Practical: Investigating Memory on the KNL
- 15:00 - 15:30 : Cluster modes
- 15:30 - 16:00 : Break
- 16:00 - 17:00 : Vectorisation
- 09.30 - 09:45 : Vectorisation recap
- 09.45 - 11:00 : Practical: Vectorisation
- 11.00 - 11:30 : Break
- 11:30 - 12:30 : Serial Optimisation
- 12.30 - 14:00 : Lunch
- 14.00 - 15:30 : Practical: Serial optimisation
- 15.30 - 16:00 : Break
- 16.00 - 17:00 : Practical: Continue practicals or bring your own code