ARCHER logo ARCHER banner

The ARCHER Service is now closed and has been superseded by ARCHER2.

  • ARCHER homepage
  • About ARCHER
    • About ARCHER
    • News & Events
    • Calendar
    • Blog Articles
    • Hardware
    • Software
    • Service Policies
    • Service Reports
    • Partners
    • People
    • Media Gallery
  • Get Access
    • Getting Access
    • TA Form and Notes
    • kAU Calculator
    • Cost of Access
  • User Support
    • User Support
    • Helpdesk
    • Frequently Asked Questions
    • ARCHER App
  • Documentation
    • User Guides & Documentation
    • Essential Skills
    • Quick Start Guide
    • ARCHER User Guide
    • ARCHER Best Practice Guide
    • Scientific Software Packages
    • UK Research Data Facility Guide
    • Knights Landing Guide
    • Data Management Guide
    • SAFE User Guide
    • ARCHER Troubleshooting Guide
    • ARCHER White Papers
    • Screencast Videos
  • Service Status
    • Detailed Service Status
    • Maintenance
  • Training
    • Upcoming Courses
    • Online Training
    • Driving Test
    • Course Registration
    • Course Descriptions
    • Virtual Tutorials and Webinars
    • Locations
    • Training personnel
    • Past Course Materials Repository
    • Feedback
  • Community
    • ARCHER Community
    • ARCHER Benchmarks
    • ARCHER KNL Performance Reports
    • Cray CoE for ARCHER
    • Embedded CSE
    • ARCHER Champions
    • ARCHER Scientific Consortia
    • HPC Scientific Advisory Committee
    • ARCHER for Early Career Researchers
  • Industry
    • Information for Industry
  • Outreach
    • Outreach (on EPCC Website)

You are here:

  • ARCHER
  • Upcoming Courses
  • Online Training
  • Driving Test
  • Course Registration
  • Course Descriptions
  • Virtual Tutorials and Webinars
  • Locations
  • Training personnel
  • Past Course Materials Repository
  • Feedback

Contact Us

support@archer.ac.uk

Twitter Feed

Tweets by @ARCHER_HPC

ISO 9001 Certified

ISO 27001 Certified

Multicore Programming

This course is a precursor to the "Programming the Xeon Phi" course being run in collaboration with DiRAC. It will contain material selected from the "Hands-on Introduction to HPC" and "Shared-Memory Programming with OpenMP" courses designed to give attendees a general introduction to the fundamental concepts of programming multicore processors before going on to the specifics of programming the Xeon Phi.

You are welcome to register for this course on its own, or stay on and attend the subsequent Xeon Phi course.

Details

Almost all modern computers now have a shared-memory architecture with multiple CPUs connected to the same physical memory, for example multicore laptops or large multi-processor compute servers. This course covers OpenMP, the industry standard for shared-memory programming, which enables serial programs to be parallelised easily using compiler directives. Users of desktop machines can use OpenMP on its own to improve program performance by running on multiple cores; users of parallel supercomputers can use OpenMP in conjunction with MPI to better exploit the shared-memory capabilities of the compute nodes.

The first 1.5 days of the course will cover an introduction to the fundamental concepts of the shared variables model, followed by the syntax and semantics of OpenMP and how it can be used to parallelise real programs. Hands-on practical programming exercises make up a significant, and integral, part of this course.

The afternoon of the second day will cover important performance considerations such as the effects of caches and Non-Uniform Memory Access (NUMA) architectures. Using caches effectively is vitally important when scaling up to many threads on architectures such as the Xeon Phi.

This course is free to all academics.

Pre-requisite Programming Languages:

No prior HPC or parallel programming knowledge is assumed, but attendees must already be able to program in C, C++ or Fortran. It is not possible to do the exercises in Python or Java.

Timetable

Day 1

  • 09:30 Introduction
  • 09:45 Shared Memory Concepts
  • 10:30 Practical: Parallel Traffic Modelling
  • 11:00 COFFEE
  • 11:30 Introduction to OpenMP
  • 12:15 Exercise: Basic OpenMP Program
  • 13:00 LUNCH
  • 14:00 Parallel Regions
  • 14:45 Exercise: Mandelbrot Set
  • 15:30 TEA
  • 16:00 Worksharing Directives
  • 16:45 Exercise: Using Parallel Do/For
  • 17:30 CLOSE

Day 2

  • 09:30 Synchronisation
  • 10:15 Exercise: Molecular Dynamics
  • 11:00 COFFEE
  • 11:30 Further Topics
  • 12:15 Exercise: Molecular Dynamics (continued)
  • 13:00 LUNCH
  • 14:00 Caches and Performance
  • 14:45 Exercise: Traffic Modelling
  • 15:30 TEA
  • 16:00 NUMA and Performance
  • 16:45 Exercise: Traffic Modelling (continued)
  • 17:30 CLOSE

Course Materials

Slides and exercise material for this course are available here.

Location

The course will be held in EPCC, Edinburgh.

Registration

Please use the registration page to register for ARCHER courses.

Questions?

If you have any questions please contact the ARCHER Helpdesk.

Copyright © Design and Content 2013-2019 EPCC. All rights reserved.

EPSRC NERC EPCC