Cal é a diferenza entre os núcleos CUDA e os núcleos tensor? (Explicado) - Todas as diferenzas

 Cal é a diferenza entre os núcleos CUDA e os núcleos tensor? (Explicado) - Todas as diferenzas

Mary Davis

Os núcleos CUDA e Tensor son produtos desenvolvidos por unha empresa chamada Nvidia. Entón, que son os núcleos CUDA e os núcleos Tensor? CUDA significa Compute Unified Device Architecture. Os núcleos CUDA están presentes nas túas GPU, teléfonos intelixentes e mesmo nos teus coches, como din os desenvolvedores de Nvidia.

Os núcleos CUDA son unha plataforma de computación paralela e unha interface de programación de aplicacións (API) que permite ao software facer uso de tipos específicos de unidades de procesamento de gráficos (GPU) para o procesamento de propósito xeral.

Ver tamén: Cal é a diferenza entre Jordans e Air Jordans de Nike? (Decreto dos pés) - Todas as diferenzas

Considerando que os núcleos tensores que tamén foron desenvolvidos por Nvidia, tamén se usan nas GPU. Tensor Cores permiten computación de precisión mixta, adaptando os cálculos de forma dinámica para aumentar o rendemento mantendo a precisión.

Ver tamén: Cal é a diferenza entre un mago, un feiticeiro e un mago? (Explicado) - Todas as diferenzas

En palabras sinxelas, estes núcleos son unha parte importante das GPU do teu ordenador para facer certos cálculos. Os núcleos CUDA úsanse para multiplicar dous números e sumalos a outro número.

Considerando que o núcleo tensor é o mesmo pero con matrices 4×4. Estes cálculos son basicamente render gráficos máis rápido para ti.

Que é CUDA?

Compute Unified Device Architecture en resumo CUDA desenvolvido por Nvidia, lanzado o 23 de xuño de 2007, é unha plataforma de computación paralela e unha interface de programación de aplicacións (API).

Isto permite ao software utilizar tipos específicos de unidades de procesamento de gráficos (GPU) para o procesamento de propósito xeral, un método coñecido como computación de propósito xeral enGPU (GPU).

CUDA é unha capa de software que proporciona acceso directo ao conxunto de instrucións virtuais da GPU e aos elementos computacionais paralelos para a execución de núcleos informáticos. CUDA foi desenvolvido para traballar con diferentes linguaxes de programación, incluíndo C, C++ e Fortran.

A posibilidade de traballar con diferentes linguaxes de programación facilita que os especialistas en programación paralela fagan uso dos recursos da GPU se o diferenciamos de API anteriores como Direct3D ou OpenGL, o que esixiría que teñas un sistema máis avanzado. Habilidades básicas en programación gráfica.

GPU con CUDA tamén admite marcos de programación, como OpenMP, OpenACC, OpenCL e tamén HIP que poden compilar ese código en CUDA. O primeiro nome utilizado para CUDA foi un acrónimo de Compute Unified Device Architecture. Non obstante, Nvidia posteriormente abandonou o acrónimo de uso común.

Unha potente tarxeta gráfica Nvidia GTX 1080 Ti

Máis información sobre CUDA

Como procesador informático especializado, a unidade de procesamento de gráficos (GPU) satisface as necesidades reais -cargas de traballo de gráficos 3D con moito tempo e computación.

Ao redor de 2012, as GPU evolucionaron e convertéronse en sistemas multinúcleos altamente paralelos que permitían un procesamento de datos eficaz para grandes bloques.

Ao procesar grandes bloques de datos en paralelo, este deseño é superior ás unidades de procesamento central (CPU) de propósito xeral para algoritmos, como:

  • hash criptográficofuncións
  • aprendizaxe automática
  • simulacións de dinámica molecular
  • motores de física
  • algoritmos de clasificación

