• Aucun résultat trouvé

Étude et tests de CUDA™ (NVIDIA) appliqués à la mise en œuvre d’algorithmes de télécommunications

N/A
N/A
Protected

Academic year: 2021

Partager "Étude et tests de CUDA™ (NVIDIA) appliqués à la mise en œuvre d’algorithmes de télécommunications"

Copied!
188
0
0

Texte intégral

(1)Étude et tests de CUDA™ (NVIDIA) appliqués à la mise en œuvre d’algorithmes de télécommunications Jean-Charles Paoletti. To cite this version: Jean-Charles Paoletti. Étude et tests de CUDA™ (NVIDIA) appliqués à la mise en œuvre d’algorithmes de télécommunications. Automatique / Robotique. 2013. �dumas-01154150�. HAL Id: dumas-01154150 https://dumas.ccsd.cnrs.fr/dumas-01154150 Submitted on 21 May 2015. HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés..

(2) CONSERVATOIRE NATIONAL DES ARTS ET METIERS PARIS ___________________. MEMOIRE présenté en vue d'obtenir le DIPLOME D'INGENIEUR CNAM en ELECTRONIQUE PAR Jean-Charles PAOLETTI ___________________. Etude et tests de CUDA™ (NVIDIA) appliqués à la mise en œuvre d’algorithmes de télécommunications Soutenu le 05 novembre 2013 _________________ JURY PRESIDENT : M. D. LE RUYET. Professeur des Universités - CNAM. MEMBRES :. Professeur des Universités - CNAM Maître de conférences - CNAM Développeur FPGA - ELSYS DESIGN Ingénieur Electronicien - SAGEM. Mme C. ALGANI M. C. PAUTOT M. S. LETOURNEUR M. T. DO.

(3)

(4) Remerciements :. Je remercie le professeur Han VU THIEN de m’avoir accueilli dans son laboratoire pour effectuer mon stage de fin d’études. Je remercie Christian PAUTOT pour m’avoir proposé ce sujet de mémoire et pour ses conseils pour l’élaboration de ce mémoire. Je remercie également Christophe ALEXANDRE pour ses conseils techniques. Je remercie l’ensemble des stagiaires du Laboratoire Signaux et Systèmes du CNAM pour leurs nombreux conseils utiles lors de ma recherche d’emploi et pour les bons moments passés ensemble. Je remercie également ma famille – et en particulier ma sœur Sophie PAOLETTI – pour son soutien moral tout au long de mes études au CNAM..

(5)

(6) Table des matières Introduction........................................................................................................................ 8 I. LES CARTES GRAPHIQUES NVIDIA .................................................................................................10 I.1 HISTORIQUE DES CARTES GRAPHIQUES NVIDIA ...........................................................................10 I.1.1 Les processeurs graphiques antérieurs à CUDA™..............................................................10 I.1.2 Première architecture unifiée CUDA : l’architecture G80 ..................................................10 I.1.3 Deuxième architecture unifiée CUDA : l’architecture GT200 ............................................12 I.1.4 L’architecture Fermi............................................................................................................12 I.2 CONSTITUTION D’UNE CARTE GRAPHIQUE .....................................................................................14 I.2.1 Présentation générale d’une carte graphique .......................................................................14 I.2.2 Fonctionnement général d’une carte graphique...................................................................14 I.2.3 Composants d’une carte graphique......................................................................................15 I.3 ARCHITECTURE INTERNE D’UNE CARTE GRAPHIQUE NVIDIA .......................................................20 I.3.1 Présentation .........................................................................................................................20 I.3.2 Types de mémoire présents sur les cartes graphiques NVIDIA ..........................................26 I.3.3 Architectures des processeurs graphiques antérieurs à CUDA™........................................28 I.3.4 Première architecture unifiée : le processeur G80 ...............................................................29 I.3.4.1 Présentation................................................................................................................29 I.3.4.2 Le pipeline graphique ................................................................................................31 I.3.4.3 Le pipeline de calcul ..................................................................................................34 I.3.5 Architecture unifiée seconde génération : le processeur GT200 .........................................35 I.3.6 Architecture Fermi™: première mise en œuvre avec le processeur GF100 ........................36 II UTILISATION DE L’ARCHITECTURE CUDA™..................................................................................40 II.1 PRÉSENTATION DE L’ARCHITECTURE CUDA™ ........................................................................40 II.2 DESCRIPTION D’UN PROGRAMME CUDA DE BASE ....................................................................42 II.3 INTÉGRATION D’UN PROGRAMME CUDA DANS UNE FONCTION MEX ......................................45 II.4 APPLICATION DE CUDA™ À LA MULTIPLICATION DE MATRICES ..............................................49 II.4.1 Description de la routine passerelle (mexFunction) .......................................................49 II.4.2 Description du kernel ..........................................................................................................51 II.4.2.1 Appel du kernel..........................................................................................................51 II.4.2.2 Grille et blocs à une dimension..................................................................................54 II.4.2.3 Grille et blocs à deux dimensions ..............................................................................56 II.4.2.4 Opérations exécutées par le kernel au niveau global .................................................62 II.4.2.5 Opérations exécutées par chaque multiprocesseur.....................................................65 II.4.2.6 Ensemble des opérations exécutées par une tâche isolée ...........................................66 II.4.2.7 Facteurs limitatifs du nombre de blocs résidents .......................................................69 II.5 ANALYSE DES RÉSULTATS POUR L’API DU MOTEUR D’EXÉCUTION CUDA...............................71 II.5.1 Présentation des conditions de mesure ................................................................................71 II.5.2 Influence de la taille de bloc et de la limitation du nombre de registres sur la performance75 II.5.3 Utilisation de la mémoire partagée ......................................................................................77 II.5.4 Influence de la taille de bloc et de la limitation du nombre de registres sur le taux d’occupation des ressources...............................................................................................................77 II.5.5 Performances ramenées en GFLOPS ..................................................................................79 II.5.6 Performances de la fonction MEX-CUDA-C comparée aux performances de MATLAB seul 81 II.5.7 Synthèse des résultats obtenus.............................................................................................82 III UTILISATION DE LA BIBLIOTHÈQUE CUBLAS ................................................................................83 III.1 PRÉSENTATION DE LA BIBLIOTHÈQUE CUBLAS .......................................................................83 III.2 DESCRIPTION D’UN PROGRAMME CUBLAS DE BASE ................................................................85. 5.

(7) III.2.1 Déclaration des pointeurs CPU et GPU ..........................................................................85 III.2.2 Initialisation des pointeurs CPU .....................................................................................85 III.2.3 Réservation de mémoire pour les pointeurs GPU...........................................................86 III.2.4 Transfert des données CPU vers GPU ............................................................................87 III.2.5 Calculs sur GPU .............................................................................................................87 III.2.6 Transfert des données GPU vers CPU ............................................................................89 III.2.7 Libération de la mémoire GPU.......................................................................................89 III.2.8 Libération de la mémoire CPU .......................................................................................89 III.3 APPLICATION DE CUBLAS À LA MULTIPLICATION DE MATRICES DANS UNE FONCTION MEX ..90 III.4 ANALYSE DES RÉSULTATS POUR L’API CUBLAS ....................................................................92 III.4.1 Influence de la taille de la grille de tâches sur la performance .......................................92 III.4.2 Influence de la taille de la grille de tâches sur le choix des paramètres par CUBLAS ...97 III.4.2.1 Cas d’une matrice résultat de taille 656*656 : ...........................................................98 III.4.2.2 Cas d’une matrice résultat de taille 640*640 : ..........................................................99 III.4.3 Synthèse des résultats obtenus......................................................................................100 IV UTILISATION DE LA BIBLIOTHÈQUE CUFFT POUR LE TRAITEMENT DU SIGNAL..........................102 IV.1 PRÉSENTATION DE LA BIBLIOTHÈQUE CUFFT ........................................................................102 IV.2 DESCRIPTION D’UN PROGRAMME CUFFT DE BASE .................................................................103 IV.3 APPLICATION DE LA BIBLIOTHÈQUE CUFFT AU TRAITEMENT DU SIGNAL ...............................105 IV.4 ANALYSE DES RÉSULTATS POUR L’API CUFFT......................................................................108 IV.4.1 Calcul du nombre de FLOPS ........................................................................................108 IV.4.1.1 Cas de MATLAB.....................................................................................................108 IV.4.1.2 Cas de l’API CUFFT ...............................................................................................109 IV.4.2 Influence de la taille d’une transformée sur la performance.........................................109 IV.4.3 Influence du nombre de transformées de taille fixe sur la performance .......................111 IV.4.4 Procédure de choix des paramètres par l’API CUFFT..................................................112 V SYNTHÈSE DES RÉSULTATS CUDA, CUBLAS ET CUFFT............................................................114 VI APPLICATION DE CUDA™ À LA MISE EN ŒUVRE D’ALGORITHMES DE TÉLÉCOMMUNICATIONS116 VI.1 PRÉSENTATION .......................................................................................................................116 VI.2 UTILISATION D’UN RADAR PSEUDO ALÉATOIRE ......................................................................116 VI.3 LIEN ENTRE TRANSFORMÉE DE FOURIER ET CORRÉLATION .....................................................117 VI.4 APPLICATION DE CUDA™ AU CALCUL DE LA DISTANCE D’UN OBJET ....................................118 VI.5 EVALUATION DES PERFORMANCES DE CUDA PAR RAPPORT À UN RADAR RÉEL .....................119. Conclusion..................................................................................................................... 121 Glossaire........................................................................................................................ 123 Bibliographie ................................................................................................................. 126 Table des annexes.......................................................................................................... 128 Annexe 1 Comparaison et historique des cartes graphiques ......................................... 129 Annexe 2 Installation de CUDA™ et du pilote CUDA ................................................ 134 Annexe 3 Installation et configuration de Visual Studio 2005 ..................................... 137 Annexe 4 Création et configuration d’un projet CUDA™, CUBLAS ou CUFFT sous Visual Studio 2005 ........................................................................................................ 139 Annexe 5 Outils de développement CUDA .................................................................. 161 Annexe 6 Programme MEX-CUDA-C ......................................................................... 170. 6.

(8) Annexe 7 Programme MEX-CUBLAS-C ..................................................................... 175 Annexe 8 Programme MEX-CUFFT-C......................................................................... 180 Liste des figures ............................................................................................................. 184 Liste des tableaux .......................................................................................................... 186. 7.

(9) Introduction. Depuis une trentaine d'année, portée par l'industrie des jeux vidéos, la restitution à l'écran de données graphiques est une des fonctions informatiques qui a le plus évolué. Pendant longtemps, la restitution graphique de données vidéo et la création de graphismes pour les jeux vidéo ont été mises en œuvre dans les cartes graphiques par ce qu'on appelle un pipeline graphique. Un pipeline graphique est un ensemble d'étapes reliées ensemble de manière fixe. Les résultats d'une étape étaient utilisés comme données d'entrée pour l'étape suivante et à chaque étape était dédié un programme et/ou des ressources fixes. Puis, poussée par une demande en progression constante, l'industrie des cartes graphiques s'est énormément développée afin de satisfaire principalement les joueurs de jeu vidéo en recherche permanente de graphismes proches du réel. Les pipelines des cartes graphiques se sont donc progressivement complexifiés avec de plus en plus d'étapes et sous-étapes mises en œuvre dans les versions de l’API graphique DirectX. Les cartes graphiques ont rapidement atteint des puissances de calcul telles que les scientifiques ont commencé à s'y intéresser non plus pour faire du traitement graphique mais pour exécuter des calculs séparables en plusieurs tâches identiques attribuées à chacun des cœurs du processeur graphique (GPU). C'est ce qu'on a appelé le GPGPU [1] – abbréviation de General-Purpose processing on Graphics Processing Units – c'est à dire du calcul générique sur processeur graphique. Puis fin 2006, environ un an avant son principal concurrent (la société canadienne ATI devenue AMD), la société NVIDIA change complètement – avec son processeur G80 – la manière dont sont mis en œuvre les pipelines dans les cartes graphiques. Désormais, les ressources de calcul fixes sont remplacées par des ressources de calcul réutilisables par chaque étape d’un traitement graphique. C'est ce qu'on appellera l'architecture dite « unifiée ». Désormais, le calcul scientifique est pris en compte à part entière à travers une architecture de calcul (appelée « pipeline de calcul » sur le G80 [2]) dédiée, basée sur les mêmes cœurs que l'architecture graphique. En 2008, NVIDIA introduit une version très améliorée du processeur G80, c'est le processeur GT200. L'architecture des processeurs G80 et GT200 était appelée architecture « Tesla » [3][4]. Comme pour le processeur G80, l’architecture de traitement graphique et l’architecture de calcul du processeur GT200 utilisent les mêmes cœurs pour fonctionner. Puis une architecture totalement nouvelle basée sur les demandes des développeurs fait son apparition en 2010, c'est l'architecture Fermi mise en œuvre dans le processeur GF100. Avec le modèle Fermi, se côtoient une architecture graphique basée sur l'API DirectX 11 et une architecture de calcul. Le processeur graphique présent sur chaque carte graphique est divisé en un certain nombre de processeurs de calcul appelés cœurs, contenant les ressources minimales nécessaires au traitement graphique. Ces cœurs verront leur nombre se multiplier en très peu d'années. Les processeurs NVIDIA les plus puissants comportent actuellement (2011) 512 cœurs ce qui les rend plus rapides que le CPU lui même pour un certain nombre de calculs. L'objet de ce mémoire sera donc d'étudier les capacités de calcul d'une des cartes graphiques NVIDIA dernière génération, la GTX 470, comprenant 8.

