que cores cuda gpu nvidia

que - ¿Cuál es la diferencia entre cuda vs tensor cores?



tensor cores que es (3)

Soy completamente nuevo en términos relacionados con la computación HPC, pero acabo de ver que EC2 lanzó su nuevo tipo de instancia en AWS que funciona con la nueva Nvidia Tesla V100, que tiene ambos tipos de "núcleos": Cuda Cores (5.120), y Núcleos tensoriales (640). ¿Cuál es la diferencia entre ambos?


Ahora solo Tesla V100 y Titan V tienen núcleos tensoriales. Ambas GPU tienen 5120 núcleos cuda donde cada núcleo puede realizar hasta 1 operación de acumulación múltiple de precisión (p. Ej. En fp32: x + = y * z) por 1 GPU (p.ej. la frecuencia PCIe de Tesla V100 es 1.38Gz).

Cada núcleo tensorial realiza operaciones en matrices pequeñas con tamaño 4x4. Cada núcleo tensor puede realizar 1 operación matricial de acumulación múltiple por 1 reloj de GPU. Multiplica dos matrices fp16 4x4 y agrega el producto de multiplicación fp32 matriz (tamaño: 4x4) al acumulador (que también es matriz fp32 4x4).

Se llama precisión mixta porque las matrices de entrada son fp16 pero el resultado de la multiplicación y el acumulador son matrices fp32.

Probablemente, el nombre correcto sería solo 4x4 núcleos de matriz, sin embargo, el equipo de marketing de NVIDIA decidió usar "núcleos tensoriales".


Las GPU siempre han sido buenas para el aprendizaje automático. Los núcleos de GPU se diseñaron originalmente para la física y el cálculo gráfico, lo que implica operaciones matriciales. Las tareas informáticas generales no requieren muchas operaciones matriciales, por lo que las CPU son mucho más lentas en estas. La física y los gráficos también son mucho más fáciles de paralelizar que las tareas informáticas generales, lo que lleva al alto número de núcleos.

Debido a la naturaleza pesada de la matriz del aprendizaje automático (redes neuronales), las GPU fueron un gran ajuste. Los núcleos tensoriales están más especializados en los tipos de computación involucrados en el software de aprendizaje automático (como Tensorflow).

Nvidia ha escrito un blog detallado here , que contiene muchos más detalles sobre cómo funcionan los núcleos Tensor y las mejoras de rendimiento sobre los núcleos CUDA.


Los núcleos tensoriales utilizan mucha menos potencia de cálculo a expensas de la precisión que los núcleos Cuda, pero esa pérdida de precisión no tiene mucho efecto en la salida final.

Esta es la razón por la cual, para los modelos de Aprendizaje automático, los núcleos tensoriales son más efectivos en la reducción de costos sin cambiar tanto el rendimiento.

Google utiliza las unidades de procesamiento de tensor para el traductor de google.