Article détaillé NVIDIA Tesla vient de sortir V100 exactement où le bétail?

Note de la rédaction: 11 mai Conférence annuelle sur la technologie GPU 2017 à San Jose, en Californie, a eu lieu le NVIDIA a publié le Tesla V100, le plus fort connu dans l'histoire des accélérateurs GPU. Après la sortie, Nvidia première fois dans le développeur blog officiel a publié un billet de blog, y compris une analyse détaillée de Tesla V100, GPU GV100, Tensor Core et l'architecture Volta, etc., les nouvelles fonctionnalités / contenu technique des nouveaux produits, Lei Feng réseau compilé comme suit.

Nous savons tous, que ce soit la reconnaissance vocale, assistant personnel ou de formation virtuelle, détection de ligne, ou la recherche de système de pilotage automatique et le développement dans ces domaines de l'intelligence artificielle, les scientifiques de données sont confrontés à des défis de plus en plus complexes de l'IA. Afin de mieux atteindre le pouvoir assez futuriste de ceux-ci, il est nécessaire d'introduire une partie du modèle d'apprentissage en profondeur exponentielle plus complexe dans la pratique.

D'autre part, HPC (High Performance Computing) a joué un rôle essentiel dans la recherche scientifique moderne. Que ce soit les prévisions météorologiques, la recherche de nouveaux médicaments, ou pour explorer l'avenir de l'énergie, les chercheurs ont besoin d'utiliser des systèmes informatiques à grande échelle dans le monde réel faire tous les jours toutes sortes de simulation et de prévision. Grâce à l'introduction de la technologie AI, HPC peut considérablement améliorer l'efficacité du personnel de recherche scientifique de grande analyse des données et obtenir des précédemment par des méthodes de simulation et de prévision traditionnels ne peuvent pas obtenir une nouvelle conclusion.

Afin de promouvoir davantage le développement du HPC et des domaines connexes de l'IA, a récemment publié une nouvelle génération d'accélérateur GPU NVIDIA Tesla V100. Il est basé sur la dernière plate-forme de GPU Volta NVIDIA GV100 et une variété d'innovation technologique perturbatrice qui peut fournir une plate-forme puissante de calcul pour une variété de systèmes Supercomputing, que ce soit dans le domaine du calcul de simulation scientifique scientifique comme le principal moyen de, ou afin de discerner les mystères de données la science des données est objective, Tesla V100 peut fournir un soutien solide pour les applications liées calcul de la force.

Ci-dessous, nous allons noyau Tesla V100 à travers ce blog: l'architecture Volta de faire une analyse en profondeur, tout en aidant les développeurs à comprendre ce qu'il apporte des avantages spécifiquement dans le développement réel.

Tesla V100: AI Source de calcul de puissance et HPC

NVIDIA Tesla V100 est le plus élevé des processeurs parallèles de performance du monde, conçu pour le traitement des besoins puissante capacité informatique pour soutenir HPC intensive, AI et graphiques de traitement des tâches.

Le noyau Tesla accélérateur V100 est processeur GPU GV100. Basé sur la dernière technologie d'emballage de précision 12nm de TSMC FFN processus conçu spécifiquement pour NVIDIA, GV100815 mm2 taille de la puce, l'intégration de la structure interne du transistor jusqu'à 21.100.000.000. Par rapport à la génération précédente, ce qui est le GPU de la série Pascal, GV100 n'a pas seulement fait des progrès substantiels dans la performance de calcul, mais ajoute également de nombreuses nouvelles fonctionnalités resplendit. Y compris une rationalisation plus poussée de la programmation GPU et les processus de déploiement d'applications, et la profondeur optimisée pour l'utilisation des GPU des ressources. En conséquence, GV100 tout en offrant de puissantes performances de calcul est également très puissance, la figure suivante montre la comparaison des performances Tesla accélérateur V100 et générations précédentes Tesla P100 accélérateur formation modèle ResNet-50 et de raisonnement, peut voir le dernier à V100 beaucoup plus que le P100 de la génération précédente.

Tesla V100 principales caractéristiques sont résumées ci-dessous:

