BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260704T061848Z
UID:13473acf-b061-496c-996b-f1bf2a163fcb
DTSTART:20170116T083000Z
DTEND:20170118T160000Z
DESCRIPTION:When developing a numerical simulation code with high performan
 ce and efficiency in mind\, one is often compelled to accept a trade-off 
 between using a native-hardware programming model (like CUDA or OpenCL)\, 
 which has become tremendously challenging\, and loosing some cross-platfor
 m portability.\n\nPorting a large existing legacy code to a modern HPC pla
 tform\, and developing a new simulation code\, are two different tasks tha
 t may be benefit from a high-level programming model\, which abstracts th
 e low-level hardware details.\n\nThis training presents existing high-lev
 el programming solutions that can preserve at best as possible performance
 \, maintainability and portability across the vast diversity of modern har
 dware architectures (multicore CPU\, manycore\, GPU\, ARM\, ..) and softwa
 re development productivity.\n\nWe will first review the basics of the Op
 enACC programming model\, as well as performance monitoring tools for Nvid
 ia GPU. Several detailed examples in C/C++/Fortran will be used in hands-o
 n session on the high-end hardware platform Ouessant (http://www.idris.fr
 /ouessant/)\, equipped with Nvidia Pascal GPUs.\n\nWe will then provide an
  introduction to the high-level C++ programming model Kokkos https://gith
 ub.com/kokkos\, and show basic code examples  to illustrate the following
  concepts through hands-on sessions:\n\nhardware portability: design an al
 gorithm once and let the Kokkos back-end (OpenMP\, CUDA\, ...) actually de
 rive an efficient low-level implementation\;\n	efficient architecture-awa
 re memory containers: what is a Kokkos::view\;\n	revisit fundamental paral
 lel patterns with Kokkos: parallel for\, reduce\, scan\, ... \;\n	explore 
 some mini-applications.\nPrerequisites:\nSome basic knowledge of the CUDA 
 programming model and of C++.\n\nhttps://events.prace-ri.eu/event/568/
SUMMARY:Performance portability for GPU application using high-level progra
 mming approaches @ MdlS /Idris
URL;VALUE=URI:https://events.prace-ri.eu/event/568/
END:VEVENT
END:VCALENDAR
