BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260705T105117Z
UID:a78e75e4-6ee0-44f2-87be-17daff269edc
DTSTART:20171023T080000Z
DTEND:20171027T150000Z
DESCRIPTION:The registration to this course is now open. Please\, bring yo
 ur own laptop. All the PATC courses at BSC are free of charge.\n\nCourse C
 onvener: Xavier Martorell\n\nLOCATION: UPC Campus Nord premises.Building C
 6\, room 106 and 101\n\nLevel: \n\nIntermediate: For trainees with some t
 heoretical and practical knowledge\, some programming experience.\n\nAdvan
 ced: For trainees able to work independently and requiring guidance for so
 lving complex problems.\n\nAttendants can bring their own applications and
  work with them during the course for parallelization and analysis.\n\nPre
 requisites: Fortran\, C or C++ programming. All examples in the course wi
 ll be done in C\n\nObjectives:  The objectives of this course are to unde
 rstand the fundamental concepts supporting message-passing and shared memo
 ry programming models. The course covers the two widely used programming m
 odels: MPI for the distributed-memory environments\, and OpenMP for the sh
 ared-memory architectures. The course also presents the main tools develop
 ed at BSC to get information and analyze the execution of parallel applica
 tions\, Paraver and Extrae. It also presents the Parallware Assistant tool
 \, which is able to automatically parallelize a large number of program st
 ructures\, and provide hints to the programmer with respect to how to chan
 ge the code to improve parallelization. It deals with debugging alternativ
 es\, including the use of GDB and Totalview. The use of OpenMP in conjunct
 ion with MPI to better exploit the shared-memory capabilities of current c
 ompute nodes in clustered architectures is also considered. Paraver will b
 e used along the course as the tool to understand the behavior and perform
 ance of parallelized codes. The course is taught using formal lectures and
  practical/programming sessions to reinforce the key concepts and set up t
 he compilation/execution environment..\n\nAttendants can bring their own a
 pplications and work with them during the course for parallelization and a
 nalysis.\n\nLearning Outcomes:\n\nThe students who finish this course will
  be able to develop benchmarks and applications with the MPI\, OpenMP and 
 mixed MPI/OpenMP programming models\, as well as analyze their execution a
 nd tune their behaviour in parallel architectures.\n\nAgenda:\n\n \n\nDay
  1 (Monday)\n\nSession 1 / 10:00 am – 1:00 pm (2 h lectures\, 1 h practi
 cal)\n\n1. Introduction to parallel architectures\, algorithms design and 
 performance parameters\n\n2. Introduction to the MPI programming model\n\n
 3. Practical: How to compile and run MPI applications\n\nSession 2 / 2:00p
 m – 5:00 pm (2h lectures\, 1h practical)\n\n1. MPI: Point-to-point commu
 nication\, collective communication\n\n2. Practical: Simple matrix computa
 tions\n\n3. MPI: Blocking and non-blocking communications\n\n \n\nDay 2 (
 Tuesday)\n\nSession 1 / 10:00 am - 1:00 pm (1.5 h lectures\, 1.5 h practic
 al)\n\n1. MPI: Collectives\, Communicators\, Topologies\n\n2. Practical: H
 eat equation example\n\nSession 2 / 2:00 pm - 5:00 pm (1.5 h lectures\, 1.
 5 h practical)\n\n1. Introduction to Paraver: tool to analyze and understa
 nd performance\n\n2. Practical: Trace generation and trace analysis\n\n \
 n\nDay 3 (Wednesday)\n\nSession 1 / 10:00 am - 1:00 pm (1 h lecture\, 2h p
 ractical)\n\n1. Parallel debugging in MareNostrumIII\, options from print 
 to Totalview\n\n2. Practical: GDB and IDB\n\n3. Practical: Totalview\n\n4.
  Practical: Valgrind for memory leaks\n\nSession 2 / 2:00 pm - 5:00 pm (2 
 h lectures\, 1 h practical)\n\n1. Shared-memory programming models\, OpenM
 P fundamentals\n\n2. Parallel regions and work sharing constructs\n\n3. Sy
 nchronization mechanisms in OpenMP\n\n4. Practical: heat diffusion in Open
 MP\n\n \n\nDay 4 (Thursday)\n\nSession 1 / 10:00am – 1:00 pm (2 h pract
 ical\, 1 h lectures)\n\n1. Tasking in OpenMP 3.0/4.0/4.5\n\n2. Programming
  using a hybrid MPI/OpenMP approach\n\n3. Practical: multisort in OpenMP a
 nd hybrid MPI/OpenMP\n\nSession 2 / 2:00pm – 5:00 pm (1.5 h lectures\, 1
 .5 h practical)\n\n1. Parallware: guided parallelization\n\n2. Practical s
 ession with Parallware examples\n\n \n\nDay 5 (Friday)\n\nSession 1 / 10:
 00 am – 1:00 pm (2 hour lectures\, 1 h practical)\n\n1. Introduction to 
 the OmpSs programming model\n\n2. Practical: heat equation example and div
 ide-and-conquer\n\nSession 2 / 2:00pm – 5:00 pm (1 h lectures\, 2 h prac
 tical)\n\n1. Programming using a hybrid MPI/OmpSs approach\n\n2. Practical
 : heat equation example and divide-and-conquer\n\n \n\nEND of COURSE\n\n
  \n\nhttps://events.prace-ri.eu/event/640/
SUMMARY:Parallel Programming Workshop @ BSC
URL;VALUE=URI:https://events.prace-ri.eu/event/640/
END:VEVENT
END:VCALENDAR