l'architecture pour le streaming multiprocesseur (SM) l'optimisation de l'apprentissage en profondeur. En tant que composant de noyau de processeurs GPU, en architecture Volta NVIDIA redessiné SM, Pascal par rapport à l'architecture précédente, cette génération SM permet d'améliorer le rendement énergétique d'environ 50%, peut améliorer de manière significative la FP32 (unique dans la même gamme de puissance précision de virgule flottante) et FP64 (double précision de virgule flottante) de puissance de calcul. Conçu spécialement pour l'apprentissage en profondeur de nouveaux scénarios de formation Tensor de base dans le modèle, peut atteindre une vitesse maximale de 12 TFLOP (billion Opérations à virgule flottante par seconde). En outre, étant donné que la nouvelle architecture SM pris des chemins de données séparés et parallèles pour les données entiers et à virgule flottante, donc dans le calcul général et adresse des scénarios de calcul peut produire une bonne efficacité du mélange. l'architecture Volta nouvelle fonction d'ordonnancement de threads indépendant permet également le parallélisme à grain fin fin entre la synchronisation des threads et la collaboration. Enfin, un nouveau cache de données combiné et le sous-système de mémoire partagée cache L1 a également amélioré significativement les performances, tout en simplifiant grandement l'étape de programmation du développeur.

La deuxième génération NVLink. La deuxième génération d'interconnexion à haute vitesse NVIDIA NVLink technologie multi-GPU et le système multi-GPU / CPU est configuré pour fournir une bande passante plus élevée, plus de connexions et une plus grande évolutivité. GV100 GPU prend en charge jusqu'à 6 liens NVLink, chacun des 25 GB / s, un total de 300 Gb / s. NVLink prend également en charge la fonction de contrôle du processeur et la cohérence du cache basée sur des serveurs CPU IBM Power 9. En outre, la nouvelle version de la technologie NVIDIA DGX-1V super-ordinateur AI est également utilisé NVLink offre une plus grande évolutivité pour la formation de modèle d'apprentissage ultra-rapide en profondeur.

HBM2 mémoire: plus rapide et plus efficace. Volta hautement optimisé sous-système de mémoire de 16 Go HBM2 offre jusqu'à 900 Go / s de bande passante mémoire de pointe. Par rapport à la génération précédente Pascal GP100, une nouvelle génération à partir du contrôleur de mémoire et la mémoire de bande passante combinée génération Samsung HBM2 Volta de 1,5 fois, et également sur le rendement de plus de 95% de la charge de travail.

Volta multiprocesseur service (Service multi-processus, MPS) . Volta MPS est une nouvelle fonctionnalité Volta l'architecture GV100, serveur CUDA MPS peut fournir l'accélération matérielle pour les composants clés, ce qui entraîne dans une scène de tâches informatiques multi-GPU partagé amélioration significative des performances, l'isolement et la qualité de service (QoS). Le nombre maximum de clients Volta MPS MPS soutiendra également une augmentation de 16 à 48 ère Pascal.

services de traduction de mémoire et adresse unifiée améliorées. Volta GV100 GV100 mémoire unifiée dans une nouvelle technologie pour atteindre compteur d'accès qui peut être réglée avec précision pages mémoire adressable de chaque processeur selon la fréquence d'accès, ce qui améliore grandement l'efficacité de l'utilisation de la mémoire partagée entre les processeurs. De plus, la plate-forme IBM Power, le nouveau service de traduction d'adresses (Address Translation Services, ATS) permet un accès direct à la CPU de table de page de mémoire GPU.

Groupes coopératifs (Cooperative Group) et la nouvelle API de lancement coopérative (début API de collaboration) . Groupes coopératifs est un nouveau modèle de programmation CUDA introduit 9, pour l'organisation de groupe de fils de communication. Groupes de coopération permet aux développeurs d'exprimer la communication entre la taille des fils, en les aidant à une plus riche, la décomposition parallèle plus efficace (décompositions). Depuis série Kepler, toutes les caractéristiques de base de soutien GPU NVIDIA coopérative Groupes. Pascal et série Volta prend également en charge la nouvelle API de lancement coopérative, la synchronisation peut être réalisée entre les blocs de filetage CUDA à travers l'API. En outre Volta ajoute également le support pour le nouveau mode synchrone.

