BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260716T012136Z
UID:59749953-db03-43bf-8a74-f533f5e53afc
DTSTART:20181106T090000Z
DTEND:20181108T173000Z
DESCRIPTION:If you were given a serial problem\, conceptually\, how would y
 ou go about splitting it up into many different parts that could run concu
 rrently on the latest parallel computers?\n\nThe good news is that you don
 't need to reinvent the wheel. Instead\, there are many different approach
 es (called parallel patterns) that have been developed by the community an
 d can be used in a variety of situations. These patterns apply equally wel
 l regardless of whether your problem is computational or data-driven.\n\nU
 nderstanding and being able to apply these patterns also helps in getting 
 to grips with existing parallel codes and optimising poorly performing com
 putation and data codes. Whilst the lectures take a top down approach\, fo
 cusing on the patterns themselves\, the practical exercises give the oppor
 tunity to explore the concepts by implementing pattern-based solutions to 
 problems using common HPC technologies.\n\nThe parallel patterns (known as
  a pattern language) that we cover are split into two categories.\n\nThe c
 losest to the problem area (and most abstract) are parallel algorithm stra
 tegy patterns and include:\n\nTask Parallelism\n	Recursive Splitting\n	Geo
 metric Decomposition\n	Pipeline\n	Discrete Event\n	Actors\nThe other categ
 ory of patterns is closer to the implementation and drives how the program
 mer should structure their code and data. These are implementation strateg
 y patterns\, and include:\n\nMaster/Worker\n	Loop Parallelism\n	Fork/Join\
 n	Shared Data and Queues\n	Active Messaging\nPatterns are described on an 
 abstract level and we will also discuss enhancements that can be made to i
 mprove performance/scalability but at the cost of code complexity. Practic
 al implementations of these patterns are explored in depth in the hands-on
  exercises.\n\nProgramming exercises use C and Fortran\, with MPI and Open
 MP.\n\nTrainer\n\nNick Brown\nNick is involved with the MSc in High Perfor
 mance Computing\, is the course organiser for the Parallel Design Patterns
  module and also supervises student dissertation projects.\n\nCourse Pre-r
 equisites\n\nAbility to program in C\, C++ or Fortran.\n	Familiarity with 
 using MPI\n	Some familiarity with OpenMP is beneficial but not essential\n
 Pre-course setup\n\nAll course delegates will need to bring a wireless ena
 bled laptop computer with them on the course. If you have an EduRoam accou
 nt please ensure this is set up beforehand.\n\nPractical exercises will be
  done using a guest account on ARCHER. You will need to set up your laptop
  before the course with the required software. Setup information is availa
 ble at http://www.archer.ac.uk/training/courses/software.php for Windows\,
  Mac and Linux.\n\nLearning outcomes\n\nOn completion of this course stude
 nts should be able to:\n\nRecognise different strategies for structuring t
 he parallelism of a specific problem in hand\n	Understand the trade-offs b
 etween different approaches to\, and specialisations of\, parallelisation\
 n	Identify the most appropriate ways to structure code and data with respe
 ct to the parallel strategy adopted\nCourse Materials\n\nCourse materials 
 page http://www.archer.ac.uk/training/course-material/2018/11/parallel-pat
 terns-oxford/\n\nCourse Chat\n\nhttps://paper.dropbox.com/doc/Parallel-Des
 ign-Patterns--AQgdLWtTX3_4FR2f~mVmN9UZAg-NeYWacO313M3iWpSFS8Mh\n\n \n\nht
 tps://events.prace-ri.eu/event/776/
SUMMARY:Parallel Design Patterns @ EPCC at University of Oxford
URL;VALUE=URI:https://events.prace-ri.eu/event/776/
END:VEVENT
END:VCALENDAR