(10) .  F°XUV HW EDVpH VXU O DUFKLWHFWXUH )HUPL /H WKqPH GHV FDUWHV JUDSKLTXHV pWDQW WUqV YDVWH QRXV QRXV OLPLWHURQV j O pWXGH GHV FDUWHV 19,',$ ELHQ TXH OHV FDUWHV $0' DQFLHQQHPHQW$7,

(11) SRVVqGHQWGHVFDSDFLWpVGHFDOFXOWRXWjIDLWFRPSDUDEOHVDX[FDUWHV 19,',$ 'qV OHV GpEXWV GH O DUFKLWHFWXUH XQLILpH 19,',$ ILQ  XQ HQYLURQQHPHQW GH SURJUDPPDWLRQHVWGpGLpDX[FDOFXOVVXUFDUWHJUDSKLTXHF HVWO HQYLURQQHPHQW&8'$$ FKDTXH QRXYHOOH DUFKLWHFWXUH *7 HW *)

(12)  GHV ELEOLRWKqTXHV GH IRQFWLRQV QRXYHOOHVDSSDUDLVVHQW 'DQVFHPpPRLUHQRXVpWXGLHURQVGDQVXQSUHPLHUWHPSV • XQH[HPSOHGHSURJUDPPDWLRQ&8'$ • SXLVO¶LQWpJUDWLRQG¶XQSURJUDPPH&8'$GDQVXQHIRQFWLRQ0(; SRXUTXHOD IRQFWLRQ&8'$&SXLVVHFRPPXQLTXHUDYHF0$7/$%

