BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260706T125504Z
UID:83aae8d0-d6a4-4692-aa07-c6c85992c746
DTSTART:20201013T120000Z
DTEND:20201022T153000Z
DESCRIPTION:The registration to this course is closed. Please\, bring your
  own laptop. All the PATC courses at BSC are free of charge.\n\nCourse Con
 vener: Xavier Martorell\n\nSessions will be in October 13th-16th and 19t
 h-22nd from 2pm to 5.30pm and delivered via Zoom.\n\nLevel: Intermediate
 : For trainees with some theoretical and practical knowledge\, some progra
 mming experience.\n\nAdvanced: For trainees able to work independently and
  requiring guidance for solving complex problems.\n\nAttendants can bring 
 their own applications and work with them during the course for paralleliz
 ation and analysis.\n\n\nPrerequisites: Fortran\, C or C++ programming. A
 ll examples in the course will be done in C\n\nSoftware requirements: Zoom
  (recommended)\, SSH client (to connect HPC systems)\, X Server (enabling 
 remote visual tools).\n\nObjectives: The objectives of this course are to
  understand the fundamental concepts supporting message-passing and shared
  memory programming models. The course covers the two widely used programm
 ing models: MPI for the distributed-memory environments\, and OpenMP for t
 he shared-memory architectures. The course also presents the main tools de
 veloped at BSC to get information and analyze the execution of parallel ap
 plications\, Paraver and Extrae. It also presents the Parallware Assistant
  tool\, which is able to automatically parallelize a large number of progr
 am structures\, and provide hints to the programmer with respect to how to
  change the code to improve parallelization. It deals with debugging alter
 natives\, including the use of GDB and Totalview.\n\nThe use of OpenMP in 
 conjunction with MPI to better exploit the shared-memory capabilities of c
 urrent compute nodes in clustered architectures is also considered. Parave
 r will be used along the course as the tool to understand the behavior and
  performance of parallelized codes. The course is taught using formal lect
 ures and practical/programming sessions to reinforce the key concepts and 
 set up the compilation/execution environment.\n\nAttendants can bring thei
 r own applications and work with them during the course for parallelizatio
 n and analysis.\n\nLearning Outcomes: The 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 execut
 ion and tune their behaviour in parallel architectures.\n\nAgenda: \n\nal
 l times are 2pm to 5.30pm with two breaks of 15'\n\nTuesday 13/10/2020\n
 1. Introduction to parallel architectures\, algorithms design and performa
 nce parameters\n2. Introduction to the MPI programming model\n3. Practical
 : How to compile and run MPI applications\n\nWednesday 14/10/2020\n1. Intr
 oduction to Paraver: tool to analyze and understand performance\n2. Practi
 cal: Trace generation and trace analysis\n\nThursday 15/10/2020\n1. MPI: P
 oint-to-point communication\, collective communication\n2. Practical: Simp
 le matrix computations\n3. MPI: Blocking and non-blocking communications\n
 4. Practical: matrix computations with non-blocking communication\n\nFrida
 y 16/10/2020\n1. MPI: Collectives\, Communicators\, Topologies\n2. Practic
 al: Heat equation example\n\nMonday 19/10/2020\n1. OpenMP Fundamentals: th
 e fork-join model (lecture)\n2. OpenMP Fundamentals: the fork-join model (
 hands-on)\n3. OpenMP Fundamentals: the data environment (lecture)\n4. Open
 MP Fundamentals: the data environment (hands-on)\n\nTuesday 20/10/2020\n1.
  OpenMP Work-sharing: distributing work among threads (lecture) \n2. Open
 MP Work-sharing: distributing work among threads (hands-on) \n3. OpenMP W
 ork-sharing: loop distribution (lecture) \n4. OpenMP Work-sharing: loop d
 istribution (hands-on) \n\nWednesday 21/10/2020\n1. OpenMP Tasking model:
  basics (lecture)\n   The task construct\n   The taskwait\n2. OpenMP T
 asking model: basics (hands-on)\n3. OpenMP Tasking model: intermediate (le
 cture)\n4. OpenMP Tasking model: intermediate (hands-on)\n\nThursday 22/10
 /2020\n1. Hybrid MPI+OpenMP\n   Standard (threading level\, synchronous/
 asynchronous MPI)\n   TAMPI\n2. Practical: Heat\, nbody\n\nEnd of Cours
 e\nhttps://events.prace-ri.eu/event/1041/
SUMMARY:[ONLINE] Parallel Programming Workshop @ BSC
URL;VALUE=URI:https://events.prace-ri.eu/event/1041/
END:VEVENT
END:VCALENDAR
