Leçon 28 : Occupancy : warps actifs par SM
Chaque Streaming Multiprocessor (SM) du GPU ne peut avoir qu'un nombre limité de warps actifs à la fois. L'occupancy se définit comme le ratio : occupancy = warps actifs / maximum de warps possibles par SM. Pourquoi est-ce important ? Quand un warp manque de travail ou attend de la mémoire, le SM pe
Imagine un serveur s'occupant de plusieurs tables à la fois. Quand une table n'a pas encore fini de choisir sur le menu, il va vers une autre table au lieu de rester planté à attendre. Plus il a de tables actives, moins il gaspille de temps à attendre. Mais s'il a trop de tables, chaque table reçoit moins d'attention — donc plus de tables n'est pas toujours mieux.
- occupancy
- Le ratio entre les warps actifs sur un SM et le maximum de warps que le SM supporte. Une occupancy élevée aide à masquer les attentes mémoire.
- SM (Streaming Multiprocessor)
- L'unité de traitement du GPU qui exécute les blocks. Ses ressources (registres, mémoire partagée) ont une capacité limitée répartie entre les blocks.
- masquage de latence (latency hiding)
- Quand un warp attend de la mémoire, le SM bascule vers un autre warp. Plus de warps actifs signifie plus de travail derrière lequel masquer l'attente.
- limite de ressources
- Registres par thread, mémoire partagée par block, et taille du block — chacun peut limiter combien de blocks tiennent sur un SM.