Booking.com

Accélération GPU PixInsight pour AMD

Hey ! Avant de plonger dans l'article, voici quelques super sorties 🎉 à expérimenter lors de votre prochain voyage qui devraient vous plaire 😊 !
Allons-y ! 🚀

Je suis ravi de partager que les plugins Tensorflow accélérés par GPU dans PixInsight fonctionnent désormais avec les GPU AMD. Il a fallu un certain temps pour comprendre le processus de construction et réussir à obtenir une bibliothèque. J’espère que ce guide simple pourra vous aider à activer et à profiter de l’accélération GPU avec StarNet++ et d’autres applications.

Demandes

  • Ubuntu 22.0.4
  • PixInsight (dernière version)
  • GPU AMD (testé sur 7900xtx)
  • Scripts compatibles GPU à vérifier (Starnet++)

Installer rocm

sudo apt install "linux-headers-$(uname -r)" "linux-modules-extra-$(uname -r)"
sudo usermod -a -G render,video $LOGNAME # Adding current user to Video, Render groups. See prerequisites.
wget https://repo.radeon.com/amdgpu-install/6.1.1/ubuntu/jammy/amdgpu-install_6.1.60101-1_all.deb
sudo apt install ./amdgpu-install_6.1.60101-1_all.deb
sudo apt update
sudo apt install amdgpu-dkms
sudo apt install rocm
echo "Please reboot system for all settings to take effect."

Assurez-vous de redémarrer comme l’indique le script ci-dessus. Ce processus créera les pilotes du noyau et configurera également les autorisations de rendu/vidéo afin que le GPU puisse accéder aux pilotes du noyau. L’accélération GPU dans PixInsight avec les applications basées sur Tensorflow ne fonctionnera PAS tant que vous n’aurez pas redémarré.

Télécharger libtensorflow pour AMD

J’ai compilé ceci sur Ubuntu 22.0.4 avec ROCm 6.1.1 en utilisant le noyau 6.6. Veuillez vous assurer que vous utilisez un noyau 6.6 (ou si la version 6.8 est disponible lorsque vous lisez ceci, utilisez le noyau 6.8)

Télécharger libtensorflow216.tar.gz

Installer sur pixinsight

Sauvegardez votre libtensorflow d’origine sur PixInsight :

cd /opt/PixInsight/bin/lib
mkdir bak
mv libtensorflow* bak

Extrayez le fichier de téléchargement dans /usr/local à partir du chemin où vous l’avez également téléchargé.

sudo tar -C /usr/local -xzf /path/to/Downloads/libtensorflow216.tar.gz

Exécutez l’éditeur de liens pour créer la bibliothèque du système d’exploitation

sudo ldconfig /usr/local/lib

Quittez/redémarrez PixInsight et testez StarNet ou exécutez StarNet CLI. PixInsight ne chargera pas cette bibliothèque à moins que vous ne la redémarriez après avoir exécuté ldconfig.

Découvrir de nouveaux horizons :  Oubliez les problèmes techniques : rejoignez un observatoire à distance pour une imagerie transparente

Mettre à jour les messages et les pilotes

FACULTATIF – Si vous rencontrez des plantages étranges dans Ubuntu 22.0.4 où les applications disparaissent simplement avec ou sans le GPU en cours d’exécution, il semble qu’il y ait eu une bizarrerie générale du pilote d’affichage. Un fil conducteur pour la version 22.0.4 (j’espère que l’approbation de la version 24.0.4 arrivera bientôt avec ROCm et les outils associés).

Pour résoudre ce problème, exécutez ce qui suit :

sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update
sudo apt upgrade

Une fois cette opération terminée, vous souhaiterez redémarre car il a peut-être également mis à jour les blobs du noyau pour votre pilote graphique.

Starnet++ accéléré par GPU

Vérifions maintenant que StarNet utilisera le GPU AMD. StarNet inclut un libtensorflow.so dans son répertoire que vous devrez remplacer par mes AMD si vous utilisez la version CLI, mais si vous utilisez cet outil dans PixInsight, il doit utiliser celui que nous avons installé dans votre chemin ld.

bymiller@byron-X570:~/Downloads/StarNetv2CLI_linux$ sh run_starnet.sh 
2024-05-12 21:01:54.012227: E external/local_xla/xla/stream_executor/plugin_registry.cc:90] Invalid plugin kind specified: DNN
2024-05-12 21:01:54.033232: E external/local_xla/xla/stream_executor/plugin_registry.cc:90] Invalid plugin kind specified: BLAS
Reading input image... Done!
Bits per sample: 16
Samples per pixel: 3
Height: 712
Width: 1048
Restoring neural network checkpoint... Done!
2024-05-12 21:01:54.384899: I tensorflow/core/platform/cpu_feature_guard.cc:210] This TensorFlow binary is optimized to use available CPU instructions in performance-critical operations.
To enable the following instructions: SSE3 SSE4.1 SSE4.2 AVX AVX2 FMA, in other operations, rebuild TensorFlow with the appropriate compiler flags.
2024-05-12 21:01:54.436196: I external/local_xla/xla/stream_executor/rocm/rocm_gpu_executor.cc:812] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2024-05-12 21:01:54.458272: I external/local_xla/xla/stream_executor/rocm/rocm_gpu_executor.cc:812] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2024-05-12 21:01:54.458309: I external/local_xla/xla/stream_executor/rocm/rocm_gpu_executor.cc:812] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2024-05-12 21:01:54.458427: I external/local_xla/xla/stream_executor/rocm/rocm_gpu_executor.cc:812] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2024-05-12 21:01:54.458460: I external/local_xla/xla/stream_executor/rocm/rocm_gpu_executor.cc:812] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2024-05-12 21:01:54.458493: I external/local_xla/xla/stream_executor/rocm/rocm_gpu_executor.cc:812] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2024-05-12 21:01:54.458511: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1929] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 23512 MB memory:  -> device: 0, name: Radeon RX 7900 XTX, pci bus id: 0000:0a:00.0
Total number of tiles: 15
2024-05-12 21:01:54.798149: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:388] MLIR V1 optimization pass is not enabled
100% finished

Done!

Hourra! Les utilisateurs d’AMD se réjouissent du magnifique GPU accéléré DémarrageNet++ (et d’autres outils PixInsight compatibles GPU)

Découvrir de nouveaux horizons :  Isha Ambani a-t-elle volé la vedette avec son incroyable sens de la mode lors des célébrations pré-nuptiales d'Anant Ambani et Radhika Merchant ?

Vous pouvez installer radeontop et l’exécuter dans un shell tout en exécutant Starnet ou d’autres tâches Tensorflow et regarder la charge du GPU augmenter.

sudo apt install radeontop

RC-Astro accéléré par GPU AMD

Je suis heureux d’annoncer que les incroyables outils rc-astro fonctionnent également avec cette configuration.

StarXTerminator – Supprimez les étoiles ou créez un masque d’étoile.

NoiseXTerminator – Suppression du bruit AI.

BlurXTerminator – Déconvolution.

Vous pouvez télécharger la version d’essai de ceux-ci à partir de : https://www.rc-astro.com/pixinsight-installation-instructions/

Veuillez laisser un commentaire ci-dessous si cela fonctionne ou non pour vous. J’ai une autre bibliothèque Tensorflow intégrée à la version 2.13 qui peut fonctionner avec les anciens GPU AMD si cela ne fonctionne pas pour vous.

Que votre ciel soit clair.

Fabrice
Les derniers articles par Fabrice (tout voir)
Découvrir de nouveaux horizons :  Exploration Astrophotographique avec les Licences Creative Commons

Laisser un commentaire