BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260809T062415Z
UID:f33b0089-1b69-4bd9-8710-5b58b8d70b96
DTSTART:20180726T080000Z
DTEND:20180730T150000Z
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\nObjectives: The objectives of this course ar
 e to understand the fundamental concepts supporting message-passing and sh
 ared memory programming models. The course covers the two widely used prog
 ramming models: MPI for the distributed-memory environments\, and OpenMP f
 or the shared-memory architectures. It also presents the main tools develo
 ped at BSC to get information and analyze the execution of parallel applic
 ations\, Paraver and Extrae. Moreover it sets the basic foundations relate
 d with task decomposition and parallelization inhibitors\, using a tool to
  analyze potential parallelism and dependences\, Tareador.\n\nAdditionally
 \, it presents the Parallware compiler\, which is able to automatically pa
 rallelize a large number of program structures\, and provide hints to the 
 programmer with respect to how to change the code to improve parallelizati
 on. It deals with debugging alternatives\, including the use of GDB and To
 talview. The use of OpenMP in conjunction with MPI to better exploit the s
 hared-memory capabilities of current compute nodes in clustered architectu
 res is also considered. Paraver will be used along the course as the tool 
 to understand the behavior and performance of parallelized codes.\n\nThe c
 ourse is taught using formal lectures and practical/programming sessions t
 o reinforce the key concepts and set up the compilation/execution environm
 ent.\n\nAttendants can bring their own applications and work with them dur
 ing the course for parallelization and analysis.\n\nLearning Outcomes: On
  completion of this course students should be able to:\n\nDevelop benchmar
 ks and applications with the MPI\, OpenMP/OmpSs and mixed MPI/OpenMP/OmpSs
  programming models. \n	Analyze the execition of MPI/OpenMP/OmpSs applica
 tions\, tune their behaviour\, and debug them in parallel architectures.\n
 	Gain experience with the Tareador and Parallware tools\, to obtain hints 
 for a better parallelization of applications.\nLevel: For trainees with s
 ome theoretical and practical knowledge\, some programming experience.Prer
 equisites: Fortran\, C or C++ programming. All examples in the course wil
 l be done in C.\n\nAgenda:\n\nDay 1Session 1 / 10:00 am – 1:00 pm (2h l
 ectures\, 1h practical)\n1. Introduction to parallel architectures\, algor
 ithms design and performance parameters\n2. Introduction to the MPI progra
 mming model\n3. Practical: How to compile and run MPI applications\n\nSess
 ion 2 / 2:00pm – 5:00 pm  (1h30' lectures\, 1h30' practical)\n1. Intro
 duction to Paraver: tool to analyze and understand performance\n2. Practic
 al: Trace generation and trace analysis\n---------------------------------
 -----------------------------------------------------------------------Day
  2Session 1 / 10:00 am - 1:00 pm (2h lectures\, 1h practical)\n1. MPI: Po
 int-to-point communication\, collective communication\n2. Practical: Simpl
 e matrix computations\n3. MPI: Blocking and non-blocking communications\n\
 nSession 2 / 2:00 pm - 5:00 pm (1h30' lectures\, 1h30' practical)\n1. MPI
 : Collectives\, Communicators\, Topologies\n2. Practical: Heat equation ex
 ample\n-------------------------------------------------------------------
 ------------------------------------- Day 3Session 1 / 10:00 am - 1:00 pm
  (1h lecture\, 2h practical)\n1. Parallel debugging in MareNostrumIII\, o
 ptions from print to Totalview\n2. Practical: GDB and IDB\n3. Practical: T
 otalview\n4. Practical: Valgrind for memory leaks\n\nSession 2 / 2:00 pm -
  5:00 pm (2h lectures\, 1h practical)\n1. Shared-memory programming model
 s\, OpenMP fundamentals\n2. Parallel regions and work sharing constructs\n
 3. Synchronization mechanisms in OpenMP\n4. Practical: heat diffusion in O
 penMP\n -----------------------------------------------------------------
 ---------------------------------------Day 4Session 1 / 10:00am – 1:00 p
 m (2h practical\, 1h lectures)\n1. Tasking in OpenMP 3.0/4.0\n2. Programm
 ing using a hybrid MPI/OpenMP approach\n3. Practical: multisort in OpenMP 
 and hybrid MPI/OpenMP\n\nSession 2 / 2:00pm – 5:00 pm (1h30' lectures\,
  1h30' practical)\n1. Tareador: understanding and predicting the potential
  of task decomposition strategies\n2. Parallware: guided parallelization\n
  ------------------------------------------------------------------------
 --------------------------------Day 5Session 1 / 10:00 am – 1:00 pm (2h
  lectures\, 1h practical)\n1. Introduction to the OmpSs programming model\
 n2. Practical: heat equation example and divide-and-conquer\n\nSession 2 /
  2:00pm – 5:00 pm (1h lectures\, 2h practical)\n1. Programming using a 
 hybrid MPI/OmpSs approach\n2. Practical: heat equation example and divide-
 and-conquerEND of COURSE\n\nhttps://events.prace-ri.eu/event/755/
SUMMARY:Parallel Programming Workshop @ BSC
URL;VALUE=URI:https://events.prace-ri.eu/event/755/
END:VEVENT
END:VCALENDAR
