BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260706T215040Z
UID:9e24c773-8f9d-47d3-b750-246f69b425ec
DTSTART:20181015T080000Z
DTEND:20181019T150000Z
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.Vertex Bui
 lding\, Room VS208\n\nLevel: \n\nIntermediate: For trainees with some the
 oretical and practical knowledge\, some programming experience.\n\nAdvance
 d: For trainees able to work independently and requiring guidance for solv
 ing complex problems.\n\nAttendants can bring their own applications and w
 ork with them during the course for parallelization and analysis.\n\nPrere
 quisites: Fortran\, C or C++ programming. All examples in the course will
  be done in C\n\nObjectives: \n\nThe objectives of this course are to und
 erstand the fundamental concepts supporting message-passing and shared mem
 ory programming models. The course covers the two widely used programming 
 models: MPI for the distributed-memory environments\, and OpenMP for the s
 hared-memory architectures. The course also presents the main tools develo
 ped at BSC to get information and analyze the execution of parallel applic
 ations\, Paraver and Extrae. It also presents the Parallware Assistant too
 l\, which is able to automatically parallelize a large number of program s
 tructures\, and provide hints to the programmer with respect to how to cha
 nge the code to improve parallelization. It deals with debugging alternati
 ves\, including the use of GDB and Totalview.\n\nThe use of OpenMP in conj
 unction with MPI to better exploit the shared-memory capabilities of curre
 nt compute nodes in clustered architectures is also considered. Paraver wi
 ll be used along the course as the tool to understand the behavior and per
 formance of parallelized codes. The course is taught using formal lectures
  and practical/programming sessions to reinforce the key concepts and set 
 up the compilation/execution environment.\n\nAttendants can bring their ow
 n applications and work with them during the course for parallelization an
 d analysis.\n\nLearning Outcomes:\n\nThe students who finish this course w
 ill be able to develop benchmarks and applications with the MPI\, OpenMP a
 nd mixed MPI/OpenMP programming models\, as well as analyze their executio
 n and tune their behaviour in parallel architectures.\n\nAgenda:\n\nDay 1 
 (Monday)\n\nSession 1 / 9:30 am – 1:00 pm (2 h lectures\, 1 h practical)
 \n\n1. Introduction to parallel architectures\, algorithms design and perf
 ormance parameters\n\n2. Introduction to the MPI programming model\n\n3. P
 ractical: How to compile and run MPI applications\n\n \n\nSession 2 / 2:0
 0pm – 5:30 pm (2h lectures\, 1h practical)\n\n1. MPI: Point-to-point com
 munication\, collective communication\n\n2. Practical: Simple matrix compu
 tations\n\n3. MPI: Blocking and non-blocking communications\n\n \n\n Day
  2 (Tuesday)\n\nSession 1 / 9:30 am - 1:00 pm (1.5 h lectures\, 1.5 h prac
 tical)\n\n1. MPI: Collectives\, Communicators\, Topologies\n\n2. Practical
 : Heat equation example\n\n \n\nSession 2 / 2:00 pm - 5:30 pm (1.5 h lect
 ures\, 1.5 h practical)\n\n1. Introduction to Paraver: tool to analyze and
  understand performance\n\n2. Practical: Trace generation and trace analys
 is\n\n \n\nDay 3 (Wednesday)\n\nSession 1 / 9:30 am - 1:00 pm (1 h lectur
 e\, 2h practical)\n\n1. Parallel debugging in MareNostrumIII\, options fro
 m print to Totalview\n\n2. Practical: GDB and IDB\n\n3. Practical: Totalvi
 ew\n\n4. Practical: Valgrind for memory leaks\n\n \n\nSession 2 / 2:00 pm
  - 5:30 pm (2 h lectures\, 1 h practical)\n\n1. Shared-memory programming 
 models\, OpenMP fundamentals\n\n2. Parallel regions and work sharing const
 ructs\n\n3. Synchronization mechanisms in OpenMP\n\n4. Practical: heat dif
 fusion in OpenMP\n\n \n\nDay 4 (Thursday)\n\nSession 1 / 9:30am – 1:00 
 pm  (2 h practical\, 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: multis
 ort in OpenMP and hybrid MPI/OpenMP\n\n \n\nSession 2 / 2:00pm – 5:30 p
 m (1.5 h lectures\, 1.5 h practical)\n\n1. Parallware: guided parallelizat
 ion\n\n2. Practical session with Parallware examples\n\n \n\nDay 5 (Frida
 y)\n\nSession 1 / 9:30 am – 1:00 pm (2 hour lectures\, 1 h practical)\n\
 n1. Introduction to the OmpSs programming model\n\n2. Practical: heat equa
 tion example and divide-and-conquer\n\n \n\nSession 2 / 2:00pm – 5:30 p
 m (1 h lectures\, 2 h practical)\n\n1. Programming using a hybrid MPI/OmpS
 s approach\n\n2. Practical: heat equation example and divide-and-conquer\n
 \n \n\nEND of COURSE\n\nhttps://events.prace-ri.eu/event/756/
SUMMARY:Parallel Programming Workshop @ BSC
URL;VALUE=URI:https://events.prace-ri.eu/event/756/
END:VEVENT
END:VCALENDAR