la performance maximale et modes d'efficacité maximale. Comme son nom l'indique, au mode de performances, une vitesse Tesla V100 fonctionnera indéfiniment, pour atteindre un niveau TDP 300W (puissance de conception thermique), afin de répondre aux besoins des applications qui nécessitent la vitesse et le débit de données maximum de calcul le plus rapide. Le mode le plus efficace permet aux gestionnaires de centres de données pour ajuster le niveau de puissance Tesla V100 à la meilleure performance énergétique par watt compte de la puissance de sortie. En outre, Tesla V100 prend également en charge la puissance limite supérieure est prévue dans la totalité de la GPU, tout en réduisant considérablement la consommation d'énergie, le cadre satisfaire à des exigences de performance.

Logiciel optimisé pour Volta. Une variété de nouvelles versions du cadre d'apprentissage profond (y compris Caffe2, MXNet, CNTK, tensorflow, etc.) peut réduire considérablement l'utilisation du temps de formation de modèle Volta et d'améliorer la performance de la formation à plusieurs nuds. Volta divers version optimisée des bibliothèques de l'accélération GPU (y compris cuDNN, cuBLAS et TensorRT, etc.) peuvent également être à l'appui des nouvelles fonctionnalités de la Volta GV100, offrant de meilleures performances et de soutien pour les applications HPC de l'apprentissage en profondeur. De plus, NVIDIA CUDA Toolkit la version 9.0 ajoute un nouveau support pour l'API Volta et de nouvelles fonctionnalités pour aider les développeurs plus facilement programmées pour ces nouvelles fonctionnalités.

architecture matérielle GPU GV100

Volta GPU équipé GV100 de NVIDIA Tesla V100 est le plus puissant accélérateur de performances processeur parallèle informatique du monde. Ce qui, GPU GV100 a une série d'innovations de matériel, des algorithmes d'apprentissage de profondeur et d'un cadre, des systèmes HPC et les applications, il fournit un puissant opérateur de soutien de la force. Où la performance dans l'art comme le montre la figure. HPC, HPC à diverses tâches, plus rapidement que la moyenne Tesla V100 Tesla P1001,5 fois (à base Tesla V100 carte prototype).

Tesla V100 performances de pointe à virgule flottante et arithmétique d'entier, de la manière suivante pic performances de calcul (GPU en fonction de la fréquence d'horloge de survolteur):

à double virgule flottante de précision (FP64) le calcul de la performance: 7,5 TFLOP / s;

simple précision (FP32) le calcul de la performance: 15 TFLOP / s;

la multiplication et l'accumulation de matrice de précision de mélange: 120 Tensor TFLOP / s.

Et comme avant Pascal GP100, GV100 aussi par un certain nombre de graphiques groupes de traitement (Graphics Processing Cluster, GPC), un cluster de traitement des textures (texture traitement cluster, TPC), Streaming multiprocesseurs (Streaming multiprocesseur, SM) et le contrôleur mémoire. Un GPU complet de GV100 de six GPC, 84 e Volta SM, 42 ème PTC (PTC comprenant chacun deux SM) et huit contrôleur de mémoire 512 (4096). Dans lequel chaque noyau SM FP3264, le noyau 64 INT32, FP64 noyau 32 avec huit nouveaux Tenseur de base. Pendant ce temps, chaque SM contient également quatre unités de traitement texture (unités de texture).

Plus précisément, une version complète Volta GV100 contient un total de 5376 FP32 nucléaire, nucléaire INT325376, 2688 FP64 nucléaire, 672 et 336 unités de texture Tensor de base. Chaque contrôleur de mémoire est relié à un cache de niveau 2768 Ko, chaque pile est constituée d'un contrôleur de mémoire DRAM HBM2. Dans l'ensemble, GV100 contient un total de 6144KB cache secondaire. La figure suivante montre la version complète de la Volta GV100 avec 84 unités SM, il faut noter que les différents produits peuvent avoir des configurations différentes, telles que Tesla V100 seulement 80 SM.

Le tableau suivant montre la comparaison avec les cinq dernières années, la série Tesla V100 de paramètres anciens d'accélérateur Tesla.

Volta SM (Streaming multiprocesseur)

Pour fournir une meilleure performance, plus bas que les instructions existantes Volta SM SM et la latence du cache, et fait une étude approfondie optimisé pour les applications spéciales. Ses principales caractéristiques sont les suivantes:

établir nouveau calcul de la matrice de formation de la profondeur de la précision de mélange FP16 / FP32 Tenseur de base;

des performances plus élevées et plus améliorée des données de cache L1 faible latence;

