Accélération GPU dans PixInsight : configuration de CUDA et tests de performance
Cet article est compilé à partir de notes prises entre 2021 et 2024 ; certains outils, versions de CUDA et procédures de configuration ont depuis été mis à jour (en particulier, PixInsight prend désormais en charge, dans ses versions plus récentes, une configuration en un clic), gardez donc à l’esprit le contexte temporel pendant la lecture.
Depuis que des processus reposant sur des réseaux de neurones — suppression des étoiles, débruitage par IA, netteté par IA — sont peu à peu entrés dans le flux de travail de PixInsight, « faut-il ajouter une carte graphique à son ordinateur de traitement ? » est devenue une question très concrète. Cet article rassemble mon expérience de ces dernières années en matière de tests sur le terrain et de configuration de l’accélération GPU : pourquoi vouloir un GPU, comment l’activer, combien de temps on gagne, et en quoi les différentes plateformes diffèrent.
Pourquoi l’accélération GPU est nécessaire
Les processus qui prennent actuellement en charge l’accélération GPU dans PixInsight sont surtout ceux qui font largement appel au calcul par réseaux de neurones : StarNet++, StarNet 2, StarXTerminator (SXT), NoiseXTerminator (NXT), BlurXTerminator (BXT). Si vous exécutez ces processus sur le seul CPU, les temps d’attente deviennent considérables, surtout à mesure que la taille de l’image augmente.
Un exemple qui le fait bien ressentir est la suppression des étoiles en lot : lorsqu’on traite les comètes avec la nouvelle méthode, il faut supprimer les étoiles, à l’état linéaire, de chaque image de comète non encore intégrée, une par une. Par exemple, avec plus de deux cents images de 9 mégapixels, en utilisant une version RTX 3060 Laptop pour accélérer, chacune ne prend qu’une vingtaine de secondes ; si vous vous en remettez au seul CPU, ce temps total vous fera douter de vos choix de vie.
Une fois qu’on a goûté à l’accélération GPU, il n’y a pour ainsi dire pas de retour en arrière.
La première fois que j’ai réussi à activer CUDA
Fin 2021, après avoir passé plusieurs heures à tester différentes versions de NVIDIA CUDA, cuDNN et TensorFlow, j’ai enfin réussi à me servir du GPU (NVIDIA RTX 3060) pour assister la suppression des étoiles :
- StarXTerminator ne demandait qu’environ 15 secondes ;
- StarNet++ moins de 10 secondes ;
pour achever la suppression des étoiles d’une seule image. Comparé au seul CPU, l’écart était très net.

Comment l’activer : de la configuration manuelle à l’installation en un clic
La méthode d’autrefois : placer les fichiers à la main
Aux débuts, activer l’accélération GPU imposait de télécharger soi-même les versions correspondantes de CUDA, cuDNN, TensorFlow, etc., et de les placer au bon endroit. Ce processus n’avait pas un seuil d’entrée bas, et de plus il ne valait que pour les utilisateurs sous Windows ayant PixInsight installé et une carte graphique NVIDIA dotée de cœurs CUDA. Les utilisateurs de cartes graphiques AMD (y compris les circuits graphiques intégrés) le passeront directement, et les utilisateurs de Linux devront trouver eux-mêmes les équivalences. Une fois configuré, cela accélérait fortement l’exécution de StarNet, StarNet++, SXT, NXT et BXT.
L’ennui, c’est qu’à chaque mise à jour de PixInsight, il fallait souvent replacer ces fichiers, ce qu’on oubliait facilement.
La méthode actuelle : la configuration en un clic intégrée à PI
Au début de 2024, la situation s’est nettement améliorée : désormais, il suffit d’ajouter un dépôt de mise à jour (repository) dans PixInsight pour pouvoir utiliser directement l’accélération GPU, sans installation ni configuration supplémentaires. C’est la méthode fournie sur le forum PixInsight par RC (Russell Croman), l’auteur de la série XTerminator. À l’époque, cette fonction ne valait que pour Windows, la version Linux étant encore en développement ; quant à macOS, il n’a de toute façon jamais eu besoin de ce genre de configuration.
Comment confirmer que le GPU calcule réellement
Pour savoir si le GPU met la main à la pâte pendant la suppression des étoiles ou le débruitage, sous Windows 10/11 : ouvrez le Gestionnaire des tâches, passez à l’onglet « GPU » et sélectionnez le sous-onglet « CUDA » ; si un taux d’utilisation apparaît sur les cœurs CUDA, c’est que le GPU est sollicité (par exemple, en lançant SXT, on peut voir les cœurs CUDA grimper jusqu’à 87 % d’utilisation) ; si les cœurs CUDA ne bougent pas du tout, alors le GPU n’est pas mis à contribution.

Tests de performance
CPU haut de gamme vs GPU de milieu-bas de gamme
Beaucoup demandent : si le CPU est assez puissant, a-t-on seulement besoin d’une carte graphique ? J’ai opposé un CPU haut de gamme grand public (AMD R9-7950X) à une carte graphique de milieu-bas de gamme grand public (RTX 3060 12G), avec PI 1.8.9-1 et SXT 2.05 AI 11 lite comme logiciels :
- Première image, M1 (14.75MP) : suppression des étoiles sur CPU 1 minute 45 secondes ; sur GPU 10,2 secondes.
- Deuxième image, Webb NGC 3372 (123MP) : suppression des étoiles sur CPU 12 minutes 31 secondes ; sur GPU 1 minute 05 secondes.
Deux régularités se dégagent : plus l’image est grande, plus l’effet de l’accélération GPU est marqué ; et même en opposant un CPU haut de gamme à un GPU de milieu-bas de gamme, le CPU met au moins dix fois plus de temps que le GPU pour accomplir le même travail. Si votre CPU n’est pas un modèle haut de gamme, l’écart ne fera que se creuser. Ainsi, dès lors que votre flux de travail exige d’utiliser des processus d’IA de façon répétée, je recommande vivement de vous procurer au moins une carte de milieu-bas de gamme de la série RTX 30.

