BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260703T195706Z
UID:d1f9ab17-99d3-4abf-8c0a-427a832ca7c2
DTSTART:20211018T073000Z
DTEND:20211022T153000Z
DESCRIPTION:The registration to this course will open soon. \n\nPlease\, br
 ing your own laptop. All the PATC courses at BSC are free of charge.\n\nCo
 urse Convener: Xavier Martorell\n\nCourse Lecturers:\n\n\nJudit Giménez -
  Performance Tools - Group Manager\nGerman Llort - Performance Tools - Sen
 ior Researcher\nMarc Jordà - Accelerators and Communications for High Per
 formance Computing - Research Engineer\nAntonio Peña - Accelerators and C
 ommunications for High Performance Computing - Senior Researcher\nJavier T
 eruel -  Best Practices for Performance and Programmability  - Group Coo
 rdinator\nXavier Martorell - Programming Models - Parallel programming mod
 el - Group Manager\n\n\nLevel: Intermediate: For trainees with some theor
 etical and practical knowledge\, some programming experience.\n\nAdvanced:
  For trainees able to work independently and requiring guidance for solvin
 g complex problems.\n\nAttendants can bring their own applications and wor
 k with them during the course for parallelization and analysis.\n\n\nPrere
 quisites: Fortran\, C or C++ programming. All examples in the course will
  be done in C\n\nSoftware requirements: Zoom (recommended)\, SSH client (t
 o connect HPC systems)\, X Server (enabling remote visual tools).\n\nObjec
 tives: The objectives of this course are to understand the fundamental co
 ncepts supporting message-passing and shared memory programming models. Th
 e course covers the two widely used programming models: MPI for the distri
 buted-memory environments\, and OpenMP for the shared-memory architectures
 . The course also presents the main tools developed at BSC to get informat
 ion and analyze the execution of parallel applications\, Paraver and Extra
 e. It also presents the Parallware Assistant tool\, which is able to autom
 atically parallelize a large number of program structures\, and provide hi
 nts to the programmer with respect to how to change the code to improve pa
 rallelization. It deals with debugging alternatives\, including the use of
  GDB and Totalview.\n\nThe use of OpenMP in conjunction with MPI to better
  exploit the shared-memory capabilities of current compute nodes in cluste
 red architectures is also considered. Paraver will be used along the cours
 e as the tool to understand the behavior and performance of parallelized c
 odes. The course is taught using formal lectures and practical/programming
  sessions to reinforce the key concepts and set up the compilation/executi
 on environment.\n\nAttendants can bring their own applications and work wi
 th them during the course for parallelization and analysis.\n\nLearning Ou
 tcomes: The students who finish this course will be able to develop bench
 marks and applications with the MPI\, OpenMP and mixed MPI/OpenMP programm
 ing models\, as well as analyze their execution and tune their behaviour i
 n parallel architectures.\n\nAgenda: \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSess
 ions will be in October 18th-22nd 2021 from 9:30 – 13:00 and from 14:30 
 to 17:30 CET with 20’ break in between sessions and 1h30' lunch break - 
 delivered online via Zoom\n\nDay 1 (Monday October 18th)\n\nSession 1 / 9:
 30 – 13:00 (20`rest in between)\n1. Introduction to parallel architectur
 es\, algorithms design and performance parameters\n2. Introduction to the 
 MPI programming model\n3. Practical: How to compile and run MPI applicatio
 ns\n\n13:00 - 14:30 Lunch Break\n\nSession 2 / 14:30 – 17:30 (20`rest in
  between)\n1. MPI: Point-to-point communication\, collective communication
 \n2. Practical: Simple matrix computations\n3. MPI: Blocking and non-block
 ing communications\n\nDay 2 (Tuesday October 19th)\n\nSession 1 / 9:30 –
  13:00 (20`rest in between)\n1. MPI: Collectives\, Communicators\, Topolog
 ies\n2. Practical: Heat equation example\n\n13:00 - 14:30 Lunch Break\n\nS
 ession 2 / 14:30 – 17:30 (20`rest in between)\n1. Introduction to Parave
 r: tool to analyze and understand performance\n2. Practical: Trace generat
 ion and trace analysis\n\nDay 3 (Wednesday October 20th)\n\nSession 1 / 9:
 30 – 13:00 (20`rest in between)\n1. Parallel debugging in MareNostrumIII
 \, options from print to Totalview\n2. Practical: GDB and IDB\n3. Practica
 l: Totalview\n4. Practical: Valgrind for memory leaks\n\n13:00 - 14:30 Lun
 ch Break\n\nSession 2 / 14:30 – 17:30 (20`rest in between)\n1. Shared-me
 mory programming models\, OpenMP fundamentals\n2. Parallel regions and wor
 k sharing constructs\n3. Synchronization mechanisms in OpenMP\n4. Practica
 l: heat diffusion in OpenMP\n\nDay 4 (Thursday October 21st)\n\nSession 1 
 / 9:30 – 13:00 (20`rest in between)\n1. Tasking in OpenMP 3.0/4.0/4.5\n2
 . Programming using a hybrid MPI/OpenMP approach\n3. Practical: multisort 
 in OpenMP and hybrid MPI/OpenMP\n\n13:00 - 14:30 Lunch Break\n\nSession 2 
 / 14:30 – 17:30 (20`rest in between)\n1. Parallware: guided parallelizat
 ion\n2. Practical session with Parallware examples\n\nDay 5 (Friday Octobe
 r 22nd)\n\nSession 1 / 9:30 – 13:00 (20`rest in between)\n1. Introductio
 n to the OmpSs programming model\n2. Practical: heat equation example and 
 divide-and-conquer\n\n13:00 - 14:30 Lunch Break\n\nSession 2 / 14:30 – 1
 7:30 (20`rest in between)\n1. Programming using a hybrid MPI/OmpSs approac
 h\n2. Practical: heat equation example and divide-and-conquer\n\nEND OF TR
 AINING COURSE\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nhttps://events.prace-ri.eu/even
 t/1230/
SUMMARY:[ONLINE] Parallel Programming Workshop @ BSC
URL;VALUE=URI:https://events.prace-ri.eu/event/1230/
END:VEVENT
END:VCALENDAR