jeu d'instructions amélioré pour le décodage simplifié et de raccourcir l'instruction de retard;

taux d'horloge plus élevées et l'efficacité énergétique.

La figure suivante montre la structure de base de l'unité Volta GV100 SM.

Tensor de base: à la fois l'instruction de fonctionnement est le format de données

La nouvelle Tensor l'architecture de base Volta GV100 est l'une des plus importantes nouvelles fonctionnalités dans la formation du modèle de réseau de neurones est très grand, il peut fournir de puissantes performances de calcul pour le système. Tesla V100 de base Tensor peut déduire la formation de modèle pertinent et les applications jusqu'à 120 TFLOPS flottants tenseur point est calculé comme l'apprentissage en profondeur. Plus précisément, l'étude approfondie de la formation du modèle, par rapport à FP32 fonctionnement du P100, le nouveau Tensor de base offre jusqu'à 12 TFLOPS vitesse de pointe sur Tesla V100. En ce qui concerne l'apprentissage de l'estimation de la profondeur par rapport à l'opération sur P100 FP16, vous pouvez atteindre le plus haut sommet de 6 fois TFLOPS. Tesla GPU V100640 contient un total de Tensor de base, chaque streaming multiprocesseur (SM) contient huit.

Il est bien connu, la multiplication de la matrice de base de formation de réseau de neurones, la profondeur de chacune de la couche de connexion réseau de neurones, la matrice d'entrée pour être multipliée par les coefficients de pondération pour obtenir l'entrée de la couche suivante. Comme on le voit ci-dessous, par rapport à l'architecture de la génération précédente Pascal GP100, Tesla V100 Tenseur de base de la performance de l'opération de multiplication de matrice d'au moins 9 fois amélioré.

Comme cette partie du sous-titre, Tensor de base non seulement un nouveau jeu d'instructions et efficace, ou à une opération de format de données.

Dans l'architecture Volta vient de sortir, chaque Tensor noyau contient une matrice 4x4x4 de files d'attente de traitement, pour achever la structure du réseau de neurones est le plus commun opération D = AxB + C. Dans laquelle A, B, C, D sont quatre matrice 4 × 4, il est appelé 4x4x4. Comme cela est représenté ci-dessous, l'entrée A, B désigne FP16 matrice, tandis que la matrice peut être FP16 C et D, peuvent être FP32.

De par leur conception, Tenseur de base peut être effectuée sur toutes les fréquences d'horloge jusqu'à 64 fois la précision de mélange flottant FMA, qui est le produit de deux entrées FP16, FP32 un plus. Et parce que chaque cellule contient huit SM Tensor de base, et donc généralement chaque horloge 1024 peut effectuer des opérations à virgule flottante. Cette architecture fait Volta, l'application de l'apprentissage en profondeur le débit par rapport aux cellules normales, chaque opération améliore considérablement la 8 fois SM FP32 Pascal GP100, par rapport au GPU Pascal P100, Volta totale V100 GPU débit multiplié par 12. La figure suivante montre une norme Volta GV100 Tensor processus de base.

Au cours de l'exécution du programme, la pluralité de coeurs Tenseur collaborer à travers l'unité de chaîne. les fils de chaîne fournit également une plus grande opération matricielle 16x16x16 peut être traité par Tenseur Cores. Ces opérations comme une opération matricielle de stade CUDA chaîne niveau divulgués dans l'API du CUDA C. Par la programmation CUDA C, les développeurs peuvent utiliser ces API ouvertes sur la base de la multiplication Tensor Cores, opérations d'addition et la matrice de stockage.

cache améliorée L1 et les données de la mémoire cache partagée

Volta SM L1 données du cache du sous-système de mémoire partagée et lié à l'autre, améliore significativement la performance, mais aussi simplifie grandement les étapes de programmation aux développeurs, et les coûts de débogage du système ou à proximité de la performance du système optimal.

Il convient de souligner, cache de données combinées et l'architecture Volta fonctions de mémoire partagée dans un bloc de mémoire dans la pratique, dans l'ensemble sont deux types d'accès mémoire offre les meilleures performances. La capacité de mémoire combinée atteint 128 KB / SM, est plus grande que l'ancienne version du cache GP100 plus de 7 fois, et tout ce qui peut être configuré pour bloc de cache exclusif est partagé. En outre, l'unité de traitement de texture peut également utiliser ces cache. Par exemple, si la mémoire partagée est mis à 64Ko, les opérations de texture et de chargement / stockage peuvent être utilisés dans L1 capacité résiduelle de 64 Ko.