Usos da arquitectura CUDA agora e no futuro

  • Renderizado acelerado de gráficos 3D
  • Interconversión acelerada de formatos de ficheiros de vídeo
  • Cifrado, descifrado e compresión acelerados
  • Bioinformática, por exemplo, secuenciación de ADN de NGS BarraCUDA
  • Cálculos distribuídos, como predecir a conformación nativa das proteínas
  • Simulacións de análises médicas, por exemplo, realidade virtual baseada en imaxes de exploración por TC e resonancia magnética
  • Simulacións físicas, en particular en dinámica de fluídos
  • Adestramento en redes neuronais en problemas de aprendizaxe automática
  • Recoñecemento facial
  • Proxectos de computación distribuídos, como [email protected] e outros proxectos que utilicen BOINC
  • Dinámica molecular
  • Minería de criptomonedas
  • Software Structure from motion (SfM)

Que é un núcleo tensor?

Os núcleos especializados chamados Tensor Cores permiten un adestramento de precisión mixta. A xeración inicial destes núcleos especializados faino cun algoritmo de multiplicación e suma fusionada. Isto fai posible multiplicar e engadir dúas matrices FP16 4 x 4 a unha matriz FP16 ou FP32 4 x 4.

O resultado final será FP32 con só unha lixeira perda de precisión, a computación de precisión mixta desígnase como tal aínda queas matrices de entrada poden ser FP16 de baixa precisión.

Na práctica, isto acelera significativamente os cálculos con pouca influencia na eficacia final do modelo. Esta capacidade foi ampliada por microarquitecturas posteriores a representacións de números informáticos aínda menos precisas.

A primeira xeración introduciuse coa microarquitectura Volta a partir da V100, máis formatos de precisión do número de ordenadores foron dispoñibles para computación con novas microarquitecturas de GPU con cada xeración que pasaba.

Na sección que segue, falaremos de como a capacidade e a funcionalidade de Tensor Cores cambiaron e melloraron con cada xeración de microarquitecturas.

Unha imaxe representada gráficamente feita por un Titan V

Como funcionan os núcleos tensor?

Primeira xeración:

A microarquitectura da GPU Volta incluíuse coa primeira xeración de núcleos Tensor. Estes núcleos fixeron posible adestrar cunha precisión mesturada e co formato de número FP16.

Isto podería ter un aumento de ata 12 veces no rendemento de teraFLOP para certas GPU. Os 640 núcleos do V100 de nivel superior ofrecen un aumento de 5 veces na velocidade de rendemento con respecto ás GPU Pascal da xeración anterior.

Segunda xeración:

Coa introdución das GPU Turing, presentouse a segunda xeración de núcleos Tensor. Int8, Int4 e Int1 engadíronse á lista de precisións de Tensor Core admitidas, que foronanteriormente limitado ao FP16.

Debido aos procedementos de adestramento de precisión mixtos, o rendemento da GPU aumentou ata 32 veces en comparación coas GPU Pascal.

Terceira xeración:

A arquitectura nunha GPU Ampere amplía os avances anteriores das microarquitecturas Volta e Turing engadindo soporte para precisións FP64, TF32 e bfloat16.

Estes formatos de precisión adicional aceleran moito máis as actividades de adestramento e inferencia de aprendizaxe profunda. Por exemplo, o formato TF32 funciona de xeito similar ao FP32 ao mesmo tempo que garante unha velocidade de ata 20 veces sen alterar ningún código.

Entón, con só unhas poucas liñas de código, a implementación automática de precisión mixta acelerará o adestramento 2 veces máis.

NVLink de terceira xeración para permitir interaccións multi-GPU increíblemente rápidas, núcleos de trazado de rayos de terceira xeración e especialización con matemáticas de matriz escasa son aspectos adicionais da microarquitectura Ampere .

Cuarta xeración:

Está prevista unha futura versión da cuarta xeración de Tensor Cores baseada na microarquitectura Hopper. A cuarta xeración de Tensor Cores no próximo H100.

que se prevé que se lance en marzo de 2022, poderá manexar formatos de precisión FP8 e, segundo NVIDIA, acelerará enormes modelos de linguaxe "por un asombroso 30X". sobre a xeración anterior.”