(13)  • HW HQILQ OD PLVH HQ °XYUH GH &8'$ GDQV XQ FDOFXO GH PXOWLSOLFDWLRQ GH PDWULFHV 1RXVpWXGLHURQVpJDOHPHQWODELEOLRWKqTXH&8%/$6GDQVXQSURJUDPPH • VLPSOH • SXLVLQWpJUpjXQHIRQFWLRQ0(; • HWHQILQPLVHHQ°XYUHGDQVXQFDOFXOGHPXOWLSOLFDWLRQGHPDWULFH 1RXVFRPSDUHURQVOHVSHUIRUPDQFHV • GHFKDTXH$3,VHORQOHVYDULDWLRQVGHFHUWDLQVSDUDPqWUHV • SXLVGHV$3,&8'$HW&8%/$6 • HWHQILQGHVGHX[$3,SDUUDSSRUWj0$7/$%XWLOLVpVHXO 3XLVQRXVpWXGLHURQVO¶$3,&8))7 • GDQVXQH[HPSOHVLPSOH • SXLVGDQVXQSURJUDPPHSOXVFRPSOH[HLQWpJUpjXQHIRQFWLRQ0(; 1RXVFRPSDUHURQVOHVSHUIRUPDQFHVGHFHWWH$3, • VHORQOHVYDULDWLRQVGHFHUWDLQVSDUDPqWUHV • SXLVSDUUDSSRUWj0$7/$%XWLOLVpVHXO (QDQQH[HVQRXVYHUURQVpJDOHPHQWXQDSHUoXGHSOXVLHXUVDXWUHVELEOLRWKqTXHV TXL SRXUUDLHQW WUqV ELHQ rWUH PLVHV HQ °XYUH GDQV OH FDGUH GH GpYHORSSHPHQWV GH SURJUDPPHVXWLOLVDQWSDUH[HPSOHODJpQpUDWLRQGHQRPEUHVDOpDWRLUHVRXODPDQLSXODWLRQ GHPDWULFHVFUHXVHV /HV DQQH[HV FRPSUHQQHQW DXVVL XQ EUHI GHVFULSWLI GHV GLYHUVHV DPpOLRUDWLRQV SRVVLEOHV GHV SURJUDPPHV GpYHORSSpV GDQV FH PpPRLUH DLQVL TXH OHV pWDSHV GH FRQILJXUDWLRQGHVGLIIpUHQWVORJLFLHOVXWLOLVpV  . .

(14) . ,. /HVFDUWHVJUDSKLTXHV19,',$. , +LVWRULTXHGHVFDUWHVJUDSKLTXHV19,',$ , /HVSURFHVVHXUVJUDSKLTXHVDQWpULHXUVj&8'$Œ 3RXVVpV SDU O¶LQGXVWULH GHV MHX[ YLGpRV OHV SURFHVVHXUV JUDSKLTXHV VH VRQW UDSLGHPHQW SHUIHFWLRQQpV MXVTX¶j FRQFXUUHQFHU OD SXLVVDQFH GH FDOFXO GHV &38 DFWXHOV &H SHUIHFWLRQQHPHQW D SHUPLV G¶HQYLVDJHU OHXU XWLOLVDWLRQ GDQV GH QRPEUHXVHV DSSOLFDWLRQVSDUDOOqOHVjEXWQRQJUDSKLTXH /HV WHQWDWLYHV G¶H[SORLWHU OHV SURFHVVHXUV JUDSKLTXHV SRXU GHV DSSOLFDWLRQV QRQ JUDSKLTXHV VRQW DSSDUXHV GqV  *UkFH j O¶XWLOLVDWLRQ GH ODQJDJHV GH WUDLWHPHQW JUDSKLTXHGHKDXWQLYHDXWHOVTXH'LUHFW;2SHQ*/HW&JGLYHUVDOJRULWKPHVSDUDOOqOHV RQW pWp WUDQVIpUpV DX SURFHVVHXU JUDSKLTXH /HV SUREOqPHV WHOV TXH OD WDULILFDWLRQ GH VWRFNRSWLRQV OHV UHTXrWHV 64/ RX OD UHFRQVWLWXWLRQ G¶,50 RQW DWWHLQW VXU FDUWH JUDSKLTXH GH UHPDUTXDEOHV DPpOLRUDWLRQV GH SHUIRUPDQFHV /HV SUHPLqUHV WHQWDWLYHV G¶XWLOLVDWLRQ GHV $3, JUDSKLTXHV SRXU GX FDOFXO j SRUWpH JpQpUDOH VRQW FRQQXHV VRXV OH QRP*3*38 *HQHUDO3XUSRVH3URFHVVLQJRQ*UDSKLFV3URFHVVLQJ8QLWV

(15)  %LHQ TXH OH PRGqOH *3*38 DLW RXYHUW OD YRLH j GHV DPpOLRUDWLRQV WUqV LPSRUWDQWHVLOFRPSRUWHQpDQPRLQVSOXVLHXUVLQFRQYpQLHQWV • 3UHPLqUHPHQW LO H[LJH GX SURJUDPPHXU XQH FRQQDLVVDQFH SRLQWXH GHV $3, JUDSKLTXHVHWGHO¶DUFKLWHFWXUH*38 • 'HX[LqPHPHQWOHWUDLWHPHQWJUDSKLTXHpWDLWWUqVGLIILFLOHjGpFRXSHUHQpWDSHV DGDSWpHVDX[UHVVRXUFHVIL[HVDFFURLVVDQWDLQVLFRQVLGpUDEOHPHQWODFRPSOH[LWp • 7URLVLqPHPHQW OHV FDUDFWpULVWLTXHV GH SURJUDPPDWLRQ GH EDVH WHOOHV TXH OHV OHFWXUHVpFULWXUHV DOpDWRLUHV HQ PpPRLUH Q¶pWDLHQW SDV SULV HQ FKDUJH UHVWUHLJQDQW FRQVLGpUDEOHPHQWOHPRGqOHGHSURJUDPPDWLRQ • (WHQILQFHVDUFKLWHFWXUHV*38DQWpULHXUHVj&8'$Œ P VRLW QH SUHQDLW SDV HQ FKDUJH OHV QRPEUHV IORWWDQWV GRXEOH SUpFLVLRQ  ELWV

(16)  P VRLW SUHQDLW HQ FKDUJH GHV QRPEUHV IORWWDQWV GRXEOH SUpFLVLRQ QRQ QRUPDOLVpV &HFL YRXODLW GLUH TXH FHUWDLQHV DSSOLFDWLRQV VFLHQWLILTXHV QH SRXYDLHQW SDV rWUH H[pFXWpHVVXUOHSURFHVVHXUJUDSKLTXH , 3UHPLqUHDUFKLWHFWXUHXQLILpH&8'$O¶DUFKLWHFWXUH* 3RXUDERUGHUFHVSUREOqPHVGHX[WHFKQRORJLHVFOpVRQWpWpLQWURGXLWHV • O¶DUFKLWHFWXUHXQLILpH* • O¶HQYLURQQHPHQW GH SURJUDPPDWLRQ &8'$ XQH DUFKLWHFWXUH ORJLFLHOOH HW PDWpULHOOH TXL SHUPHWWDLW GH SURJUDPPHU OH SURFHVVHXU JUDSKLTXH DYHF GLIIpUHQWV ODQJDJHVGHSURJUDPPDWLRQGHKDXWQLYHDX (QVHPEOHFHVGHX[WHFKQRORJLHVUHSUpVHQWDLHQWXQHQRXYHOOHPDQLqUHG¶XWLOLVHUOH SURFHVVHXU JUDSKLTXH $X OLHX GH SURJUDPPHU GHV XQLWpV JUDSKLTXHV GpGLpHV DYHF GHV $3, JUDSKLTXHV OH SURJUDPPHXU SRXYDLW GpVRUPDLV pFULUH GHV SURJUDPPHV & DYHF H[WHQVLRQV &8'$ HW FLEOHU XQ SURFHVVHXU j IRQFWLRQQHPHQW SDUDOOqOH j SRUWpH JpQpUDOH &HQRXYHDXW\SHGHSURJUDPPDWLRQ*38DpWpGpQRPPpH©*38&RPSXWLQJªFHTXL YRXODLWGLUHXQHSULVHHQFKDUJHpWHQGXHGHVDSSOLFDWLRQVXQHSULVHHQFKDUJHpODUJLHGX ODQJDJH GH SURJUDPPDWLRQ HW XQH FODLUH VpSDUDWLRQ G¶DYHF OHV PRGqOHV GH SURJUDPPDWLRQ*3*38 . .

(17) . /D FDUWH JUDSKLTXH *H)RUFH  D pWp OH SURGXLW TXL D GRQQp QDLVVDQFH DX QRXYHDX PRGqOH GH FDOFXO *38 /DQFpH VXU OH PDUFKp HQ QRYHPEUH  OD *H)RUFH  EDVpH VXU OH SURFHVVHXU JUDSKLTXH * D DSSRUWp SOXVLHXUV LQQRYDWLRQVFOpV DX FDOFXO*38 /H SURFHVVHXU * GH OD *H)RUFH  pWDLW OH SUHPLHU SURFHVVHXU JUDSKLTXH jSUHQGUHHQFKDUJHOHODQJDJH&SHUPHWWDQWDX[SURJUDPPHXUVG¶XWLOLVHUODSXLVVDQFHGX SURFHVVHXUJUDSKLTXHVDQVGHYRLUDSSUHQGUHXQQRXYHDXODQJDJHGHSURJUDPPDWLRQ /H*DSHUPLVGHODQFHU • OH PRGqOH G¶H[pFXWLRQ PXOWLWkFKHV j LQVWUXFWLRQ XQLTXH RX 6,07 VLQJOH LQVWUXFWLRQ PXOWLSOHWKUHDG

(18)  'DQV OH PRGqOH 6,07 GH QRPEUHXVHV WkFKHV LQGpSHQGDQWHV H[pFXWHQW VLPXOWDQpPHQW XQH LQVWUXFWLRQ XQLTXH /HV LQVWUXFWLRQV 6,07 RQW OD FDSDFLWp GH VSpFLILHU O¶H[pFXWLRQ G¶XQH WkFKH XQLTXH FDU FKDTXH WkFKH SRVVqGHVRQSURSUHFRPSWHXUG¶DGUHVVHG¶LQVWUXFWLRQ&HSHQGDQWLOQ¶HVWSDVXWLOHGH FRQQDvWUHO¶DUFKLWHFWXUH6,07VRXV&8'$FDUODSOXSDUWGXWHPSVODSHUIRUPDQFHOD PHLOOHXUHV¶REWLHQWORUVTXHGHQRPEUHXVHVWkFKHVH[pFXWHQWODPrPHLQVWUXFWLRQ • ODQRWLRQGHPpPRLUHSDUWDJpHHWGHV\QFKURQLVDWLRQGHWkFKHV &HSHQGDQWODYLUJXOHIORWWDQWHGRXEOHSUpFLVLRQQ¶pWDLWSDVSULVHHQFKDUJHVXUFHV SURFHVVHXUV.  )LJXUH&RPSDUDLVRQGXQRPEUHGH*)/23VGHSOXVLHXUVJpQpUDWLRQVGH&38HWGHFDUWHVJUDSKLTXHV>@. 6XUOD)LJXUHRQSHXWFRPSDUHUO¶pYROXWLRQGXQRPEUHGH*)/236WKpRULTXHV • GHV FDUWHV JUDSKLTXHV 19,',$ SUHQDQW HQ FKDUJH O¶XWLOLVDWLRQ GH QRPEUHV IORWWDQWV P GRXEOHSUpFLVLRQ P VLPSOHSUpFLVLRQ •. GHV&38SUHQDQWHQFKDUJHO¶XWLOLVDWLRQGHQRPEUHVIORWWDQWV P GRXEOHSUpFLVLRQ P VLPSOHSUpFLVLRQ. .

(19) . /D JpQpUDWLRQ GH FDUWHV JUDSKLTXHV 19,',$ FRQWHQDQW XQ SURFHVVHXU GRQW O¶DUFKLWHFWXUHHVW • DQWpULHXUHjODWHFKQRORJLH&8'$HVWUHSUpVHQWpHSDUOHVFDUWHV); 8OWUDHW*7; • GXPrPHW\SHTXHFHOOHGX*HVWUHSUpVHQWpHSDUODFDUWH*7; • *7HVWUHSUpVHQWpHSDUODFDUWH*7; • *)HVWUHSUpVHQWpHSDUODFDUWH*7; , 'HX[LqPHDUFKLWHFWXUHXQLILpH&8'$O¶DUFKLWHFWXUH*7 (Q MXLQ  19,',$ D ODQFp XQH UpYLVLRQ PDMHXUH GH O¶DUFKLWHFWXUH * /¶DUFKLWHFWXUH XQLILpH GH VHFRQGH JpQpUDWLRQ ± OD *7 ODQFpH SRXU OD SUHPLqUH IRLV GDQVOHVSURFHVVHXUVJUDSKLTXHVGHVFDUWHV*H)RUFH*7;4XDGUR);HW7HVOD 7

(20)  ± D DXJPHQWp OH QRPEUH GH F°XUV GH WUDLWHPHQW PHQWLRQQpV SDU OD VXLWH VRXV OH QRPGHF°XUV&8'$

(21) GHj /HQRPEUHGHUHJLVWUHV XWLOLVpVSRXUVWRFNHUOHVYDULDEOHV

(22) SDUPXOWLSURFHVVHXUD GRXEOpSHUPHWWDQWG¶H[pFXWHUXQQRPEUHSOXVLPSRUWDQWGHWkFKHVVXUSXFHjQ¶LPSRUWH TXHOPRPHQW /HUHJURXSHPHQWGHVDFFqVjODPpPRLUHPDWpULHOOH FRDOHVFLQJ

(23) DpWpDMRXWpSRXU DPpOLRUHUO¶HIILFDFLWpGHO¶DFFqVPpPRLUH/DPpPRLUHJOREDOH>@UpVLGHVXUODPpPRLUH GX SpULSKpULTXH HW RQ DFFqGH j OD PpPRLUH GX SpULSKpULTXH SDU GHV WUDQVIHUWV PpPRLUH G¶XQH GH WDLOOH GH   RX  RFWHWV /RUVTX¶XQ HQVHPEOH GH WkFKHV H[pFXWH XQH LQVWUXFWLRQ TXL QpFHVVLWH G¶DFFpGHU j OD PpPRLUH OHV DFFqV PpPRLUH GH FKDTXH WkFKH

(24)  VRQWUHJURXSpVHQXQRXSOXVLHXUVWUDQVIHUWVPpPRLUHVHORQ • ODWDLOOHGHVPRWVDFFpGpVSDUFKDTXHWkFKH • ODUpSDUWLWLRQGHVDGUHVVHVPpPRLUHDFFpGpHVSDUFKDTXHWkFKH 3RXU DFFpOpUHU OHV DFFqV j OD PpPRLUH LO HVW GRQF SUpIpUDEOH GH UHJURXSHU FRDOHVFLQJ

(25) OHVGRQQpHVG¶XQHQVHPEOHGHWkFKHVGDQVGHVHPSODFHPHQWVPpPRLUHGRQW OHVDGUHVVHVVHVXLYHQW /DSULVHHQFKDUJHGHODYLUJXOHIORWWDQWHGRXEOHSUpFLVLRQDpJDOHPHQWpWpDMRXWpH SRXUUpSRQGUHDX[EHVRLQVGHVDSSOLFDWLRQVGHFDOFXOKDXWHSHUIRUPDQFHRX+3& KLJK SHUIRUPDQFHFRPSXWLQJ

(26) RXGHVDSSOLFDWLRQVVFLHQWLILTXHV , /¶DUFKLWHFWXUH)HUPL /¶DUFKLWHFWXUH )HUPL UHSUpVHQWH HQ 

(27)  OH ERQG HQ DYDQW OH SOXV VLJQLILFDWLI GDQVO¶DUFKLWHFWXUH*38GHSXLVOHSURFHVVHXU**UHSUpVHQWDLWODYLVLRQLQLWLDOHGH 19,',$ GH OD PDQLqUH GRQW GHYDLW IRQFWLRQQHU XQ SURFHVVHXU SDUDOOqOH XQLILp GH WUDLWHPHQW JUDSKLTXH HW GH FDOFXO /H SURFHVVHXU *7 D pWHQGX OD SHUIRUPDQFH HW OD IRQFWLRQQDOLWp GX * $YHF )HUPL WRXW FH TXL D pWp DSSULV GHV GHX[ SURFHVVHXUV DQWpULHXUV HW GHV DSSOLFDWLRQV pFULWHV SRXU HX[ D pWp XWLOLVp $X PRPHQW GH SRVHU OHV IRQGDWLRQVGH)HUPLXQHJUDQGHTXDQWLWpGHUHPDUTXHVG¶XWLOLVDWHXUVVXU OHFDOFXO*38 GHSXLVOHODQFHPHQWGHVSURFHVVHXUV*HW*7DpWpUDVVHPEOpH 2XWUH OH SDVVDJH GH  j  F°XUV GH WUDLWHPHQW OHV DPpOLRUDWLRQV VH VRQW FRQFHQWUpHVVXUOHVSRLQWVFOpVVXLYDQWV • 3ULVHHQFKDUJHGHVQRPEUHVIORWWDQWVGRXEOHSUpFLVLRQ ELWV

(28)  • 3ULVHHQFKDUJHGHFRGHFRUUHFWHXUG¶HUUHXURX(&& (UURU&RUUHFWLQJ&RGH

(29)  /¶(&& SHUPHW DX[ XWLOLVDWHXUV GH FDOFXOV *38 GH GpSOR\HU HQ WRXWH VpFXULWp GH JUDQGHV TXDQWLWpV GH SURFHVVHXUV JUDSKLTXHV GDQV OHV LQVWDOODWLRQV GH FHQWUHV GH GRQQpHV HW DXVVL GH V¶DVVXUHU TXH OHV DSSOLFDWLRQV GRQW OHV GRQQpHV VRQW VHQVLEOHV .

(30) . FRPPH O¶LPDJHULH PpGLFDOH HW OD WDULILFDWLRQ G¶RSWLRQV ILQDQFLqUHV VRLHQW SURWpJpHV FRQWUHOHVHUUHXUVGHPpPRLUH • 8QH YUDLH KLpUDUFKLH GDQV OD PpPRLUH FDFKH ± &HUWDLQV DOJRULWKPHV SDUDOOqOHV pWDLHQWLQFDSDEOHVG¶XWLOLVHUODPpPRLUHSDUWDJpHGXSURFHVVHXUJUDSKLTXHHWFHUWDLQV XWLOLVDWHXUVUpFODPDLHQWXQHYUDLHDUFKLWHFWXUHGHPpPRLUHFDFKHSRXUOHVDLGHU • 'DYDQWDJH GH PpPRLUH SDUWDJpH ± GH QRPEUHX[ SURJUDPPHXUV &8'$ UpFODPDLHQWSOXVGHNRGHPpPRLUHSDUWDJpHSRXUDFFpOpUHUOHXUVDSSOLFDWLRQV 'DQV OH 7DEOHDX  RQ FRPSDUH SOXVLHXUV FDUDFWpULVWLTXHV GHV SULQFLSDOHV FDUWHV JUDSKLTXHV HQ

(31) SUHQDQWHQFKDUJHO¶HQYLURQQHPHQW&8'$ 7DEOHDX&DUWHVJUDSKLTXHV19,',$SUHQDQWHQFKDUJH&8'$Œ. $3, JUDSKLTXH. 6pULHHW DQQpHGH ODQFHPHQW.  

(32) . 'LUHFW' .  

(33)   -DQ

(34) . *38. &RPSXWH &DSDELOLW\ YHUVLRQV GH*38

(35) . &DUWH. *. . *H)RUFH *7;8OWUD*76 7HVOD&'6);0. . *H)RUFH *6*7 *7*76 *7*76 *7*62 *7*7;*; *76  *7 * 7HVOD

(36)   );    [ [[0 0 0 0 196. * * * * *DE *DE *DE * *DE.   

(37) .   

(38) . *7D E. . *7 *7 *7. . 'LUHFW'   

(39) . *H)RUFH *7;  *7;  *7;  *7;  *7;  7HVOD &0 6 4XDGUR &;); *7 7HVOD

(40)  *H)RUFH  *7  ); /3 0 0 196 0. . *H)RUFH *)

(41) *7;*7;  *7;  7HVOD & &604XDGUR3OH[ . *) *) *) *) *) *) *). . *H)RUFH *7  *7  *7  *76  *7;  *7;  7L *7;  7L 0 *) 4XDGUR     )HUPL

(42)  . *). . *)  $YU

(43) . 7\SH G¶DUFKLWHFWXUH GH*38. *). *H)RUFH *)

(44)  *7;*7; *H)RUFH*7. . . . *7;.

(45) . , &RQVWLWXWLRQG¶XQHFDUWHJUDSKLTXH , 3UpVHQWDWLRQJpQpUDOHG¶XQHFDUWHJUDSKLTXH /D FDUWH JUDSKLTXH HVW O XQ GHV UDUHV SpULSKpULTXHV UHFRQQXV SDU OH 3& GqV O LQLWLDOLVDWLRQGHODPDFKLQH 6DIRQFWLRQJpQpUDOHHVWGHFRQYHUWLUGHVGRQQpHVQXPpULTXHVEUXWHVHQGRQQpHV SRXYDQWrWUHDIILFKpHVVXUXQSpULSKpULTXHGHVWLQpjFHWXVDJH pFUDQYLGpRSURMHFWHXU HWF