En général, et à titre d'originalité de mémoire partagée associée à l'autre, de telle sorte que le cache L1 Volta GV100 ayant une largeur de bande inférieure à la vitesse élevée passé cache GPU NVIDIA L1 et un retard plus élevé. Comme un aspect d'un tuyaux de flux de données à haut débit jouent un rôle, il peut également fournir une bande passante élevée et un faible accès de latence à haut degré précis de la multiplicité des données.

La figure suivante montre la comparaison des performances du cache L1 de Volta et Pascal.

La puissance de calcul

support GPU pour GV100 nouvelle Compute capacité de NVIDIA 7.0. Le tableau suivant présente une comparaison de la capacité de calcul GPU NVIDIA entre les différentes architectures.

ordonnancement des threads indépendants

Volta par rapport à l'architecture précédente GPU NVIDIA réduit considérablement la difficulté de la programmation, l'utilisateur peut se concentrer davantage sur la variété des applications diverses. Volta GV100 est le premier à supporter GPU indépendant de planification de fil, qui est-à-dire, peut être plus synchroniser finement et de collaborer à un programme de différents threads. Un objectif majeur de la conception est de réduire les coûts de développement des procédures Volta requis pour exécuter sur le GPU, et le mécanisme de partage flexible entre threads, éventuellement faire l'informatique parallèle plus efficace.

Avant le mode multi-instruction de fil unique (MODÈLES SIMT)

Pascal et avant que le GPU peut être réalisée par un groupe de fils 32 dans la terminologie de SIMT également appelé funes. Pascal dans la chaîne, 32 fils qui utilisent le même compteur de programme, et dans le fil de chaîne qui est désigné par un masque actif valide (masque actif). Cela signifie que différents chemins d'exécution de certains fils sont « état inactif », le montre la figure ci-après, l'ordre d'exécution d'une chaîne dans les différentes branches. Dans le processus, le masque original sera d'abord sauvé jusqu'à la fin des funes fils d'exécution convergent vers une nouvelle fois, le masque sera restauré, puis exécuter à nouveau le programme.

Essentiellement, les ressources en mode SIMT Pascal nécessaires pour suivre le fil en réduisant l'état et reprendre activement les discussions en parallèle pour maximiser l'efficacité. Lorsque ce suivi de l'état d'enfiler l'ensemble du modèle de funes, en fait des moyens de branche parallèle que lorsque le programme apparaît dans les funes sont effectivement réalisées l'ordre, ici a un sens perdu en parallèle jusqu'à la fin des branches parallèles. En d'autres termes, Dans différents fils de chaîne bien exécutés en parallèle, mais en même fils de chaîne dans la branche, mais l'ordre d'exécution est rétablie que, incapable d'échanger des informations et partager des données entre eux.

Prenons, par exemple, nécessite des données précises partagées par ces algorithmes, dans différents threads accèdent à la protection de verrouillage du bloc de données et mécanisme d'exclusion mutuelle, parce que le fil rencontre incertaine à partir de laquelle la chaîne, si facilement conduire à une impasse. Par conséquent, Pascal et avant le GPU, les développeurs doivent éviter une synchronisation fine à grain fin, ou d'utiliser ces algorithmes ne se verrouillent pas se fier ou une distinction claire entre la chaîne.

Instruction architecture unique Volta de mode multi-thread

Volta mis en oeuvre dans l'ensemble des fils (fils de chaîne, quel que soit d ') au même niveau de simultanéité résoudre ce problème, pour chaque fil, y compris le compteur de programme et de la pile d'appel, Volta maintient le même état d'exécution, comme le montre.

Volta mécanisme d'allocation de thread séparé permet au GPU d'exécuter des autorisations donnent à tout un fil, le fil faisant une plus grande efficacité, mais aussi de partager des données entre les threads plus raisonnables. Afin de maximiser l'efficacité de la parallèle, Volta un optimiseur de calendrier peut décider de la manière de regrouper les mêmes fils de chaîne en vigueur, et avec des moyens pour SIMT. Cela permet non seulement de maintenir un haut dans le précédent GPU NVIDIA SIMT débit et une plus grande flexibilité: Maintenant, le fil peut être restauré sur une branche et de la sous-chaîne, et, Volta ces fils continuera à exécuter le même code regroupés, de sorte qu'ils fonctionnent en parallèle.

