XLR HPC Hardware Nvidia

Le calcul par le GPU, c'est quoi?

LE CALCUL PAR LE GPU, C’EST QUOI ?

 

Le calcul par le GPU consiste à utiliser le processeur graphique (GPU) en parallèle du CPU pour accélérer vos applications professionnelles de science, d’analyse, d’ingénierie, de production et d’entreprise. Lancés en 2007 par NVIDIA, les accélérateurs GPU se sont imposés comme un standard de l’industrie. Dans le monde entier, la plupart des centres de données à basse consommation y ont recours, aussi bien dans les laboratoires gouvernementaux et universitaires que dans les petites et moyennes entreprises. Les GPU NVIDIA accélèrent une multitude d’applications sur des supports aussi variés que les smartphones, les tablettes, les automobiles, les drones et les systèmes robotisés.

COMMENT ACCÉLÉRER VOS APPLICATIONS AVEC LES GPU

 

Le calcul par le GPU permet de paralléliser les tâches et d’offrir un maximum de performances dans de nombreuses applications : le GPU accélère les portions de code les plus lourdes en ressources de calcul, le reste de l’application restant affecté au CPU. Les applications des utilisateurs s’exécutent ainsi bien plus rapidement.

CPU VS GPU

 

Pour comprendre les différences fondamentales entre un CPU et un GPU, il suffit de comparer leur manière de traiter chaque opération. Les CPU incluent un nombre restreint de cœurs optimisés pour le traitement en série, alors que les GPU intègrent des milliers de cœurs conçus pour traiter efficacement de nombreuses tâches simultanées.

Les GPU incluent des milliers de cœurs pour traiter efficacement des tâches parallèles.

Pour une explication en images, regardez la vidéo suivante.

Des centaines d’applications de pointe exploitent déjà le calcul par le GPU. Consultez notre catalogue pour savoir si vos applications peuvent être accélérées par ce biais.

Principes de calcul par le GPU

LE CALCUL ACCÉLÉRÉ PAR GPU A RÉVOLUTIONNÉ LES TECHNIQUES DE CALCUL HAUTE PERFORMANCE (HPC)

 

Les stations de travail équipées d’accélérateurs GPU offrent une excellente efficacité énergétique et les meilleures performances de l’industrie. Les supercalculateurs Summit et Sierra, dont la mise en œuvre a récemment été annoncée par le département de l’Énergie des États-Unis, démontrent toute l’importance des accélérateurs GPU pour l’avènement de l’informatique exascale.
Nous aimerions partager avec vous quelques faits établis en matière de calcul accéléré, mais également évoquer certaines solutions concurrentes. Plus spécifiquement, nous allons récuser les idées selon lesquelles l’accélérateur Xeon Phi d’Intel serait aussi performant qu’un GPU (simplement en recompilant et en exécutant du code nativement avec Xeon Phi) ou que l’optimisation de performances serait plus facile avec Xeon Phi qu’avec des systèmes accélérés par GPU.

FAIT ÉTABLI : Un GPU est bien plus rapide que Xeon Phi d’Intel Phi avec les applications HPC.
Les GPU accélèrent l’obtention de résultats dans les applications scientifiques majeures (jusqu’à 2 fois plus vite qu’avec Xeon Phi).
FAIT ÉTABLI : Le processus de recompilation et d’exécution du code avec Xeon Phi ralentit vos applications.
La notion selon laquelle les développeurs peuvent simplement « recompiler et exécuter » leurs applications avec Xeon Phi d’Intel, sans devoir modifier leur code CPU, est attrayante mais surtout trompeuse. Les performances Xeon Phi correspondantes sont souvent plus lentes qu’avec un simple traitement CPU. Vous conviendrez qu’on est loin de toute forme d’accélération.

Le processus de recompilation et d’exécution du code avec Xeon Phi fonctionne vraisemblablement, mais le code s’exécute bien plus lentement qu’avec le traitement CPU d’origine. Données détaillées sur le système et la configuration.

 

FAIT ÉTABLI : La programmation pour l’accélération GPU ou Xeon Phi demande
autant d’efforts, mais les résultats sont meilleurs avec les GPU.

Mêmes techniques d’optimisation. Mêmes efforts de développement. Accélération deux fois plus importante avec le traitement GPU.
Method GPU Phi
Libraries  CUDA Libraries + others  Intel MKL + others
Directives  OpenACC  OpenMP + Phi Directives
Native Programming Models  CUDA  Vector Intrinsics
Les développeurs utilisent des bibliothèques, des directives et des extensions de langage pour programmer les systèmes d’accélération et optimiser les performances.

« Le processus de portage est relativement simple, mais vous devez tout de même vectoriser votre code pour Xeon Phi, de la même manière que vous le feriez pour CUDA. »

Dr. Karl Schultz
Directeur des applications scientifiques au Texas Advanced Computing Center (TACC)
Source : HPCWire, 17 mai 2013

« Hormis le remplacement des opérations SIMD par des opérations SIMT, nos codes GPU sont assez similaires aux codes Xeon Phi. »

« Les résultats obtenus avec le coprocesseur Xeon Phi d’Intel se sont révélés étonnamment décevants. Malgré sa réputation d’être facilement programmable, nous avons dû déployer pas mal d’efforts en matière de vectorisation pour créer des solutions performantes. »

« Même s’il est relativement aisé de recompiler un programme pour l’exécuter avec Xeon Phi, je trouve qu’il reste encore bien plus simple de recourir à CUDA et aux GPU NVIDIA pour obtenir durablement des performances plus élevées avec les applications de Lattice Boltzmann. »

Dr Sebastiano Fabio Schifano, Département de Mathématiques et Informatique, Université de Ferrara

Une fois confronté aux faits, la vérité émerge. À l’heure actuelle, un GPU fournit deux fois plus de performances pour globalement les mêmes efforts de développement. Les GPU sont le choix incontournable pour l’accélération du code parallèle. Cela explique en partie pourquoi la communauté scientifique a 10 fois plus utilisé les GPU que Xeon Phi d’Intel cette année4, tout comme le fait que les GPU NVIDIA ont été 20 fois plus intégrés que Xeon Phi à des systèmes HPC.5

NOTES DE BAS DE PAGE RELATIVES AUX CONFIGURATIONS DE BENCHMARK
AMBER : SPFP-Cellulose_production_NPT, 1x E5-2697v2 + Xeon Phi 7120P, 1x E5-2697v2 à 2,70 GHz + Tesla K40.
MiniMD : KokkosArray- Forces intermoléculaires avec potentiel de Lennard-Jones, 864 000 atomes, précision double, 2x Xeon E5-2667 + Xeon Phi 7120, 2x Xeon E5-2667 + Tesla K40.
Monte Carlo RNG DP : Calcul d’options (marché européen), 2x Intel® Xeon® E5-2697v3 + Tesla K40 ; Résultats des performances Xeon Phi disponibles sur le site Internet d’Intel.
tHogbomClean : 2x Xeon E5-2697v2 + Xeon Phi 7120, 2x Xeon E5-2697v2 + Tesla K40c.
Binomial Options SP : 2x Xeon E5-2697v3 + Tesla K40 ; Résultats des performances Xeon Phi disponibles sur le site Internet d’Intel.
NAMD : APOA1, 2x Xeon E5-2697v2 + Xeon Phi 7120, 2x Xeon E5-2697v2 +Tesla K40.
STAC-A2 : Warm Greek, 2x E5-2699v3 + Xeon Phi 7120A, 2x Intel Xeon E5-2690v2 + Tesla K80.