Aller au contenu

Tuto: comment réduire jusqu'à -80% le temps de traitement de Starnet++ (Standalone, SIRIL, et PixInsight?) avec les cartes nVidia


Messages recommandés

Posté (modifié)

INTRODUCTION

 

(Déjà pour info: ce tuto est sous Windows, et ne marche qu'avec les cartes graphiques nVidia supportant CUDA. Mais il est possible d'en faire autant pour Mac ou Linux. Si vous êtes intéressés, n'hésitez pas à vous en inspirer, et créer un tuto correspondant. Je peux éventuellement vous aider.)

 

Suite à la discussion sur ce Thread: 

 

Je me suis rendu compte que Starnet++ (utilisé pour la suppression des étoiles) était lent, et n'utilisait que 10% de ma carte graphique nVidia. Qui plus est, pas la partie CUDA, mais la partie décodage vidéo... Effectivement, quand la version PixInsight est normalement "toute prête" (à vérifier? Pour ce faire, voir la fin de ce post), ce n'est pas la même pour la version standalone, et donc celle utilisée par Siril. Les gains vont de 40% jusqu'à 80% de temps de traitement en moins. Je tiens à créditer cet article: https://www.williamliphotos.com/cuda-starnet Après de nombreux essais, j'ai trouvé comment ENFIN utiliser CUDA.


Il faut d'abord télécharger 3 composants:
-LibTensorFlow v2.10 https://storage.googleapis.com/tensorflow/libtensorflow/libtensorflow-gpu-windows-x86_64-2.10.0.zip
-CUDA toolkit 11.2 (il vous faudra créer un compte développeur): https://developer.nvidia.com/cuda-11.2.2-download-archive
-CUDNN 8.1.1 for cuda 11.2(il vous faudra créer un compte développeur): https://developer.nvidia.com/compute/machine-learning/cudnn/secure/8.1.1.33/11.2_20210301/cudnn-11.2-windows-x64-v8.1.1.33.zip


Je précise que je suis sous Windows 11, avec une 1660 Ti.  Vous aurez peut être besoin de versions plus récentes, si votre carte graphique l'est. Je listerais les dernières versions compatibles en fonction de vos essais... La plus récente que je connais à ce jour est LibTenserFlow v2.10, CUDA 11.8.0 et CUDNN 8.9.7.29 for cuda 11. Je vous laisse les liens généraux, pour que vous puissiez tester en fonctions de votre OS et de votre carte graphique d'autres versions. Un seul mot d'ordre: CUDA 12 n'est pas encore supporté. 
ATTENTION: libtensorflow existe en version CPU et GPU, prenez donc bien la version GPU!

 

Pour LibTensorflow: https://www.tensorflow.org/install/lang_c?hl=fr. Si vous voulez une autre version, il faut tricher en changeant directement le lien de téléchargement, pour spécifier la version.
Pour CUDA: https://developer.nvidia.com/cuda-toolkit-archive

Pour CUDNN:  https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/ et https://developer.nvidia.com/rdp/cudnn-archive

 

 

----------------

 

 

INSTALLATION:

 

 

1) Installer CUDA.

 

Vous pouvez opter pour une installation personnalisée, afin de réduire sa taille disque.
Décochez les packages NVidia Geforce Experience, Other components, Driver Components, et dans le package principal, enlevez le package "Visual Studio Integration"
1.jpg.cd29d77e1b93dbf1aed4ad6fc5eef162.jpg2.jpg.4d723b3b967b2908bdc030c5a60d1da4.jpg3.jpg.a7026a54095651b0dbc8fe19130be17c.jpg

 

 

 

 

 

2) Ajout d'une variable système

 

Ajoutez cette variable systèmes: TF_FORCE_GPU_ALLOW_GROWTH et mettez sa valeur à "true" (sans les guillemets, en minuscule)

(cliquez sur le logo windows, sans rien toucher tapez "variable système"

4.jpg.41a4875fcb50dd756097bc375c84024e.jpg5.jpg.1678b9152b256b8a64b09f74f837f353.jpg6.jpg.a7e215a05a55ff9a1fb34eb78a13ff83.jpg

 

 

 

 

 

3) Installation de CUDNN

 

L'archive doit contenir un dossier bin (\cuda\bin) contenant 7 fichiers DLL. Vous devez copier ces fichiers DLL dans le répertoire bin de votre installation CUDA (chez moi: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2\bin)

 

7.jpg.ccaf032403aae7af2b6574bb3a72845f.jpg

 

 

 

 

 

4) Installation de LibTenserFlow

Dans l'archive vous trouverez un dossier lib, contenant le fichier tensorflow.dll. Vous devez écrasez le fichier tensorflow.dll de votre répertoire d'installation de Starnet++ par celui-ci.

 

 

 

 

----------------------------------------

 

 

 

 

VERIFICATION:

 

 

 

Vous pouvez vérifier si cela marche bien, grâce au gestionnaire de tache Windows. Il faut aller dans "performances" puis dans GPU (il y a un ascenceur), et changez l'un des graphiques pour CUDA. Si vous ne pouvez pas, regardez simplement la charge GPU qui devrait être proche de 100%.

8.jpg.b606f5c1debe108ac91bf19d245e13ff.jpg

 

Lorsque vous lancez starnet++, vous devriez voir que celui-ci utilise bien CUDA.

9.jpg.8078ddd449260e6f0a84844a3184a335.jpg

Modifié par Wan186
  • J'aime 2

Rejoignez la conversation !

Vous pouvez répondre maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous pour poster avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

  • En ligne récemment   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.