La figure suivante montre un échantillon de mode multi-thread Volta. De ce programme si / branche d'autre peut maintenant être espacés en série de temps, comme le montre la figure. Vous pouvez le voir, le processus de mise en uvre est encore SIMT dans tout un cycle d'horloge, et comme avant, les mêmes fils de chaîne dans tous valides, le noyau CUDA exécute la même instruction, qui peut encore maintenir l'efficacité de l'architecture précédente. Le point est, cette capacité de planification Volta indépendants, ce qui permet aux programmeurs d'avoir la possibilité de développer des algorithmes complexes et sophistiqués et des structures de données d'une manière plus naturelle. Bien que le planificateur de soutenir l'indépendance du thread d'exécution, mais il sera toujours optimisé asynchrone snippet ceux pour assurer la convergence des threads simultanément, afin de maximiser l'efficacité de SIMT.

En outre, l'image ci-dessus il y a un phénomène intéressant: Z dans tous les fils ne sont pas en cours d'exécution en même temps. En effet, les données de sortie Z peut être nécessaire de traiter d'autres branches, dans ce cas, la force une convergence est pas sûr. Mais avant que la structure est généralement considérée comme A, B, X, Y ne comprend pas les opérations de synchronisation, le programmateur convergera sur Z déterminé à être en sécurité.

Dans ce cas, Le programme peut appeler la nouvelle fonction de synchronisation de chaîne __syncwarp dans 9 fils CUDA pour forcer une convergence , Comme le montre la figure. Ensuite fil branche ne peut pas synchroniser l'exécution Z, mais en appelant la fonction __syncwarp, avec une chaîne dans tous les chemins d'exécution de ces discussions sera terminée avant d'exécuter l'instruction Z. De même, avant la mise en uvre de Z, si appel de la fonction __syncwarp, le programme sera forcé de Converge avant d'exécuter Z. Si le développeur peut assurer la sécurité de cette opération à l'avance, sans doute cela améliorera l'efficacité de SIMT dans une certaine mesure.

Famine sans algorithme

algorithme sans Famine est un mode important de mécanisme d'ordonnancement des threads indépendants, en particulier: Dans un calcul simultané, aussi longtemps que le système assure que tous les threads ont l'accès approprié aux ressources concurrentielles, il peut assurer sa mise en uvre correcte. Par exemple, si vous essayez d'acquérir le fil mutex (mutex) a finalement réussi à obtenir la serrure, vous pouvez utiliser un mutex (ou serrure ordinaire) dans l'algorithme sans faim. Dans le système ne prend pas en charge l'algorithme sans faim peut se produire un ou plusieurs threads verrouillent de façon répétée et libérer les circonstances mutex, ce qui peut causer d'autres threads jamais été en mesure d'acquérir avec succès le problème de mutex.

Voir ci-dessous pour un exemple d'un ordonnancement des threads indépendant Volta: liste doublement chaînée insérer dans un noeud applications multi-thread.

__device__ insert_after void (* Noeud A, Noeud * b)

{

Noeud * c;

Serrure (a); serrure (a- > suivante);

c = a- > suivant;

a- > next = b;

b- > prev = a;

b- > next = c;

c- > prev = b;

déverrouillage (c); déverrouillage (a);

}

Dans cet exemple, chaque élément d'une liste doublement lié contenant au moins trois parties: un pointeur vers l'arrière, un pointeur vers l'avant, et un verrou (a seulement la permission de mettre à jour le noeud de propriétaire). La figure suivante illustre le processus d'insertion du noeud B entre A et C.

Volta Ce mécanisme assure indépendant d'ordonnancement de threads que même si le courant fil T0 point de prise de verrouillage A, avec une chaîne dans un autre thread T1 peut encore attendre débloquer avec succès, sans affecter l'exécution de T0. Cependant, il est le point remarquable est que, parce que le même efficace sous un fil de chaîne est réalisée en même temps, de sorte que le fil et d'autres fils peuvent faire déverrouillage de rendement bloqué réduite.

