Title: Training and Education
1Training and Education at EPCC Judy
Hardy j.hardy_at_epcc.ed.ac.uk
2EPCC Activities
- Founded in 1990
- Aim
- To accelerate the effective exploitation of
Novel Computing in Industry, Academia, and
Commerce - Vital statistics
- 65 staff
- 2.7M turnover (almost) all from external sources
- research councils
- government agencies
- industry
- European Commission
3Training and education
- HPC Training
- HPCx users
- European visitor programme
- UK academia
- commercial HPC users
- MSc in HPC
- one of first in world
- significant numbers of overseas students during
first 4 years - supported by industry
- excellent practical grounding for future careers
4Training - history
- JISC funding
- Provided seed capital to write some of our
courses - HPC services
- Tailor courses to machines
- Course development continued
- Application based courses written with JTAP
funding - Visitor programmes
- Small training modules
- MSc in High Performance Computing
- Regular training courses throughout the year
5Courses
- Original Courses
- Introduction to HPC
- Decomposing the Potentially Parallel
- MPI Programming
- HPF Programming
- Scientific Visualisation
- Computational Methods in Physical Science
- Introduction to Genetic Algorithms
- Performance Optimisation on Sun Workstations
- T3D/T3E Service Courses
- Introduction to the Cray T3D
- Introduction to the Cray T3E
- MPI Programming on the T3D/T3E
- HPF Programming on the T3D/T3E
- Performance Optimisation for the Cray T3D/T3E
- Application Based Courses
- Simulation for Engineers
- Mesh Generation Computer Course
- Mesh Decomposition
- Modelling in the Geophysical Sciences
- Computational Fluid Dynamics
- HPC in Business
- HPCx Courses (EPCC/CCLRC)
- Using the HPCx service
- The DL_POLY molecular dynamics package
- Optimisation techniques for the Power4
processor - Improved Performance Scaling on HPCx
- MSc Core Courses
- Fundamental Concepts of HPC
- Practical Software Development
- Shared Memory Programming
- Message Passing Programming
- Parallel Decomposition
- Core Topics in HPC and e-Science
- MSc Advanced Courses
- Exploiting the Computational Grid
- Applied Numerical Algorithms
- Hardware, Compilers and Performance
Programming - Object Oriented Programming for HPC
- Scientific Visualisation
- Advanced Topics in HPC and e-Science
6Training facilities
- Dedicated training room for 26 students
- Sun Ray terminals plus Sun Blade 2000 server
- UoE HPC service is standard HPC resource
- Sun Fire E15K server
- 52 CPUs _at_ 900 MHz
- HPCx national service
- cluster of IBM SMP nodes
- 1600 POWER4 processors _at_ 1.7GHz
7Training courses
- Annual training commitment for HPCx national
service - 30 training days
- 12 different courses
- 4 locations
- HPCx users also have reserved places on EPCC
courses - the same content as MSccourses but delivered
differently
- HPCx Courses
- Using the HPCx service
- The DL_POLY molecular dynamics package
- Optimisation techniques for the Power4
processor - Improved Performance Scaling on HPCx
8MSc in HPC - background
- MSc builds on EPCCs established training history
- Initially funded by 5-year Masters Training
Package from EPSRC - provides 6 studentships a year plus some
development/admin costs - First student intake in 2001, now in its fourth
year - longer-term support from the School of Physics
- Supported by the following companies
- Sun
- NEC
- Rolls Royce
- AWE
- UK Met Office
- and Portland Group, LAM MPI, Quadstone Ltd,
Edinburgh Petroleum Services, PALLAS
9Aims of MSc
- To teach practical skills
- not just theory
- In areas relevant to EPCCs HPC activities
- in academic research
- in industry
- Hidden aims
- to get to know potential EPCC employees
- have employed an MSc graduate every year of the
programme to date - to expand our training activities
- to do accredited teaching at a postgraduate level
- increasing activity in undergraduate teaching in
School of Physics - have taken a PhD student this year for the first
time
10Structure
Computational Science
Physical Sciences
Computer Science
Theory
Simulation
Pure
Applied
11Format
- First three years
- Courses dual use MSc/training
- MSc students, HPCx users, UK academics,visitors,
commercial attendees - Each course taught as an intensive three-day
block - From this year
- Courses dedicated to MSc students
- Taught conventionally over 10 teaching weeks
- Each course taught in half-day blocks
- Six courses in each of two semesters
- This allows sharing with different MSc programmes
- Maths Operational Research MSc
- Informatics MSc (HPC Specialism)
12Course design and delivery
- Courses designed in half-day blocks
- can be delivered in either model
- long and thin semsterised courses for MSc
students - 2 or 3 day intensive training courses
- Strong practical focus
- lectures
- supporting practicals
- tutorials/group discussions
- case studies etc
13MSc courses
- MSc Core Courses
- Fundamental Concepts of HPC
- Practical Software Development
- Shared Memory Programming
- Message Passing Programming
- Parallel Decomposition
- Core Topics in HPC and e-Science
- MSc Advanced Courses
- Exploiting the Computational Grid
- Applied Numerical Algorithms
- Hardware, Compilers and Performance
Programming - Object Oriented Programming for HPC
- Scientific Visualisation
- Advanced Topics in HPC and e-Science
14Student applications
Year 2001-02 2002-03 2003-04 2004-05 OS
18/0 30/3 40/5 48/5 EU 4/2
7/1 17/4 15/4 UK 10/4 23/4
31/5 43/4 Total 32/6 60/8
88/14 106/13
Student numbers (applications/enrolled)
15Student destinations
First Destinations Students
(2002 - 2004) further study 25 UK
employment 35 overseas employment 10
overseas student returned 5 seeking
employment/study 0 unknown 25
16Summary
- Training is one of EPCCskey activities
- HPC training
- supports HPC users throughout UK and Europe
- MSc in HPC
- practical training for range of careers in
academia and industry
17Overview
- HPC Training at EPCC
- training courses
- facilities
- MSc in High Performance Computing
- motivation
- taught courses
- student statistics
18Programming Languages
- C or Fortran
- Shared memory programming (OpenMP)
- Message passing programming (MPI)
- Fortran
- Data parallel programming (HPF)
- Java
- Object-oriented programming (threads, MPJ, JOMP,
RMI)
19Core courses
- Fundamental Concepts of HPC
- hardware, performance, programming paradigms,
decomposition techniques - Practical Software Development
- tools and techniques of software engineering
process - source code management, software design, software
projects - Shared Memory Programming
- using OpenMP (C or Fortran)
- Message Passing Programming
- using MPI (C or Fortran)
- Parallel Decomposition
- decomposition techniques plus data parallel
programming (HPF) - Core Topics in HPC and e-Science
- Guest Lecture series, languages, tools (CVS,
make, ant,)
20Advanced courses
- Exploiting the Computational Grid
- Grid and web services, GT3 (4?), OGSA-DAI
- Applied Numerical Algorithms
- numerical methods, standard algorithms/libraries
(LAPACK, FFTW) - Hardware, Compilers and Performance Programming
- H/W architecture, processors, caches, memory,
inteconnects - compiler optimisation strategies
- Object Oriented Programming for HPC
- OO analysis and design, Java (threads/MPJ/JOMP/RMI
) - Scientific Visualisation
- AVS/Express, VTK
- Advanced Topics in HPC and e-Science
- Guest Lectures, advanced topics (posix threads,
FPGAs, single-sided comms, condor, databases) - No options this year but may include options from
other programmes - eg computer networks (?) from Informatics