(46)  &HSHQGDQW VD IRQFWLRQ OD SOXV FRXUDQWH HVW G¶HQYR\HU j O¶pFUDQ GHV LPDJHV VWRFNpHVGDQVVDPpPRLUHjXQHIUpTXHQFHHWGDQVXQIRUPDWTXLGpSHQGHQWG¶XQHSDUWGH O¶pFUDQ XWLOLVp HW GX SRUW VXU OHTXHO LO HVW EUDQFKp HW G¶DXWUH SDUW GH VD FRQILJXUDWLRQ LQWHUQH /D SOXSDUW GHV FDUWHV JUDSKLTXHV RIIUHQW pJDOHPHQW FHUWDLQHV IRQFWLRQV VXSSOpPHQWDLUHV WHOOHV TXH O¶DFFpOpUDWLRQ GH O¶DIILFKDJH GH VFqQHV ' HW GH JUDSKLTXHV ' OD FDSWXUH YLGpR O¶DGDSWDWLRQ G¶XQ WXQHU 79 OH GpFRGDJH 03(*03(* O¶LQWHUIDFH)LUHZLUHOHFUD\RQRSWLTXHODVRUWLHWpOpYLVLRQRXODSRVVLELOLWpGHFRQQHFWHU SOXVLHXUV PRQLWHXUV '¶DXWUHV FDUWHV JUDSKLTXHV PRGHUQHV KDXWHV SHUIRUPDQFHV VRQW XWLOLVpHVjGHVILQVSOXVH[LJHDQWHVJUDSKLTXHPHQWWHOOHVTXHOHVMHX[YLGpR /HU{OHGHODFDUWHJUDSKLTXHQHVHOLPLWHFHSHQGDQWSDVjFHVIRQFWLRQVSXLVTX HOOH GpFKDUJHGHSOXVHQSOXVOHSURFHVVHXUFHQWUDOGHVFDOFXOVFRPSOH[HV' , )RQFWLRQQHPHQWJpQpUDOG¶XQHFDUWHJUDSKLTXH 'DQV XQ VRXFL GH FRQFLVLRQ QRXV QRXV OLPLWHURQV DX IRQFWLRQQHPHQW GHV FDUWHV OHVSOXVUpFHQWHV /RUVTXHTX¶XQHLQVWUXFWLRQG¶DIILFKDJHTXLWWHOH&38SRXUDOOHUDXPRQLWHXUHOOH SDVVH YRLU)LJXUH

(47)  • SDUOHEXVGHODFDUWHPqUHSRXUDOOHUGDQVOHSURFHVVHXUJUDSKLTXHYLDXQEXV VpULH 'DQVODFRQILJXUDWLRQTXHQRXVXWLOLVHURQVOHEXVXWLOLVpVHUDOHEXVVpULH3&,([SUHVV 3&,([SUHVV[*HQSRXUODFDUWH*7;

(48) FDGHQFpSDUXQHKRUORJHj*+] SRXUXQGpELWGH0RVSDUYRLHGRQF*RVSRXUXQFRQQHFWHXUjYRLHV • GXSURFHVVHXUJUDSKLTXHYHUVODPpPRLUHYLGpRDILQGHFUpHUXQHLPDJHGH O pFUDQjFHWHQGURLW GRQQpHVVRXVIRUPHQXPpULTXH

