Programming the Manycore Knights Landing Processor @ EPCC at Cambridge
Date: 31 October - 1 November 2017
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.
Details
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.
Pre-requisites
Some understanding of at least one of the following programming Languages:
Fortran, C or C++.
Timetable
Day 1
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
Day 2
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
Course Materials
https://www.archer.ac.uk/training/course-material/2017/10/KNL_Camb/index.php
Event types:
- Workshops and courses
Activity log