Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parAlexis Simoneau Modifié depuis plus de 8 années
1
GPU sous LabVIEW eTIG_OOP_2013-07-23
2
Plan de la présentation 1.Frameworks OOP référencés 2.Performances d’accés 3.Performances de compilation 4.Erreurs à éviter 5.Lvlib de calcul de temps de compilation 6.Débat
3
Plan de la présentation 1.Frameworks OOP référencés 2.Performances d’accés 3.Performances de compilation 4.Erreurs à éviter 5.Lvlib de calcul de temps de compilation 6.Débat
4
Plan de la présentation 1.Frameworks OOP référencés 2.Performances d’accés 3.Performances de compilation 4.Erreurs à éviter 5.Lvlib de calcul de temps de compilation 6.Débat
5
Framework actuel
7
Communication CPU/GPU
8
Constitution d’un GPU
9
Différences CPU/GPU
10
Architecture d’un CPU
11
Performances CPU VS GPU
12
Le développement sur GPU CUDA (Compute Unified Device Architecture) VS OpenCL
13
Prix d’un GPU CUDA : gratuit GeForce GTX 460 1GB, 336 CUDA cores, 160 W 220 € Quadro K5000 4 GB, 1 536 cores, 122 W 2 300 € Tesla K20 5 GB, 2 496 cores, 225 W 3 200 $
14
Plan de la présentation 1.Technologie GPU 2.Utilisation sous LabVIEW 3.Benchmarks 4.Conclusions
15
Le GPU chez NI Un tookit pour LabVIEW (Windows uniquement), NI LabVIEW GPU Analysis Toolkti, 999€ Une communauté : GPU Computing 2 interlocuteurs NI identifiés : MathGuy et Caseyw Déjà des dizaines d’applications.
16
GPU Analysis Toolkit GPU Analysis toolkit LabVIEW Toolkit constitué uniquement d’appels à des librairies NVIDIA. Pour l’utiliser, il faut installer CUDA. 4 sous-palettes : -LVCUBLAS, -LVCUDA, -LVCUFFT, -LV GPU SDK. Limitation : impossible d’utiliser un bureau à distance (contrainte driver NVIDIA).
17
GPU Analysis Toolkit -LVCUDA – Contrôle du driver CUDA, des ressources utilisées, informations diverses, … -LVGPU SDK – Exécution de code custom (en C).
18
GPU Analysis Toolkit -LVCUFFT – Calcul de TF et de TF inverse. -LVCUBLAS – Fonctions d’algèbre linéaire. Peu de fonctions disponibles !
19
Plan de la présentation 1.Technologie GPU 2.Utilisation sous LabVIEW 3.Benchmarks 4.Conclusions
20
Exemple : Get CPU Device Information Objectifs : - détecter et identifier le matériel GPU, - déporter le calcul de FFT 1D sur GPU, - comparaison CPU/GPU.
21
Exemple : Get CPU Device Information
22
# éléments Temps # éléments Gain Critique : les temps de chargement/déchargement des données du GPU ne sont pas pris en compte
23
Exemple : Heat equation solver Objectif : résoudre un problème de diffusion de chaleur en utilisant les fonctions BLAS.
24
Exemple : Heat equation solver Init : allocation + transfert données
25
Exemple : Heat equation solver Calcul : utilisation des fonctions BLAS + transferts.
26
Exemple : Heat equation solver Arrêt : libération des ressources Sur cet exemple, nous obtenons les résultats suivants : - temps de cycle CPU : 4.5 ms +/- 0.8 ms, - temps de cycle GPU : 0.145 ms +/- 0.037 ms. Soit un gain d’environ 31x.
27
Exemple : Multi-channel FFT Objectif : calcul de plusieurs FFT 1D en parallèle.
28
Exemple : Multi-channel FFT Résultats : pour le calcul de M canaux de N échantillons. MNCPU (ms)GPU (ms)Gain 110240.050.126X 0.4 128102410.251.4X 7.3 256102422.052.5X 8.8 512102448.534.43X 11 1024 111.218.7X 12.8 10242048235.2615.6X 15.1 10244096506.229.7X 17 10248192Memory full57.2 M = 1024, N = 8192, en double précision, soit environ 128 Mo.
29
Plan de la présentation 1.Technologie GPU 2.Utilisation sous LabVIEW 3.Benchmarks 4.Conclusions
30
Conclusions Aspects positifs du GPU : -Puissance de calcul, Aspects négatifs du GPU : -Difficulté à mettre en œuvre, -Latence élevée. L’apport du GPU n’est possible que pour des problèmes de grande dimension pouvant se résoudre en utilisant l’algèbre linéaire (notamment sans branchement).
31
Conclusions Méthode proposée pour mettre en œuvre un GPU : 1.Repenser le code afin de réaliser les calculs avec des fonctions d’algèbre linéaire, 2.Ecrire l’application en utilisant les fonctions BLAS disponibles en standard, 3.Evaluer le temps consommé par l’exécution de ces fonctions par rapport au reste de l’application, 4.Juger si l’utilisation du GPU peut apporté un gain significatif 5.Remplacer les fonctions BLAS standards par les fonctions BLAS dédiées GPU.
32
Conclusions Bien utilisé le GPU : -Le réservé à des problèmes adaptés, -Développer des briques de traitement en C, -Appeler ces briques depuis LabVIEW. On tire ainsi pleinement partie du GPU (performance de calcul) et de LabVIEW (programmation de haut niveau). Gros potentiel ! Tempérons par le peu de fonctions disponibles et l’absence de support Linux : une question de temps.
33
Ce qui se prépare … Retour sur NI Week 2012, présentation de Darren SCHMIDT, LabVIEW R&D
34
Ce qui se prépare … Retour sur NI Week 2012, présentation de Darren SCHMIDT, LabVIEW R&D
35
Ce qui se prépare … Retour sur NI Week 2012, présentation de Darren SCHMIDT, LabVIEW R&D
36
Ce qui se prépare … Retour sur NI Week 2012, présentation de Darren SCHMIDT, LabVIEW R&D
37
Ce qui se prépare … Retour sur NI Week 2012, présentation de Darren SCHMIDT, LabVIEW R&D
38
Ce qui se prépare … Retour sur NI Week 2012, présentation de Darren SCHMIDT, LabVIEW R&D
39
Encore plus loin DAQ PCI express PCI express
40
MERCI !
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.