(49)  (QVXLWHVLRQXWLOLVH • XQPRQLWHXUDQDORJLTXH P O¶LPDJHYLGpRQXPpULTXHHVWWUDQVPLVHGHODPpPRLUHYLGpRYHUVOH &RQYHUWLVVHXU1XPpULTXH$QDORJLTXH 5$0'$&

(50) SRXUODFRQYHUWLUVRXV IRUPHDQDORJLTXH P ODYLGpRVRXVIRUPHDQDORJLTXHHVWHQVXLWHWUDQVPLVHGX5$0'$&YHUVOH PRQLWHXUYLDXQFRQQHFWHXU'9,$'9,,RX9*$ • XQPRQLWHXUQXPpULTXHOHVLJQDOQXPpULTXHHVWWUDQVPLVGHODPpPRLUHYLGpR YHUVOHPRQLWHXUYLDXQFRQQHFWHXU'9,,RX'9,' /H FRQQHFWHXU '9,, '9,,QWHJUDWHG

(51)  SHUPHW GH WUDQVPHWWUH XQ VLJQDO DQDORJLTXHRXQXPpULTXH 'DQV OD FRQILJXUDWLRQ TXH QRXV XWLOLVHURQV XQ PRQLWHXU QXPpULTXH HVW EUDQFKp VXUXQGHVGHX[FRQQHFWHXUV'9,,SUpVHQWVVXUODFDUWH*7; . . .

(52) .   3&  &DUWHPqUH. &38 3&,([SUHVV[. &DUWHJUDSKLTXH 3URFHVVHXUJUDSKLTXH *38

(53) 0pPRLUH9LGpR 6LJQDOQXPpULTXH 6LJQDO QXPpULTXH. 5$0'$& 6LJQDODQDORJLTXH. &RQQHFWHXU'9,,. 0RQLWHXUQXPpULTXH. 0RQLWHXUDQDORJLTXH . )LJXUH(WDSHVGHFUpDWLRQHWRXGHWUDLWHPHQWG¶XQHLPDJHDYDQWDIILFKDJH. , &RPSRVDQWVG¶XQHFDUWHJUDSKLTXH 8QHFDUWHJUDSKLTXHHVWFRPSRVpHGHTXDWUHpOpPHQWVSULQFLSDX[LPSRUWDQWVSRXU OHWUDLWHPHQWGHO¶LPDJHjDIILFKHU • OHSURFHVVHXUJUDSKLTXH • ODPpPRLUHYLGpR • OH%,26YLGpR • OH5$0'$& (OOHHVWFRPSRVpHpJDOHPHQWGHSOXVLHXUVpOpPHQWVDGGLWLRQQHOV • ODFRQQH[LRQDYHFODFDUWHPqUH • OHVHQWUpHVVRUWLHVYLGpRV • OHV\VWqPHGHUHIURLGLVVHPHQWGXSURFHVVHXU /HSURFHVVHXUJUDSKLTXH /DIRQFWLRQGXSURFHVVHXUJUDSKLTXHRX*38 *UDSKLFDO3URFHVVLQJ8QLW

(54) HVWGH OLEpUHUOHPLFURSURFHVVHXUGHODFDUWHPqUHHQSUHQDQWHQFKDUJHOHVFDOFXOVVSpFLILTXHVj O¶DIILFKDJHHWjODFRRUGLQDWLRQGHVJUDSKLVPHV' /H SURFHVVHXU HVW FRQoX HQ SDUWLFXOLHU SRXU UpDOLVHU GHV FDOFXOV HQ YLUJXOH IORWWDQWH TXL VRQW IRQGDPHQWDX[ SRXU O¶DIILFKDJH G¶LPDJHV ' RX ' /HV SULQFLSDOHV FDUDFWpULVWLTXHVGX*38VRQWVDIUpTXHQFHG¶KRUORJHGHF°XUTXLV¶pWHQGW\SLTXHPHQWGH 0+]j*+]HWOHQRPEUHGHSLSHOLQHVTXLWUDQVIRUPHQWXQHLPDJH'FDUDFWpULVpH SDUGHVVRPPHWV RXYHUWH[

(55) HWGHVOLJQHVHQXQHLPDJH'IRUPpHGHSL[HOV. .

(56) Sur la Figure 3, on peut voir la photo d’un des processeurs graphiques précédant CUDA™.. Figure 3 : Le processeur graphique NV43 d’une GeForce 6600 GT. Les processeurs graphiques modernes ont un fonctionnement massivement parallèle, et sont entièrement programmables. Leur puissance de calcul est sans commune mesure avec celle des CPU. En conséquence, ils concurrencent les CPU pour les calculs haute performance. La mémoire vidéo La mémoire vidéo conserve les données numériques qui doivent être converties en images par le processeur graphique et les images traitées par le processeur graphique avant leur affichage. Toutes les cartes graphiques supportent deux méthodes d’accès à leur mémoire. L’une est utilisée pour recevoir des informations en provenance du reste du système, l’autre est sollicitée pour l’affichage à l’écran. La première méthode est un accès direct conventionnel (RAM) comme pour les mémoires centrales, la deuxième méthode est généralement un accès séquentiel à la zone de mémoire contenant l’information à afficher à l’écran. La capacité mémoire de la plupart des cartes graphiques en 2011 s’étend de 128Mo à 4 Go. La mémoire vidéo est basée surtout sur de la mémoire DRAM de type DDR, DDR2, GDDR3, GDDR4 et GDDR5. Tableau 2 : Fréquence d’horloge et bande passante selon les types de mémoire. Type DDR DDR2 GDDR3 GDDR4 GDDR5. Fréquence d’horloge mémoire (MHz) 166 - 950 533 - 1000 700 - 2400 2000 - 3600 900 - 5600. Bande passante (GB/s) 1.2 - 30.4 8.5 - 16 5.6 - 156.6 128 - 200 130 - 230. Le BIOS vidéo Le BIOS vidéo est à la carte graphique ce que le BIOS est à la carte mère. C’est un petit programme de base enregistré dans une mémoire ROM et qui contient certaines informations sur la carte graphique et dont une des fonctions est de démarrer la carte graphique. Le BIOS vidéo peut contenir des informations sur le cadencement de la 16.

(57) . PpPRLUH VXU OHV YLWHVVHV G¶RSpUDWLRQ HW OHV WHQVLRQV GX SURFHVVHXU JUDSKLTXH VXU OD 5$0HWG¶DXWUHVLQIRUPDWLRQV/H%,26YLGpRJqUHOHVRSpUDWLRQVGHODFDUWHJUDSKLTXH HW IRXUQLW OHV LQVWUXFWLRQV TXL SHUPHWWHQW j O¶RUGLQDWHXU HW DX ORJLFLHO G¶LQWHUDJLU DYHF OD FDUWH /H5$0'$& /H 5$0'$& 5DQGRP $FFHVV 0HPRU\ 'LJLWDOWR$QDORJ &RQYHUWHU

(58)  FRQYHUWLW OHV LPDJHV QXPpULTXHV VWRFNpHV GDQV OD PpPRLUH YLGpR IUDPH EXIIHU

(59)  GH OD PpPRLUH YLGpRHQVLJQDX[DQDORJLTXHVjHQYR\HUjXQPRQLWHXUXWLOLVDQWGHVHQWUpHVDQDORJLTXHV WHOTX¶XQPRQLWHXUjWXEHFDWKRGLTXH/DIUpTXHQFHGX5$0'$&GpWHUPLQHOHVWDX[GH UDIUDvFKLVVHPHQW QRPEUH G¶LPDJHV SDU VHFRQGH HQ +]

(60)  TXH OD FDUWH JUDSKLTXH SHXW SUHQGUHHQFKDUJH %LHQTXHOH5$0'$&VRLWHQFRUHSUpVHQWGDQVOHVFDUWHVJUDSKLTXHVDFWXHOOHVLO HVWGHPRLQVHQPRLQVXWLOLVpOHVPRQLWHXUVDFWXHOVpWDQWQXPpULTXHSRXUODSOXSDUW/H 5$0'$&QHUHVWHHQFRUHXWLOLVpTX¶DYHFXQPRQLWHXUDQDORJLTXHHWXQHLQWHUIDFH'9, $RX'9,, /DFRQQH[LRQDYHFODFDUWHPqUH /D FRQQH[LRQ GH OD FDUWH JUDSKLTXH DYHF OD FDUWH PqUH VH IDLW j O¶DLGH G¶XQ SRUW JUHIIp VXU XQ EXV PDLV GDQV EHDXFRXS GH GRFXPHQWDWLRQV WHFKQLTXHV RQ SDUOH SOXV VRXYHQWGHEXVTXHGHSRUWSRXUSDUOHUGHODFRQQH[LRQDYHFODFDUWHPqUH $XFRXUVGHVDQQpHVSOXVLHXUVWHFKQRORJLHVVHVRQWVXFFpGpHVSRXUVDWLVIDLUHOHV EHVRLQV GH YLWHVVH GH WUDQVIHUW VDQV FHVVH FURLVVDQWV GHV FDUWHV JUDSKLTXHV 2Q SHXW OHV GLYLVHUHQGHX[FDWpJRULHVSULQFLSDOHV • /HV EXV XWLOLVpV GDQV OH SDVVp PDLV DFWXHOOHPHQW REVROqWHV 6 ,6$ 1X%XV0&$(,6$9/%3&,83$$*33&,; • /HVEXVFRXUDPPHQWXWLOLVpVDFWXHOOHPHQW P 3&,([SUHVV 3&,H

(61) F¶HVWXQHLQWHUIDFHSRLQWjSRLQWVRUWLHHQjQH SDV FRQIRQGUH DYHF 3&,; DPpOLRUDWLRQ GHV VSpFLILFDWLRQV GX EXV 3&,

(62)  /HGpELWGHGRQQpHVSHXWDOOHUMXVTX¶j P YHUVLRQ0RVSRXUXQHIUpTXHQFHGH*+] P YHUVLRQ0RVSRXUXQHIUpTXHQFHGH*+] /H3&,([SUHVVUHPSODFHWRXVOHVFRQQHFWHXUVG¶H[WHQVLRQG¶XQ3&GRQW OH 3&, HW O¶$*3 HW HVW HQFRUH 

(63)  WUqV FRXUDPPHQW XWLOLVp GDQV OD SOXSDUWGHVFDUWHVJUDSKLTXHV2QSDUOHGHSRUWV3&,Hîîîîî HWîSRXUGLIIpUHQFLHUOHVSRUWVHQIRQFWLRQGXQRPEUHGHFRQQHFWHXUVGH OLJQH GRQW LOV GLVSRVHQW UHVSHFWLYHPHQW      RX  OLJQHV PD[LPXP

(64) 8QSRUWîYHUVLRQSHUPHWG DWWHLQGUHHQWKpRULHXQGpELW GH*RVVRLWIRLVOHGpELWGHVSRUWV$*3. P 86% FHUWDLQHV FDUWHV JUDSKLTXHV H[WHUQHV SURILWHQW GX KDXW GpELW  0RV

(65)  TX¶RIIUH OH EXV 86% GDQV VD YHUVLRQ  PDLV HOOHV Q¶DUULYHURQW j SOHLQHPDWXULWpTX¶DYHFO¶86%YHUVLRQ 0RV

(66) SHUPHWWDQWG¶DIILFKHU XQ QRPEUH G¶LPDJHV SDU VHFRQGH VXIILVDQW SRXU SHUPHWWUH O¶DIILFKDJH GH YLGpRVHQPRGHSOHLQpFUDQ /DQRUPH86%DXQGpELWGH P YHUVLRQHW0ELWVV P YHUVLRQ0ELWVV 0RV

(67)  P YHUVLRQ*ELWVV 0RV

(68)  /HVLQWHUIDFHVYLGpR .

(69) . ,OH[LVWHGHX[W\SHVG¶LQWHUIDFH • /HV LQWHUIDFHV DQDORJLTXHV &HV LQWHUIDFHV pWDQW REVROqWHV RX HQ YRLH G¶REVROHVFHQFH QRXV QH OHV GpWDLOOHURQV SDV /HV WURLV SULQFLSDOHV LQWHUIDFHV DQDORJLTXHVD\DQWpWpXWLOLVpVVRQW P /¶LQWHUIDFH9*$ P /¶LQWHUIDFHYLGpRFRPSRVLWH FRGDJHVYLGpR176&6(&$0HW3$/

(70)  P /¶LQWHUIDFH6YLGpR • /HVLQWHUIDFHVQXPpULTXHV P /¶LQWHUIDFH'9, / LQWHUIDFH '9, 'LJLWDO 9LGHR ,QWHUIDFH

(71)  SHUPHW G HQYR\HU DX[ pFUDQV OH VXSSRUWDQW GHV GRQQpHV QXPpULTXHV &HFL SHUPHW G pYLWHU GHV FRQYHUVLRQV QXPpULTXHDQDORJLTXH SXLV DQDORJLTXH QXPpULTXHV LQXWLOHV 'H SOXV OD OLDLVRQ '9, DPpOLRUH VHQVLEOHPHQW OD TXDOLWp GH O¶DIILFKDJH SDU UDSSRUW j OD FRQQH[LRQ9*$ ,OH[LVWHWURLVW\SHVGHSULVHV ƒ OH'9,$ '9,$QDORJ

(72) TXLWUDQVPHWXQLTXHPHQWOHVLJQDO DQDORJLTXH ƒ OH'9,' '9,'LJLWDO

(73) TXLWUDQVPHWXQLTXHPHQWOHVLJQDO QXPpULTXH ƒ OH'9,, '9,,QWHJUDWHG

(74) TXLWUDQVPHW VXUGHVEURFKHVVpSDUpHV

(75) VRLW OHVLJQDOQXPpULTXHGX'9,'VRLWOHVLJQDODQDORJLTXHGX'9,$ 6XUOD)LJXUHRQSHXWYRLUOHVGLIIpUHQWVW\SHVGHOLDLVRQ'9,H[LVWDQWV.  )LJXUH7\SHVGHFRQQHFWHXUV'9,. /¶LQWHUIDFH'9,H[LVWHHQPRGHVLPSOH ©VLQJOHª

(76) RXGRXEOH ©GXDOª

(77) 'DQV OH FDV GHV V\VWqPHV GH OLDLVRQ GRXEOH GHV EURFKHV VXSSOpPHQWDLUHV VRQW IRXUQLHVSRXUODGHX[LqPHVpULHGHVLJQDX[GHGRQQpHV 2QFKRLVLWOHPRGHGHOLDLVRQ VLPSOHRXGRXEOH

(78) GHODPDQLqUHVXLYDQWH ƒ /HVPRQLWHXUVXWLOLVDQWXQHKRUORJHLQIpULHXUHj0+]HWPRLQVGH ELWVSDUSL[HOGRLYHQWXWLOLVHUOHPRGHGHOLDLVRQVLPSOH ƒ /HVPRQLWHXUVXWLOLVDQWXQHIUpTXHQFHG¶KRUORJHGH0+]HWRX SOXVGHELWVSDUSL[HOGRLYHQWXWLOLVHUOHPRGHGHOLDLVRQGRXEOH .

(79) La liaison double (« dual link ») ne doit pas être confondue avec l’affichage dual (dual display également appelé dual head), qui décrit les situations pour lesquelles un ordinateur utilise deux moniteurs à la fois pour l’affichage des données.. o L’interface HDMI Cette interface sortie en 2003 permet de relier la carte à un écran haute définition en transmettant également la partie audio. Ces signaux sont transmis numériquement et peuvent être cryptés (protection du contenu contre la copie). Elle permet d'interconnecter une source audio/vidéo - tel qu'un lecteur HD DVD ou Blu-ray, un ordinateur, une console de jeu ou un téléviseur HD. Cette interface se base sur l'interface DVI qu'elle étend et supporte aussi bien la vidéo standard que la haute définition. Il existe trois types de connecteurs HDMI : Type A : le plus courant ; il se compose de 19 broches. Type B : équivalent du Dual-link DVI mais qui est en partie rendu obsolète par la version 1.3 du HDMI - qui double la bande passante sur un câble de type A. Type C : apparu avec la norme 1.3 du HDMI, le type C est une version compacte du type A (avec donc 19 broches) spécialement dédié aux appareils portables tels que caméscopes et appareils photos numériques. Type D : ce type de connecteur est défini par la norme HDMI 1.4. Il garde les 19 broches des types A et C mais réduit la taille du connecteur jusqu’à une taille proche de celle d’un connecteur microUSB. Type E : ce type de connecteur est un système de connection utilisé en aéronautique et défini par la norme HDMI 1.4. o L’interface DisplayPort Cette interface est une interface numérique pour écran mise en place par le consortium VESA (Video Electronics Standards Association). Il définit une nouvelle interconnexion numérique audio/vidéo, sans droit ni licence. Celle-ci est d’abord conçue pour relier un PC et ses moniteurs, ou un PC et un système de home cinema.. 19.

(80) I.3 Architecture interne d’une carte graphique NVIDIA I.3.1. Présentation. Pour comprendre le fonctionnement parallèle d’une carte graphique, on doit d’abord en connaître la constitution interne et en particulier la répartition de ses différents types de mémoire. Les cartes graphiques CUDA utilisent plusieurs espaces mémoire, dont les caractéristiques reflètent leurs utilisations. Ces espaces mémoire [6] peuvent être de type global, local, partagé, texture et registres comme il est montré sur la Figure 5. La Figure 5 montre l’architecture interne générale d’une carte graphique.. Carte graphique. GPU. DRAM Vers l’hôte. Multiprocesseur. Multiprocesseur. Mémoire locale. Multiprocesseur Registres Mémoire partagée. Mémoire globale Mémoire de constantes. Buffer de constantes et de textures. Mémoire de texture. Figure 5 : Répartition des zones mémoire d’une carte graphique. Comme il est montré sur la Figure 5, la mémoire d’une carte graphique se répartit entre la mémoire DRAM et le processeur graphique (GPU). Parmi ces différents espaces mémoire, les mémoires de type globale et texture sont les plus étendues. Les mémoires de type global, local, et texture ont les temps d’accès les plus importants. Les mémoires de constantes, de registres et la mémoire partagée ont les temps d’accès les plus rapides. La mémoire de constante est plus lente d’accès que la mémoire de registre qui elle-même est plus lente que la mémoire partagée. La mémoire partagée est donc la mémoire la plus rapide d’accès. Dans le cadre de la programmation CUDA, les parties de la carte graphique les plus importantes à connaître sont le processeur graphique (GPU) et la mémoire DRAM (extérieure au processeur graphique). Pour bien comprendre l’utilité des différentes zones mémoire, on doit d’abord comprendre la structure d’un processeur graphique, ainsi que la manière dont il gère les calculs à exécuter. Un processeur graphique est divisé en un nombre variable de multiprocesseurs ou SM (Streaming Multiprocessor) eux-mêmes divisés en un nombre variable de cœurs de traitement également appelés processeurs de flux, ou SP (Streaming Processor). Un multiprocesseur est conçu pour exécuter des centaines de tâches identiques en même. 20.

(81) . WHPSV /¶H[pFXWLRQG¶XQSURJUDPPH&8'$VXU FDUWH JUDSKLTXHQ¶HVWGRQFYDODEOHTXH GDQVOHVFDVRXQHLQVWUXFWLRQSHXWVHGLYLVHUHQGHQRPEUHXVHVWkFKHVLGHQWLTXHV3RXU JpUHU XQH WHOOH TXDQWLWp GH WkFKHV XQ PXOWLSURFHVVHXU 60

(82)  HPSORLH XQH DUFKLWHFWXUH j LQVWUXFWLRQXQLTXHHWWkFKHVPXOWLSOHVRX6,07 6LQJOH,QVWUXFWLRQ0XOWLSOH7KUHDGV

(83)  /HODQJDJH&8'$&pWHQGOH&HQSHUPHWWDQWDXSURJUDPPHXUGHGpILQLUXQHIRQFWLRQ & DSSHOpH NHUQHO TXL ORUVTX¶HOOH HVW DSSHOpH HVW H[pFXWpH 1 IRLV HQ SDUDOOqOH SDU 1 WkFKHVLGHQWLTXHVVXU1F°XUVGHWUDLWHPHQWGLVWLQFWV/¶HQVHPEOHGHWRXWHVOHVWkFKHVj H[pFXWHUFRQVWLWXHFHTX¶RQDSSHOOHXQHJULOOHGHWkFKHV/DJULOOHGHWkFKHVHVWHOOHPrPH GLYLVpHHQSOXVLHXUVEORFVGHWkFKHV/HQRPEUHGHEORFVSDUJULOOHHWOHQRPEUHGHWkFKHV SDUEORFVVRQWFRQILJXUDEOHVSDUOHSURJUDPPHXUGDQVXQSURJUDPPH&8'$PDLVSRXU FH IDLUH XQH FRQGLWLRQ GRLW rWUH UHVSHFWpH OD WDLOOH GH JULOOH H[SULPpH HQ QRPEUH GH WkFKHV

(84) GRLWrWUHXQPXOWLSOHGHODWDLOOHGHEORF /D JULOOH SHXW FRPSRUWHU XQH GHX[ RX WURLV GLPHQVLRQV GpILQLHV SDU OH SURJUDPPHXU • qUHGLPHQVLRQQRPEUHGHOLJQHVGHEORFV • qPHGLPHQVLRQQRPEUHGHFRORQQHVGHEORFV • qPHGLPHQVLRQQRPEUHGHEORFVHQSURIRQGHXU 'HPrPHOHVEORFVSHXYHQWFRPSRUWHUXQHGHX[RXWURLVGLPHQVLRQVGpILQLHVSDU OHSURJUDPPHXU • qUHGLPHQVLRQQRPEUHGHOLJQHVGHWkFKHV • qPHGLPHQVLRQQRPEUHGHFRORQQHVGHWkFKHV • qPHGLPHQVLRQQRPEUHGHWkFKHVHQSURIRQGHXU /RUVTXHOHNHUQHOHVWDSSHOpSDUOHFRGH&8'$VXUOH&38K{WHOHSURFHVVHXUOH GpFRXSH HQ EORFV GH WkFKHV &HWWH GpFRXSH HQ EORFV HVW UpDOLVpH SDU XQH SDUWLH GX SURFHVVHXUJUDSKLTXHDSSHOpHOHJHVWLRQQDLUHGHWkFKHV /HV EORFV GH OD JULOOH VRQW DWWULEXpV DUELWUDLUHPHQW >@ EORF SDU EORF DX[ PXOWLSURFHVVHXUV GLVSRQLEOHV 8Q PXOWLSURFHVVHXU 60

(85)  SHXW H[pFXWHU GH  j  EORFV HQ SDUDOOqOH&HVEORFVWUDLWpVHQSDUDOOqOHHQSHUPDQHQFHVRQWDSSHOpVEORFVUpVLGHQWV /HJHVWLRQQDLUHGHWkFKHVFRQQDvWODOLVWHGHVEORFVUHVWDQWVjH[pFXWHUHWDWWULEXH GH QRXYHDX[ EORFV DX[ PXOWLSURFHVVHXUV j PHVXUH TXH O¶H[pFXWLRQ GHV EORFV SUpFpGHPPHQW DOORXpV VH WHUPLQH /HV QRXYHDX[ EORFV DWWULEXpV GHYLHQQHQW j OHXU WRXU EORFVUpVLGHQWV,O\DGRQFWRXMRXUVHQSHUPDQHQFH QEORFVHQFRXUVG¶H[pFXWLRQGDQVXQ PXOWLSURFHVVHXU DYHF”Q”

(86)  /HV SUHPLHUV EORFV DWWULEXpV j XQ PXOWLSURFHVVHXU 60

(87)  VRQW GRQF WRXV H[pFXWpV LPPpGLDWHPHQWHQSDUDOOqOHHWVRQWGHVEORFVUpVLGHQWVDXPRPHQWGHOHXUH[pFXWLRQ8QH IRLV FHV EORFV H[pFXWpV OH PXOWLSURFHVVHXU 60

(88)  SDVVH DX ORW GH EORFV VXLYDQW DWWULEXp SDUOHJHVWLRQQDLUHGHWkFKHV

(89) TXLGHYLHQQHQWjOHXUWRXUGHVEORFVUpVLGHQWV/HQRPEUH GHEORFVUpVLGHQWVHVWFKRLVLSDUOHJHVWLRQQDLUHGHWkFKHVVHORQSOXVLHXUVSDUDPqWUHVPDLV FH QRPEUH UHVWH IL[H SRXU XQH JULOOH GH WkFKHV GRQQpH /H SURFHVVXV GH GpWHUPLQDWLRQ SDUOHJHVWLRQQDLUHGHWkFKHV

(90) GXQRPEUHGHEORFVUpVLGHQWVHVWGpFULWSOXVEDV /HV WkFKHV GH FKDTXH EORF UpVLGHQW G¶XQ PXOWLSURFHVVHXU 60

(91)  VRQW DSSHOpHV WkFKHVUpVLGHQWHV 6HORQ OH SURFHVVHXU JUDSKLTXH XWLOLVp OD )LJXUH  LOOXVWUH OD IDoRQ GRQW OH JHVWLRQQDLUH GH WkFKHV DWWULEXH GHV EORFV GH WkFKHV TXL GHYLHQQHQW UpVLGHQWV

(92)  DX[ PXOWLSURFHVVHXUVGLVSRQLEOHV. .

(93) . . . *ULOOHGHEORFV .  %ORF   %ORF %ORF %ORF. ,QVWDQWGHGpEXW G¶H[pFXWLRQGH JURXSHVGH EORFVUpVLGHQWV. %ORF %ORF %ORF %ORF. . &DV*38 &DV*38DYHF60 DYHF60.  . . 60.  . 60.   %ORF .  %ORF .   %ORF .  %ORF . .   %ORF .  %ORF . .   %ORF .  %ORF . .   %ORF . &DV*38DYHF60. 60.  60 . 60.  60. 60.  %ORF .   %ORF.  %ORF.  %ORF .  %ORF.  %ORF .   %ORF.  %ORF.  %ORF .  %ORF. . W . .   %ORF . WǻW. WǻW. .   %ORF . .   %ORF . .   %ORF .   %ORF . 60 0XOWLSURFHVVHXU 6WUHDPLQJ0XOWLSURFHVVRU

(94) 5HPDUTXH6LRQDSSOLTXDLWFHWH[HPSOHjXQSURFHVVHXU JUDSKLTXHFRPSRUWDQW60VRQSRXUUDLWH[pFXWHUXQHJULOOHGH EORFVSHQGDQWXQHGXUpHǻW ([FDUWH*7

(95) /HHUFDVFRUUHVSRQG jODFDUWH*6. WǻW.  )LJXUH5pSDUWLWLRQGHVEORFVGHWkFKHVGDQVOHFDVRVRQWDWWULEXpVEORFVUpVLGHQWVSDUPXOWLSURFHVVHXU 60

(96) . 8QH IRLV TX¶XQ RX SOXVLHXUV EORFV GH WkFKHV VRQW DWWULEXpV j XQ PXOWLSURFHVVHXU 60

(97) DILQG¶DWWULEXHUOHVWkFKHVDX[F°XUVGHWUDLWHPHQWOHPXOWLSURFHVVHXUSDUWLWLRQQH OHVEORFVUpVLGHQWVHQJURXSHPHQWVGHWkFKHVDSSHOpV ZDUSV&¶HVWSRXUTXRLOHVEORFV GH WkFKHV GRLYHQW FRPSRUWHU XQ QRPEUH GH WkFKHV PXOWLSOH GX QRPEUH GH WkFKHV TXH FRPSRUWHXQZDUSF HVWjGLUHPXOWLSOHGH$O¶LQWpULHXUG¶XQPXOWLSURFHVVHXU 60

(98) LO H[LVWHXQHXQLWpG¶LQVWUXFWLRQPXOWLWkFKH6,07TXLFUpHJqUHRUGRQQDQFHHWH[pFXWHOHV ZDUSVSUpOHYpVGDQVOHVEORFVUpVLGHQWV/HVWkFKHVG¶XQZDUSVRQWHQVXLWHUpSDUWLVj UDLVRQGH •  WkFKHV SDU F°XU GDQV OH FDV GH O¶DUFKLWHFWXUH )HUPL  F°XUV SDU PXOWLSURFHVVHXU

(99)  /¶LQVWUXFWLRQ G¶XQ ZDUS HVW DWWULEXpH DX[ F°XUV  j  HW O¶LQVWUXFWLRQGXZDUSVXLYDQWHVWDWWULEXpHDX[F°XUVj •  WkFKHV SDU F°XU H[pFXWpHV VpTXHQWLHOOHPHQW

(100)  GDQV OH FDV GH O¶DUFKLWHFWXUH 7HVOD F°XUVSDUPXOWLSURFHVVHXU

(101) . .

(102) . 4XHOOH TXH VRLW O¶DUFKLWHFWXUH * *7*)

(103)  FKDTXH ZDUS FRQWLHQW WRXMRXUV  WkFKHV /HV ZDUSV GH WRXV OHV EORFV UpVLGHQWV G¶XQ PXOWLSURFHVVHXU VRQW DSSHOpVZDUSVUpVLGHQWV8QPXOWLSURFHVVHXUSHXWJpUHUVLPXOWDQpPHQWXQQRPEUHIL[HGH ZDUSVUpVLGHQWV&KDTXHPXOWLSURFHVVHXUG¶XQ*38SHXWWUDLWHUMXVTX¶j •  ZDUSV UpVLGHQWV SRXU O¶DUFKLWHFWXUH * FRUUHVSRQGDQW j OD OLPLWH GH  WkFKHVUpVLGHQWHVPD[LPXP • ZDUSVUpVLGHQWVSRXUO¶DUFKLWHFWXUH*7FRUUHVSRQGDQWjODOLPLWHGH WkFKHVUpVLGHQWHVPD[LPXP • ZDUSVUpVLGHQWVSRXUO¶DUFKLWHFWXUH*)FRUUHVSRQGDQWjODOLPLWHGH WkFKHVUpVLGHQWHVPD[LPXP 8Q SURFHVVHXU JUDSKLTXH SRVVpGDQW OD WRWDOLWp GHV FDUDFWpULVWLTXHV GH O¶DUFKLWHFWXUH*) FRQWHQDQWPXOWLSURFHVVHXUV

(104) SHXWGRQFWUDLWHUXQPD[LPXPGH  ∗   WkFKHVUpVLGHQWHV • •. 8QHDXWUHFRQWUDLQWHjUHVSHFWHUHVWTXHFKDTXHEORFQHGRLWSDVFRQWHQLUSOXVGH WkFKHVGDQVOHFDVRO¶DUFKLWHFWXUH*38HVWGHW\SH7HVOD *HW*7

(105)  WkFKHVGDQVOHFDVRO¶DUFKLWHFWXUH*38HVWGHW\SH)HUPL *)

(106) . ([HPSOH6XSSRVRQVTX¶RQVRXKDLWHYRLUFKDTXHPXOWLSURFHVVHXUH[pFXWHU WkFKHV GDQV XQ SURFHVVHXU GH W\SH *7 &RPPH RQ YLHQW GH OH YRLU MXVTX¶j  WkFKHV SHXYHQW rWUH DWWULEXpHV j FKDTXH PXOWLSURFHVVHXU 0DLV GDQV FHW H[HPSOH FHV WkFKHVGRLYHQWVrWUH UpSDUWLHVHQDXPRLQVEORFVpWDQWGRQQpTXHFKDTXHEORFQHSHXW SDVFRQWHQLUSOXVGHWkFKHV 6HORQOHFKRL[GXSURJUDPPHXUO¶DWWULEXWLRQGHV WkFKHVSHXWGRQFVHIDLUH VRXVXQHGHVIRUPHVVXLYDQWHV • EORFVGHWkFKHV • EORFVGHWkFKHV • EORFVGHWkFKHV &HWWHDWWULEXWLRQQHSHXWSDVVHIDLUHVRXVOHVGHX[IRUPHVVXLYDQWHV •  EORFV GH  WkFKHV FRQILJXUDWLRQ LPSRVVLEOH pWDQW GRQQp TXH FKDTXH PXOWLSURFHVVHXUQHSHXWSDVWUDLWHUSOXVGHEORFVVLPXOWDQpPHQW

(107)  • EORFGHWkFKHV FRQILJXUDWLRQLPSRVVLEOHFDUSRXUO¶DUFKLWHFWXUH*7 XQEORFQHGRLWSDVFRQWHQLUSOXVGHWkFKHV

(108)  2QUHSUpVHQWHXQHWkFKHLVROpHSDUOHV\PEROHGHOD)LJXUH.  )LJXUH6\PEROHG¶XQHWkFKH. 6XUOD)LJXUHFKDTXHZDUSVHVWFRQVWLWXpGHWkFKHV /D)LJXUHPRQWUHODGpFRPSRVLWLRQGHVEORFVHQSOXVLHXUVZDUSV&KDTXHZDUS HVW FRQVWLWXp GH  WkFKHV GRQW OHV QXPpURV G¶LGHQWLILFDWLRQ VRQW FRQVHFXWLIV 'DQV FHW H[HPSOHWURLVEORFV EORFEORFHWEORF

(109) VRQWDWWULEXpVjXQPXOWLSURFHVVHXU&KDFXQ GHFHVWURLVEORFVUpVLGHQWVHVWGpFRXSpHQZDUSV 2QSHXWFDOFXOHUOHQRPEUHGHZDUSVUpVLGHQWVGDQVXQPXOWLSURFHVVHXUSRXUXQHWDLOOHHW XQQRPEUHGHEORFVGRQQpV6XUOD)LJXUHSDUH[HPSOHVLFKDTXHEORFFRPSRUWH .

(110) . WkFKHV RQ SHXW GpWHUPLQHU TXH FKDTXH EORF FRPSRUWHUD      ZDUSV $YHF  EORFVSDUPXOWLSURFHVVHXULO\DGRQFZDUSVSDUPXOWLSURFHVVHXUFHTXLFRUUHVSRQGDX PD[LPXPSRVVLEOHSRXUXQHDUFKLWHFWXUHGHW\SH*). « WW . W.  W  W. WW W W. « WW  WW.  . W W. « WW . W. WW. W. :DUS. %ORF.  W  W. W W. W. :DUS. :DUS :DUS :DUS. :DUS :DUS. W. :DUS :DUS. %ORF. %ORF. 0XOWLSURFHVVHXU*) 8QLWpG¶LQVWUXFWLRQPXOWLWkFKH &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU &°XU.  )LJXUH$WWULEXWLRQGHEORFVjXQPXOWLSURFHVVHXUG¶XQHDUFKLWHFWXUH*)>@. &KDTXH PXOWLSURFHVVHXU SRVVqGH GHX[ SODQLILFDWHXUV GH ZDUSV ZDUS VFKHGXOHU

(111)  FKDFXQGHVGHX[HVWDVVRFLpjXQHXQLWpG¶LQVWUXFWLRQPXOWLWkFKH6,078QHIRLVTXHOH JHVWLRQQDLUH GH WkFKHV GX *38 D DWWULEXp  EORFV SDU PXOWLSURFHVVHXU FKDTXH EORF UpVLGHQW HVW GpFRXSp HQ ZDUSV SDUOH SODQLILFDWHXU GH ZDUSV TXHOTXH VRLW OH QXPpUR GH EORF

(112)  /HV ZDUSV VRQW HQVXLWH VpOHFWLRQQpV VHORQ O¶pWDW GHV GRQQpHV RSpUDQGHV OHV GRQQpHVRSpUDQGHVSRXYDQWrWUHGLVSRQLEOHVRXQRQSRXUO¶LQVWUXFWLRQVXLYDQWHjH[pFXWHU j O¶LQWpULHXU G¶XQH WkFKH /RUVTX¶XQ ZDUS HVW VpOHFWLRQQp WRXWHV OHV WkFKHV TXL OH FRPSRVHQWH[pFXWHQWODPrPHLQVWUXFWLRQ 2QUDSSHOOHTXHFKDTXHWkFKHHVWFRPSRVpHGHSOXVLHXUVLQVWUXFWLRQVTXLSHXYHQW rWUHSDUH[HPSOH • $OORFDWLRQGHPpPRLUHSDUWDJpH • 7UDQVIHUWGHGRQQpHVRSpUDQGHVGHPpPRLUHJOREDOHYHUVPpPRLUHSDUWDJpH • &DOFXO • 7UDQVIHUWGXUpVXOWDWGHPpPRLUHGHUHJLVWUHVYHUVPpPRLUHJOREDOH &HUWDLQHVGHFHVLQVWUXFWLRQVQpFHVVLWHQWGHVGRQQpHVRSpUDQGHVSRXUSRXYRLUrWUH H[pFXWpHVG¶DXWUHV LQVWUXFWLRQV

(113) QRQ $XPRPHQWGHODVpOHFWLRQGHVZDUSVjH[pFXWHUGHX[FDVVRQWSRVVLEOHV. .

(114) . • O¶LQVWUXFWLRQ j H[pFXWHUSDU OHV WkFKHV G¶XQ ZDUS

(115) GLVSRVH GH WRXWHV VHV GRQQpHV RSpUDQGHV HUFDV

(116) DORUVOHZDUSFRQFHUQpHVWVpOHFWLRQQpHWHQYR\pjF°XUVSRXU H[pFXWHUO¶LQVWUXFWLRQGRQWOHVGRQQpHVRSpUDQGHVVRQWGLVSRQLEOHV • O¶LQVWUXFWLRQ j H[pFXWHUSDU OHV WkFKHV G¶XQ ZDUS

(117) QH GLVSRVH SDV GH WRXWHV VHV GRQQpHV RSpUDQGHV qPH FDV

(118)  DORUV OH ZDUS FRQFHUQp Q¶HVW SDV VpOHFWLRQQp FDU O¶LQVWUXFWLRQjH[pFXWHUHVWHQFRUHHQDWWHQWHGHVHVGRQQpHVRSpUDQGHV$ORUVFHZDUS HVW PLV HQ DWWHQWH MXVTX¶j FH TXH VRQ LQVWUXFWLRQ j H[pFXWHU GLVSRVH GH VHV GRQQpHV RSpUDQGHV/HZDUSVXLYDQWVHVWDORUVFKRLVLVLVRQLQVWUXFWLRQjH[pFXWHUSRVVqGHVHV GRQQpHVRSpUDQGHV. 7RXW VH SDVVH FRPPH VL OH SODQLILFDWHXU GH ZDUSV UpSDUWLVVDLW OHV ZDUSV HQ GHX[ JURXSHVGLVWLQFWV UHPLVjMRXUHQSHUPDQHQFH

(119)  • O¶XQFRPSRVpGHZDUSVGLVSRVDQWGHOHXUVGRQQpHVRSpUDQGHV • O¶DXWUHFRPSRVpGHZDUSVHQDWWHQWHGHOHXUVGRQQpHVRSpUDQGHV HW VpOHFWLRQQDLW GHV ZDUSV XQLTXHPHQW GDQV OH JURXSH GLVSRVDQW GH VHV GRQQpHV RSpUDQGHV 8QHIRLVOHVZDUSVVpOHFWLRQQpVOHVZDUSVjH[pFXWHUVRQWHQYR\pVGHX[SDUGHX[ GH OD PDQLqUH VXLYDQWH 8Q GHV ZDUSV SUrWV j rWUH H[pFXWpV HVW HQYR\p SDU O¶XQLWp G¶LQVWUXFWLRQV PXOWLWkFKHV

(120)  DX[  SUHPLHUV F°XUV (Q SDUDOOqOH O¶DXWUH SODQLILFDWHXU GH ZDUSVDVVRFLpjO¶DXWUHXQLWpG¶LQVWUXFWLRQVPXOWLWkFKHVHQYRLHpJDOHPHQWXQZDUSSUrWj O¶H[pFXWLRQ DX[  DXWUHV F°XUV GX PXOWLSURFHVVHXU 3DU FRQVpTXHQW FKDTXH F°XU GRLW WUDLWHUGHX[WkFKHVSDUPLOHVWkFKHVG¶XQZDUS SRXUO¶DUFKLWHFWXUH)HUPL

(121)  'DQV OH FDV GH SURFHVVHXUV JUDSKLTXHV GH W\SH 7HVOD * RX *7

(122)  pWDQW GRQQpTXHFKDTXHPXOWLSURFHVVHXUQHFRPSRUWHTXHF°XUVHWXQVHXOSODQLILFDWHXUGH ZDUSVPDLVTX¶XQZDUSHVWWRXMRXUVFRQVWLWXpGHWkFKHVFKDTXHF°XUWUDLWHWkFKHV F\FOHV G¶KRUORJH VRQW GRQF QpFHVVDLUHV SRXU SRXYRLU H[pFXWHU OHV  WkFKHV VXU OHV  F°XUV 'DQVOHFDVROHSURJUDPPHXUDWWULEXHUDLWXQHWDLOOHGHEORFQRQPXOWLSOHGH OHGHUQLHUZDUSGXEORFVHUDLWDXWRPDWLTXHPHQWUHPSOL SDUOHPXOWLSURFHVVHXU

(123) GHWkFKHV VXSSOpPHQWDLUHVILFWLYHV WkFKHVGH©ERXUUDJHª

(124) MXVTX¶jDWWHLQGUHWkFKHV /D)LJXUHLOOXVWUHOHVpTXHQFHPHQWGHO¶H[pFXWLRQGHVZDUSVGHOD)LJXUH . 3ODQLILFDWHXUGHZDUSV. 3ODQLILFDWHXUGHZDUSV. :DUS,QVWUXFWLRQ. . :DUS,QVWUXFWLRQ. :DUS,QVWUXFWLRQ. . :DUS,QVWUXFWLRQ. :DUS,QVWUXFWLRQ. . «. :DUS,QVWUXFWLRQ. «. WHPSV. 8QLWpG¶LQVWUXFWLRQPXOWLWkFKH6,07 8QLWpG¶LQVWUXFWLRQPXOWLWkFKH6,07 (WDSHQƒ. NpWDSHV. :DUS,QVWUXFWLRQ. :DUS,QVWUXFWLRQ. N. :DUS,QVWUXFWLRQ. :DUS,QVWUXFWLRQ. N. :DUS,QVWUXFWLRQ. :DUS,QVWUXFWLRQ. N.  )LJXUH2UGRQQDQFHPHQWGHVZDUSVHWGHVLQVWUXFWLRQV>@. .

(125) . . /HVFKpPDGHOD)LJXUHSHXWV¶H[SOLTXHUHQGpFULYDQWFKDFXQHGHVpWDSHV (WDSH QƒOHV  SUHPLHUV F°XUV H[pFXWHQW O¶LQVWUXFWLRQ  FRPPXQHDX[ WkFKHV

(126)  GXZDUSFDUOHVGRQQpHVRSpUDQGHVVRQWGLVSRQLEOHV (Q SDUDOOqOH OHV  DXWUHV F°XUV H[pFXWHQW O¶LQVWUXFWLRQ  GX ZDUS  FDU OHV GRQQpHV RSpUDQGHVVRQWGLVSRQLEOHV (WDSHQƒOHVSUHPLHUVF°XUVH[pFXWHQWO¶LQVWUXFWLRQGXZDUSFDUOHVGRQQpHV RSpUDQGHVVRQWGLVSRQLEOHV (Q SDUDOOqOH OHV  DXWUHV F°XUV H[pFXWHQW O¶LQVWUXFWLRQ  GX ZDUS  FDU OHV GRQQpHV RSpUDQGHVVRQWGLVSRQLEOHV (WDSHQƒOHVSUHPLHUVF°XUVH[pFXWHQWO¶LQVWUXFWLRQGXZDUSFDUOHVGRQQpHV RSpUDQGHVVRQWGLVSRQLEOHV (Q SDUDOOqOH OHV  DXWUHV F°XUV H[pFXWHQW O¶LQVWUXFWLRQ  GX ZDUS  FDU OHV GRQQpHV RSpUDQGHVVRQWGLVSRQLEOHV « (WDSH QƒN OHV  SUHPLHUV F°XUV H[pFXWHQW O¶LQVWUXFWLRQ  GX ZDUS  VXLWH GH O¶pWDSHQƒ

(127) FDUOHVGRQQpHVRSpUDQGHVVRQWGLVSRQLEOHV (Q SDUDOOqOH OHV  DXWUHV F°XUV H[pFXWHQW O¶LQVWUXFWLRQ  GX ZDUS  VXLWH GH O¶pWDSH Qƒ

(128) FDUOHVGRQQpHVRSpUDQGHVVRQWGLVSRQLEOHV (WDSHQƒNOHVGRQQpHVQpFHVVDLUHVjO¶H[pFXWLRQGHO¶LQVWUXFWLRQGXZDUS VXLWH GHO¶pWDSHQƒ

(129) QHVRQWSDVGLVSRQLEOHV&HZDUSHVWGRQFPLVGHF{WpHWXQDXWUHZDUSHVW VpOHFWLRQQp$ORUV jOD SODFHOHVSUHPLHUVF°XUVH[pFXWHQWO¶LQVWUXFWLRQGXZDUS  VXLWHGHO¶pWDSHQƒ

(130) FDUOHVGRQQpHVRSpUDQGHVVRQWGLVSRQLEOHV (Q SDUDOOqOH OHV  DXWUHV F°XUV H[pFXWHQW O¶LQVWUXFWLRQ  GX ZDUS  VXLWH GH O¶pWDSH Qƒ

(131) FDUOHVGRQQpHVRSpUDQGHVVRQWGLVSRQLEOHV (WDSH QƒN FHWWH IRLVFL OHV GRQQpHV RSpUDQGHV TXL PDQTXDLHQW j O¶pWDSH N VRQW GLVSRQLEOHV 'RQF OHV  SUHPLHUV F°XUV SHXYHQW H[pFXWHU O¶LQVWUXFWLRQ  GX ZDUS  VXLWHGHO¶pWDSHQƒ

(132) FDUOHVGRQQpHVRSpUDQGHVVRQWGLVSRQLEOHV (QSDUDOOqOHOHVDXWUHVF°XUVH[pFXWHQWO¶LQVWUXFWLRQGXZDUS VXLWHGHO¶pWDSH Qƒ

(133) FDUOHVGRQQpHVRSpUDQGHVVRQWGLVSRQLEOHV. , 7\SHVGHPpPRLUHSUpVHQWVVXUOHVFDUWHVJUDSKLTXHV19,',$ • •. 2QDSSHOOH K{WH KRVW

(134) OH&38GX3&FRQWHQDQWODFDUWHJUDSKLTXH SpULSKpULTXHGHWUDLWHPHQW GHYLFH

(135) ODFDUWHJUDSKLTXH. 'DQVODPpPRLUH'5$0G¶XQHFDUWHJUDSKLTXH • ODPpPRLUH JOREDOHVHUW jVWRFNHUO¶HQVHPEOHGHVGRQQpHV HQYR\pHVSDUO¶K{WH (OOHSRVVqGHXQHVSDFHPpPRLUHLPSRUWDQWPDLVHVWOHQWHG¶DFFqV(OOHHVWDFFHVVLEOH SDUODWRWDOLWpGHVWkFKHVG¶XQHJULOOH • OD PpPRLUH ORFDOH VHUW j VWRFNHU FHUWDLQHV YDULDEOHV DXWRPDWLTXHV (OOH HVW DFFHVVLEOH SDU XQH VHXOH WkFKH /HV YDULDEOHV DXWRPDWLTXHV VWRFNpHV SDU OH FRPSLODWHXUGDQVODPpPRLUHORFDOHVRQW P OHV WDEOHDX[ SRXU OHVTXHOV OH FRPSLODWHXU QH SHXW SDV VDYRLU V¶LOV FRQWLHQQHQWGHVQRPEUHVFRQVWDQWV P OHVVWUXFWXUHVGHJUDQGHWDLOOHRXOHVWDEOHDX[TXLFRQVRPPHUDLHQWWURS G¶HVSDFHGHUHJLVWUH P WRXWH YDULDEOH GDQV OH FDV R WRXV OHV UHJLVWUHV GLVSRQLEOHV VRQW GpMj XWLOLVpV. .

(136) . • OD PpPRLUH GH WH[WXUH HVW XQ W\SH GH PpPRLUH XWLOLVp XQLTXHPHQW SRXU OH WUDLWHPHQW JUDSKLTXH (OOH HVW DFFHVVLEOH SDU OD WRWDOLWp GHV WkFKHV G¶XQ WUDLWHPHQW JUDSKLTXH(OOHQ¶HVWGRQFSDVXWLOLVpHGDQVQRWUHFDV • OD PpPRLUH GH FRQVWDQWHV VHUW j VWRFNHU OHV FRQVWDQWHV HW HVW DFFHVVLEOH SDU OD WRWDOLWpGHVWkFKHVG¶XQHJULOOHGHWkFKHV. 'DQVOHSURFHVVHXUJUDSKLTXH • /H EXIIHU GH FRQVWDQWHV VHUW j DFFpGHU SOXV UDSLGHPHQW j OD PpPRLUH GH FRQVWDQWHVGHODFDUWHJUDSKLTXH • /HEXIIHUGHWH[WXUHVHUWjDFFpGHUSOXVUDSLGHPHQWjODPpPRLUHGHWH[WXUHGHOD FDUWHJUDSKLTXH(OOHQ¶HVWXWLOLVpHTXHSRXUOHVWUDLWHPHQWVJUDSKLTXHV 'DQVFKDTXHPXOWLSURFHVVHXUGXSURFHVVHXUJUDSKLTXH • /D PpPRLUH SDUWDJpH VHUW j VWRFNHU OHV GRQQpHV j WUDLWHU &¶HVW XQH PpPRLUH SUpVHQWH HQ TXDQWLWp OLPLWpH GDQV FKDTXH PXOWLSURFHVVHXU PDLV G¶DFFqV UDSLGH (OOH HVWDFFHVVLEOHSDUWRXWHVOHVWkFKHVG¶XQEORF • /D PpPRLUH GH UHJLVWUHV VHUW j VWRFNHU OHV YDULDEOHV GH FKDTXH WkFKH /D UHVVRXUFH HVW SDUWDJpH HQWUH WRXWHV OHV WkFKHV UpVLGHQWHV 8QH IRLV OH QRPEUH GH UHJLVWUHV SDU WkFKH IL[p XQH WkFKH VSpFLILTXH DXUD DFFqV j XQ FHUWDLQV QRPEUH GH UHJLVWUHVTXLQHVHURQWSDVDFFHVVLEOHVDX[DXWUHVWkFKHV/DPpPRLUHGHUHJLVWUHVHVW OLPLWpHjUHJLVWUHVGHELWV6LO¶HQVHPEOHGHVWkFKHVUpVLGHQWHVXWLOLVHSOXVGH  UHJLVWUHV OH SURFHVVHXU UpGXLW OH QRPEUH GH EORFV UpVLGHQWV MXVTX¶j FH TXH OH QRPEUH GH UHJLVWUHV QpFHVVDLUHV DX[ WkFKHV UpVLGHQWHV VRLW LQIpULHXU DX QRPEUH GH UHJLVWUHVGLVSRQLEOHV /HV SULQFLSDOHV FDUDFWpULVWLTXHV GHV GLIIpUHQWHV ]RQHV PpPRLUHV XWLOLVpHV VXU OD FDUWH*7;VRQWUpVXPpHVGDQVOH7DEOHDX 7DEOHDX&DUDFWpULVWLTXHVGHVGLIIpUHQWHV]RQHVPpPRLUHGHODFDUWH*7;>@. 0pPRLUH (PSODFHPHQW. 3RUWpH. 'XUpHGHYLH. 5HJLVWUH. 6XU*38. WkFKH. 7kFKH. /RFDOH. +RUV*38. 7kFKH. 3DUWDJpH. 6XU*38. WkFKH 7RWDOLWpGHVWkFKHVG¶XQ EORFGHWkFKHV. 4XDQWLWpGHPpPRLUH *7; 

(137) >@ UHJLVWUHVGHELWV FKDFXQ SDUPXOWLSURFHVVHXU

(138)  NRSDUWkFKH. %ORFGHWkFKHV. NRSDUPXOWLSURFHVVHXU. *OREDOH. +RUV*38. 7RWDOLWpGHVWkFKHV K{WH *38

(139) . &RQVWDQWH. +RUV*38. 7RWDOLWpGHVWkFKHV K{WH *38

(140) . 7H[WXUH. +RUV*38. 7RWDOLWpGHVWkFKHV K{WH *38

(141) . 'XUpH G¶DOORFDWLRQSDU O¶K{WH 'XUpH G¶DOORFDWLRQSDU O¶K{WH 'XUpH G¶DOORFDWLRQSDU O¶K{WH. 0RGHPpPRLUH*''5. NRSDUPXOWLSURFHVVHXU . '¶XQHPDQLqUHJpQpUDOHO¶DFFqVjODPpPRLUH*38HVWEHDXFRXSSOXVUDSLGHTXH O¶DFFqVjODPpPRLUH'5$0PDLVO¶HVSDFHPpPRLUH*38HVWEHDXFRXSSOXVOLPLWpTXH O¶HVSDFHPpPRLUH'5$0 'RQF SRXU RSWLPLVHU OHV FDOFXOV RQ GHYUD IDLUH IDLUH OH PD[LPXP SRVVLEOH GH FDOFXOVSDUDOOpOLVDEOHVVXUODFDUWHJUDSKLTXHPHWWUHOHPD[LPXPSRVVLEOHGHGRQQpHVHQ PpPRLUH '5$0 HW GpFRXSHU OH FDOFXO SRXU HQYR\HU HQ PpPRLUH SDUWDJpH GHV JURXSHPHQWVGHGRQQpHVDXIXUHWjPHVXUHGHVFDOFXOV,OIDXGUDpYLWHUGHIDLUHIDLUHSDU. .

(142) . OD FDUWH JUDSKLTXH GHV FDOFXOV QRQ SDUDOOqOLVDEOHV SRXU QH SDV VXUFKDUJHU OD PpPRLUH '5$0HWSRXUQHSDVSHUGUHGHWHPSVGDQVOHWUDQVIHUWGHVGRQQpHV. , $UFKLWHFWXUHVGHVSURFHVVHXUVJUDSKLTXHVDQWpULHXUVj&8'$Œ 'DQV OHV WRXWHV SUHPLqUHV FDUWHV JUDSKLTXHV OHV WUDLWHPHQWV JUDSKLTXHV pWDLHQW UHODWLYHPHQW VLPSOHV 3XLV OHV WUDLWHPHQWV VH VRQW FRPSOH[LILpV HW VRQW GHYHQXV XQ SLSHOLQH TXL D FRQWLQXp HQVXLWH j VH GpYHORSSHU 3XLV FHUWDLQHV pWDSHV GHYHQXHV WURS FRPSOH[HV RQW pWp VpSDUpHV HQ SOXVLHXUV pWDSHV GLVWLQFWHV SRXU DERXWLU ILQDOHPHQW DX SLSHOLQH GH OD )LJXUH  UHSUpVHQWDQW OHV SULQFLSDOHV pWDSHV G¶XQ SLSHOLQH JUDSKLTXH FODVVLTXH MXVTX j O¶$3, JUDSKLTXH 'LUHFW;  LQFOXVH

Figure

Figure 3 : Le processeur graphique NV43 d’une GeForce 6600 GT
Figure 5 : Répartition des zones mémoire d’une carte graphique
Figure 15 : Architecture Fermi™ en mode calculs
Figure 16 : Structure d’un programme CUDA-C
+7

Références

Documents relatifs

We discussed the global, constant, and texture memory as an option for the location of the lookup tables7. According to the experiments, the best results were obtained when

The energy and the square modulus of the wave function of the ground states of several few-body nuclei have been calculated using NVIDIA CUDA technology

A shared memory request for a warp does not generate a bank conflict between two threads that access any address within the same 32-bit word (even though the two addresses fall in

Pour multiplier deux nombres relatifs, on multiplie leur distance à zéro et on applique la règle des signes suivante :.. • le produit de deux nombres relatifs de même signe est

Dans le projet de Licence RT, il nous est apparu qu’afin d’attirer des étudiants internationaux qui peuvent, dans nos disciplines, avoir un niveau ne leur permettant pas de

- A partir du data sheet du P18F4620, justifier la valeur 0x82 du registre T0CON, détailler pour chaque bit de ce registre sa fonction et justifier la valeur attribuée (0 ou 1). -

Contrairement aux circuits synchrones o` u le d´ elai d’un op´ erateur est constant et ´ egal au d´ elai du chemin critique plus une marge de s´ ecurit´ e, la synchronisation

• H4 : Le délai d’acheminement des messages est fini (bien qu’aléatoire) Æ pas de perte.. • Choix non déterministes : si deux événements arrivent en même temps. •