Quelle est la différence entre les noyaux cuda et tensor?

je suis complètement nouveau aux termes liés à l'informatique HPC, mais je viens de voir QU'EC2 a sorti leur nouveau type d'instance sur AWS qui est alimenté par la nouvelle NVidia Tesla V100, qui a les deux types de "noyaux": Noyaux Cuda (5.120), et les noyaux tenseurs (640). Quelle est la différence entre les deux?

17
demandé sur KARTHIKEYAN.A 2017-11-16 19:45:22

3 réponses

maintenant, seuls Tesla V100 et Titan V ont des noyaux de tenseur. Les deux GPU disposent de 5 120 noyaux cuda dans lesquels chaque noyau peut effectuer jusqu'à 1 Opération de multiplication-accumulation de précision (par exemple dans fp32: x += y * z) par 1 horloge GPU (par exemple la fréquence Tesla V100 PCIe est de 1,38 Gz).

chaque noyau tenseur effectue des opérations sur de petites matrices de taille 4x4. Chaque cœur de tenseur peut effectuer 1 Opération de multiplication-accumulation de matrice par 1 horloge GPU. Il multiplie deux matrices fp16 4x4 et ajoute la multiplication produit FP32 matrix (Taille: 4x4) à accumulateur (qui est aussi fp32 matrix 4x4).

on l'appelle précision mixte parce que les matrices d'entrée sont fp16 mais le résultat de multiplication et l'accumulateur sont fp32 matrices.

probablement, le nom propre serait juste 4x4 Matrix cores mais L'équipe de marketing de NVIDIA a décidé d'utiliser "tensor cores".

21
répondu Artur 2018-01-03 08:49:52

les GPU ont toujours été bons pour l'apprentissage automatique. Les noyaux GPU ont été conçus à l'origine pour la physique et le calcul graphique, ce qui implique des opérations matricielles. Les tâches de calcul général ne nécessitent pas beaucoup d'opérations matricielles, de sorte que les CPU sont beaucoup plus lents. La physique et le graphisme sont également beaucoup plus faciles à mettre en parallèle que les tâches de calcul général, ce qui conduit à un nombre élevé de noyaux.

en raison de la nature lourde de la matrice de l'apprentissage automatique (réseaux neuronaux), les GPU étaient un bon choix. Tenseur les noyaux sont juste plus fortement spécialisés aux types de calcul impliqués dans les logiciels d'apprentissage machine (tels que Tensorflow).

Nvidia ont écrit un blog détaillé ici, qui va dans beaucoup plus de détails sur la façon dont les noyaux tenseurs fonctionnent et les améliorations de préformance sur les noyaux CUDA.

7
répondu MikeS159 2017-12-21 16:34:50

les noyaux tenseurs utilisent beaucoup moins de puissance de calcul au détriment de la précision que les noyaux Cuda, mais cette perte de précision n'a pas beaucoup d'effet sur la sortie finale.

C'est pourquoi pour les modèles D'apprentissage Machine, Les noyaux de tenseur sont plus efficaces à la réduction des coûts sans changer la sortie que beaucoup.

Google lui-même utilise les unités de traitement Tensor pour google translate.

0
répondu pranshu vinayak 2018-05-28 20:43:59