BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260703T202820Z
UID:6a92f267-9d31-4928-8370-22b7793410ce
DTSTART:20161024T080000Z
DTEND:20161028T150000Z
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 are
  to understand the fundamental concepts supporting message-passing and sha
 red memory programming models. The course covers the two widely used progr
 amming models: MPI for the distributed-memory environments\, and OpenMP fo
 r the shared-memory architectures. The course also presents the main tools
  developed at BSC to get information and analyze the execution of parallel
  applications\, Paraver and Extrae.\n\nIt also presents the Parallware Ass
 istant tool\, which is able to automatically parallelize a large number of
  program structures\, and provide hints to the programmer with respect to 
 how to change the code to improve parallelization. It deals with debugging
  alternatives\, including the use of GDB and Totalview. The use of OpenMP 
 in conjunction with MPI to better exploit the shared-memory capabilities o
 f current compute nodes in clustered architectures is also considered. Par
 aver will be used along the course as the tool to understand the behavior 
 and performance of parallelized codes. The course is taught using formal l
 ectures and practical/programming sessions to reinforce the key concepts a
 nd set up the compilation/execution environment.\n\nAttendants can bring t
 heir own applications and work with them during the course for paralleliza
 tion and analysis.\n\nLearning Outcomes: The students who finish this cour
 se will be able to develop benchmarks and applications with the MPI\, Open
 MP and mixed MPI/OpenMP programming models\, as well as analyze their exec
 ution and tune their behaviour in parallel architectures.\n\nLevel:\n\nINT
 ERMEDIATE: for trainees with some theoretical and practical knowledge\; th
 ose who finished the beginners course\n\nADVANCED: for trainees able to wo
 rk independently and requiring guidance for solving complex problems\n\nPr
 erequisites: Fortran\, C or C++ programming. All examples in the course wi
 ll be done in C.\n\nAgenda:\n\n Day 1 (Monday)\n\nSession 1 / 9:30 am –
  1:00 pm (2 h lectures\, 1 h practical)\n\n1. Introduction to parallel arc
 hitectures\, algorithms design and performance parameters\n\n2. Introducti
 on to the MPI programming model\n\n3. Practical: How to compile and run MP
 I applications\n\n \n\nSession 2 / 2:00pm – 5:30 pm (2h lectures\, 1h p
 ractical)\n\n1. MPI: Point-to-point communication\, collective communicati
 on\n\n2. Practical: Simple matrix computations\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 practical)\n\n1. MPI: Collectives\, Com
 municators\, Topologies\n\n2. Practical: Heat equation example\n\n \n\nSe
 ssion 2 / 2:00 pm - 5:30 pm (1.5 h lectures\, 1.5 h practical)\n\n1. Intro
 duction to Paraver: tool to analyze and understand performance\n\n2. Pract
 ical: Trace generation and trace analysis\n\n \n\nDay 3 (Wednesday)\n\nSe
 ssion 1 / 9:30 am - 1:00 pm (1 h lecture\, 2h practical)\n\n1. Parallel de
 bugging in MareNostrumIII\, options from print to Totalview\n\n2. Practica
 l: GDB and IDB\n\n3. Practical: Totalview\n\n4. Practical: Valgrind for me
 mory leaks\n\n \n\nSession 2 / 2:00 pm - 5:30 pm (2 h lectures\, 1 h prac
 tical)\n\n1. Shared-memory programming models\, OpenMP fundamentals\n\n2. 
 Parallel regions and work sharing constructs\n\n3. Synchronization mechani
 sms in OpenMP\n\n4. Practical: heat diffusion in OpenMP\n\n \n\nDay 4 (Th
 ursday)\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: multisort in OpenMP and hybrid MPI/OpenMP
 \n\n \n\nSession 2 / 2:00pm – 5:30 pm (1.5 h lectures\, 1.5 h practical
 )\n\n1. Parallware: guided parallelization\n\n2. Practical session with Pa
 rallware examples\n\n \n\nDay 5 (Friday)\n\nSession 1 / 9:30 am – 1:00 
 pm (2 hour lectures\, 1 h practical)\n\n1. Introduction to the OmpSs progr
 amming model\n\n2. Practical: heat equation example and divide-and-conquer
 \n\n \n\nSession 2 / 2:00pm – 5:30 pm (1 h lectures\, 2 h practical)\n\
 n1. Programming using a hybrid MPI/OmpSs approach\n\n2. Practical: heat eq
 uation example and divide-and-conquer\n\n \n\nEND of COURSE\n\nhttps://ev
 ents.prace-ri.eu/event/519/
SUMMARY:Parallel Programming Workshop @ BSC
URL;VALUE=URI:https://events.prace-ri.eu/event/519/
END:VEVENT
END:VCALENDAR