Il faut aussi faire attention à ce que, donc dans cet exemple, pour chaque noeud verrouillé affecte l'utilisation est essentielle à la performance du GPU. Traditionnellement, pour créer un tableaux de liaisons bidirectionnelles peuvent utiliser le verrouillage à gros grains (ce qui correspond à la serrure à grain fin a été mentionné précédemment), verrouillage de gros grains prendra sur toute la structure (toutes verrouillées), plutôt que pour protéger chaque noeud, respectivement. En raison de contention de verrouillage entre les fils, de sorte que cette méthode peut entraîner une réduction des performances du code multithread (architecture Volta permet au maximum jusqu'à 163,840 threads simultanés). Ensuite, vous pouvez essayer d'utiliser l'approche de verrouillage à grains fins dans chaque noeud, donc en plus de l'insert dans certains nuds, un grand effets concurrentiels de blocage moyenne de la liste de chaque noeud sera grandement réduite.

Cette serrure à grain fin avec la table de liaison bidirectionnelle mentionnée ci-dessus est juste un exemple très simple, nous voulons transmettre le message que cet exemple: Par un mécanisme d'ordonnancement des threads séparés, les développeurs peuvent mettre en uvre des algorithmes familiers et des structures de données sur le GPU NVIDIA de la manière la plus naturelle.

résumé

NVIDIA Tesla V100 est sans aucun doute la plus GPU centre de données avancé au monde, conçu pour le traitement a besoin d'une puissante capacité informatique pour soutenir HPC intensive, AI et graphiques de traitement des tâches. Avec le plus supports d'architecture de pointe NVIDIA Volta, Tesla V100 peut fournir des performances de calcul 100 CPU en un seul GPU, ce qui rend les données scientifiques, les chercheurs et les ingénieurs pour répondre une fois pensé pour être impossible défi.

640 noyaux de transport Tensor, ce qui rend Tesla V100 est devenu le premier à briser la marque de 100 TFLOPS considérés comme des produits GPU d'apprentissage profond de la force du monde. Couplé avec une nouvelle génération de technologie NVIDIA NVLink jusqu'à la connectivité de 300 Go /, scénarios réels utilisateurs peuvent combiner plusieurs GPU V100 pour construire une forte activité de centres d'apprentissage en profondeur. De cette façon, les semaines une fois requis de modèle AI peuvent maintenant être terminés dans quelques jours de formation. Avec réduire considérablement le temps de formation, toute la réalité de l'avenir sera probablement résolu AI.

Source: NVIDIA Developer Blog

Lei Feng réseau (numéro public: Lei Feng net) Lecture connexe:

2 heures, 5 grandes nouvelles AI, les actions Nvidia ont grimpé de 17%, la conférence GTC sont Jen-Hsun Huang a dit quelque chose quoi? (Inclus PPT) | GTC 2017

GTC Assemblée générale le deuxième jour Faits saillants: NVIDIA lancera un système VR multi-utilisateurs, les développeurs prévoient de former 100000 | GTC 2017

Yu Guangzhong la poésie et la peinture pour commémorer l'ouverture de cette exposition à regarder la peinture dans la « nostalgie »
Précédent
possibilité de routage hybride - géographie capteurs sous-marins réseaux sans fil
Prochain
entraîneur Spider-Man Arts Shaolin? point fort d'exposition édition spéciale créative
Juillet le plus attendu blockbuster hollywoodien, il sera
Elle est la fille de Stephen Hawking, au-delà de la curiosité de 49 ans, « enfants » d'écrire l'histoire de son arrière-plan de la vie
Notre NRS / NFV est entré dans une nouvelle phase de développement pragmatique
Dans le monde VR, et le « anneau de lumière » lors d'une réunion à ce sujet brouillard parfumé
Le bénéfice d'exploitation d'Ali trois fois en Amazonie, mais pourquoi seulement la moitié de la capitalisation boursière de l'Amazonie?
L'effet de haute main, en voyant la sagesse examinera le système de conférence vidéo
6 plus un mythe ventes difficile d'aller au-delà? Plus un 6T ou créer le mythe suivant
10 films préférés de Hong Kong, vous dit:
"Dragon Quest Builder 2" suivi de l'histoire de "Dragon Quest 2"
Rush billets Fête du Printemps de l'histoire de l'évolution: le bétail, afin d'accélérer le paquet de billets Fête du Printemps à « sauter le roi de file d'attente »
Zhang Xin Yi acteur de règles non-dits? ! Pourquoi faire du mal chaque étoile | Hey grande place