Le simple fait de mettre à jour le logiciel CUDA peut presque doubler la vitesse
Il y a encore une découverte étonnante. Il y a un peu plus d’un an, j’ai activé pour la première fois l’accélération CUDA sur mon ordinateur portable équipé d’une RTX 3060 Laptop, et un peu plus d’un an plus tard, sans avoir changé le moindre composant de calcul (un portable ne se met de toute façon pas à niveau), j’ai remesuré avec la même image après avoir simplement mis à jour le logiciel concerné, et la vitesse avait presque doublé.
Prenons l’exemple de la suppression des étoiles sur une image de 120 mégapixels (PI 1.8.9-1, SXT 2.05 AI 11 lite, RTX 3060 Laptop 6GB) :
- Configuration CUDA un (CUDA 11.2.2, TensorFlow 2.6, cuDNN 8.2.1) : environ deux minutes et demie.
- Configuration CUDA deux (CUDA 11.8, TensorFlow 2.9, cuDNN 8.7, ZLib DLL x64 1.2.3) : à peine 1 minute 20 secondes.
Donc, les amis qui ont installé CUDA au début et ne l’ont plus mis à jour depuis, n’oubliez pas de mettre à jour votre logiciel CUDA ; vous pouvez vous inspirer de la combinaison de la « configuration deux » ci-dessus, ce qui revient à récupérer gratuitement la moitié des performances.

Carte graphique version bureau vs version portable
J’avais justement sous la main les deux cartes, une RTX 3060 12G et une RTX 3060 Laptop 6G. Les temps de suppression des étoiles sous la même version de logiciel :
- RTX 3060 12G : 1 minute 4 secondes ;
- RTX 3060 Laptop 6G : 1 minute 20 secondes.
Les deux utilisent la même puce ; les seules différences tiennent à la capacité mémoire et à la conception de la consommation des versions bureau et portable, si bien que les temps de suppression des étoiles sont proches. Côté rapport qualité-prix, un ordinateur portable de jeu équipé d’une carte NVIDIA (à l’époque à un prix d’environ 30 000 dollars taïwanais) est un choix plutôt avantageux.

Même une vieille carte de minage se fait sentir
À la maison, j’ai un vieil ordinateur assemblé il y a environ quatre ans (AMD R5-3600), dont la carte graphique d’origine (R9-270) approchait de la fin de sa vie. J’ai déniché sur Internet une carte de minage à moins de 3 000 dollars taïwanais — une NVIDIA GTX 1660s — et j’ai testé dessus la suppression des étoiles sur une image plein format (environ 60 mégapixels) :
- CPU seul : 5 minutes 40 secondes ;
- GPU : 51 secondes ;
soit un écart de temps d’environ 6,6 fois. Même si la 1660s ne compte qu’un peu plus de 1 400 cœurs CUDA, le temps gagné reste très net. Dès lors que vous exécutez de façon répétée des opérations comme la suppression des étoiles, le débruitage par IA et la netteté par IA, l’accélération GPU est un investissement qui en vaut la peine.

Les différences entre les plateformes
Selon le système d’exploitation et le matériel, la prise en charge de la possibilité pour les processus d’IA d’utiliser l’accélération GPU n’est pas uniforme. J’ai rassemblé la situation des trois plateformes Windows, Mac et Linux (une partie des résultats des tests sur Mac a été fournie par un camarade de passion) :
- Windows + NVIDIA : une fois configuré, vous pouvez appeler CUDA pour accélérer par GPU l’ensemble de SXT, BXT, NXT et StarNet.
- Mac à puce Apple Silicon (comme M1 / M1 Ultra) : BXT et NXT appellent automatiquement Metal pour l’accélération GPU sans aucune configuration ; SXT, à l’exécution, n’occupe qu’une partie des ressources du CPU et ne sollicite pas le GPU ; quant à StarNet 2, il faut passer à la version expérimentale disponible sur le site officiel (uniquement en mode ligne de commande CLI) pour réussir à utiliser l’accélération GPU.
- Mac à processeur Intel : StarNet ne peut utiliser que le CPU ; SXT, BXT et NXT peuvent, eux, utiliser l’accélération GPU, et cela fonctionne même avec un GPU AMD.
Sur la plateforme Apple Silicon, des processus comme SXT prennent en charge nativement l’accélération GPU, si bien que leurs performances sont à peu près à égalité avec « Windows + accélération CUDA de NVIDIA ». Quant au système Linux sur PC, il peut lui aussi appeler le GPU pour accélérer le calcul.

En résumé
En repensant aux changements de ces dernières années : l’accélération GPU est passée d’une configuration hardcore où « il fallait passer des heures à faire concorder les versions de CUDA » à un « PI règle tout d’office en un clic » ; les processus qu’on peut accélérer sont de plus en plus nombreux, et même une vieille carte de minage à quelques centaines de dollars taïwanais peut apporter une accélération de plusieurs fois. Si votre flux de travail dépend fortement des processus d’IA, une carte graphique NVIDIA de milieu-bas de gamme (ou un Mac à puce Apple Silicon) est quasiment indispensable.