Skip to content
Snippets Groups Projects
intro.typ 1.81 KiB
// https://polylux.dev/book/polylux.html
// https://typst.app/docs
#import "@preview/polylux:0.3.1": *
#import themes.metropolis : *

#show: metropolis-theme.with(aspect-ratio: "16-9", footer: "Parallel STL - HPC 2024")

#set text(font: "Fira Sans", weight: "light", size: 20pt)
#show math.equation: set text(font: "Fira Math")

#title-slide(
  subtitle: "Algorithmes parallèles STL avec C++ 20",
  title: "Introduction",
  author: "Michaël El Kharroubi",
  date: "27.02.2024",
  extra: "HPC 2024 - HEPIA",
)

#slide(
  title: "Objectif du cours",
)[
  Dans ce cours, nous verrons comment exécuter du code sur GPU de façon moderne
  avec C++.

  Nous utiliserons le kit de développement HPC de Nvidia, en particulier le
  compilateur _nvc++_.

  Le but de ce cours est de vous donner une courte introduction au calcul
  générique sur processeur graphique (GPGPU).
]

#slide(title: "Contenu du cours")[
  #box(columns(1)[
    Dans ce cours, nous aborderons les concepts suivants :

    + Qu'est-ce que le GPGPU, et pour quel usage s'en sert-on?
      + Comment fait-on du GPGPU de manière classique
      + La gestion de la mémoire en GPGPU #pause
    + Quelques bases de C++
      + Les itérateurs C++
      + Les vecteurs, les tableaux et les spans
      + Les lambda et les méchanismes de capture
      + Les algorithmes de la Standard Template Library (STL) #pause
    + Présentation du kit HPC Nvidia
      + Le compilateur nvc++ et comment paralléliser son code
      + Le futur du paradigme STL avec les mdspans et les views
  ])
]

#slide(
  title: "Planning du cours",
)[
  Le cours sera donné sur une semaine (5 périodes). Nous ferons 2-3 périodes de
  théorie et 2-3 périodes de pratique.

  Pour la partie pratique, nous implémenterons le calcul des équations de la
  chaleur sur GPU.
]

#new-section-slide("Questions ?")