Unha tarxeta gráfica RTX éúsase para renderizar gráficos moi rápido xa que contén núcleos tensores.

A diferenza entre os núcleos CUDA e os núcleos tensores

Os núcleos tensores están limitados actualmente a Titan V e Tesla V100. Os núcleos 5120 CUDA de ambas as GPU teñen unha capacidade máxima dunha única operación de acumulación de multiplicación de precisión (por exemplo, en fp32: x += y * z) por reloxo da GPU (por exemplo, a frecuencia de Tesla V100 PCIe é de 1,38 Gz).

Cada núcleo tensor opera en matrices pequenas 4×4 para matrices pequenas. Por un reloxo de GPU, cada núcleo tensor pode completar unha operación de multiplicación e acumulación de matriz.

Multiplica dúas matrices FP16 4×4 e engade a matriz FP32 4×4 que dá como resultado o acumulador (que tamén é unha matriz FP32 4×4).

Debido a que as matrices de entrada son fp16 mentres que os resultados da multiplicación e o acumulador son fp32, o algoritmo coñécese como precisión mixta.

O termo correcto probablemente sería só "núcleos de matriz 4 × 4", pero o equipo de marketing de NVIDIA optou por usar "núcleos de tensor".

Núcleos tensor explicación completa en poucas palabras

Tarxeta GPU Núcleos CUDA VRAM
GeForce GTX 1660 Ti 1536 6GB
GeForce GTX 1660 Super 1408 6GB
GeForce GTX 1660 1408 6GB
GeForce GTX 1650 Super 1408 4GB
GeForce GTX 1650 1024 e896 4GB
GeForce GTX 1060 3GB 1280 4GB
GeForce GTX 1650 1280 3GB
GeForce GTX 1060 6GB 768 6GB
GeForce GTX 1050 Ti (3GB) 768 4GB
GeForce GTX 1050 (2GB) 640 3GB
GeForce GTX 960 1024 2GB
GeForce GTX 950 786 2GB
GeForce GTX 780 Ti 2880 2GB
GeForce GTX 780 2304 3GB
GeForce GTX 750 Ti 640 2 GB
GeForce GTX 750 512 1 GB ou 2 GB

GPU que conteñen núcleos CUDA

Conclusión

  • Os núcleos CUDA e Tensor son produtos, ambos desenvolvidos por unha empresa chamada Nvidia. CUDA significa Compute Unified Device Architecture. Estes núcleos CUDA están presentes nas túas GPU, teléfonos intelixentes e mesmo nos teus coches.
  • Considerando que os núcleos tensores, que tamén foron desenvolvidos por Nvidia, tamén se usan nas GPU. Os núcleos especializados chamados "núcleos tensores" permiten un adestramento de precisión mixta. A primeira xeración de Tensor Cores permitiu adestrar cunha precisión mesturada e co formato de número FP16.
  • Isto podería ter un aumento de ata 12 veces no rendemento de teraFLOP para certas GPU. Int8, Int4 e Int1 engadíronse á lista de precisións de Tensor Core admitidas.
  • Debido á mesturaprocedementos de adestramento de precisión, o rendemento da GPU aumentou ata 32 veces. Está previsto un futuro lanzamento da cuarta xeración de Tensor Cores baseada na microarquitectura Hopper.

Outros artigos

    Mary Davis

    Mary Davis é unha escritora, creadora de contidos e ávida investigadora especializada na análise comparativa de varios temas. Cunha licenciatura en xornalismo e máis de cinco anos de experiencia no campo, Mary ten unha paixón por ofrecer información imparcial e directa aos seus lectores. O seu amor pola escritura comezou cando era nova e foi un motor da súa exitosa carreira escrita. A capacidade de Mary para investigar e presentar achados nun formato atractivo e fácil de entender fíxolle querer aos lectores de todo o mundo. Cando non está escribindo, a Mary gústalle viaxar, ler e pasar tempo coa familia e os amigos.