Accélération 30x d'un jeu C++ sans intérêt sur une GPU
L'auteur a tenté de porter un programme C++ pour jouer au jeu de cartes "Beggar My Neighbour" sur une GPU pour l'accélérer. Initialement, les performances de la GPU étaient bien inférieures à celles de la CPU. À l'aide de l'outil Nvidia Nsight Compute, l'auteur a identifié la divergence de threads et la vitesse d'accès à la mémoire comme des goulots d'étranglement. En transformant l'algorithme en une structure de machine à états et en optimisant avec des tables de recherche et de la mémoire partagée, une amélioration des performances de 30 fois a finalement été obtenue, atteignant 100 millions de parties par seconde. L'article détaille le processus d'optimisation et les défis rencontrés, offrant des informations précieuses sur les pratiques de programmation GPU.