Pascal (microarquitectura) - Pascal (microarchitecture)

Nvidia Pascal
NVIDIA-GTX-1070-FoundersEdition-FL.jpg
La GTX 1070, la segunda tarjeta disponible comercialmente que utiliza la arquitectura Pascal
Fecha de lanzamiento 5 de abril de 2016
Proceso de fabricación
Historia
Predecesor Maxwell
Sucesor

Pascal es el nombre en clave de una microarquitectura de GPU desarrollada por Nvidia , como sucesora de la arquitectura Maxwell . La arquitectura se introdujo por primera vez en abril de 2016 con el lanzamiento del Tesla P100 (GP100) el 5 de abril de 2016, y se utiliza principalmente en la serie GeForce 10 , comenzando con la GeForce GTX 1080 y GTX 1070 (ambas con la GPU GP104). , que fueron lanzados el 17 de mayo de 2016 y el 10 de junio de 2016 respectivamente. Pascal fue fabricado usando TSMC 's 16 nm FinFET proceso, y más tarde de Samsung ' s 14 nm proceso FinFET.    

La arquitectura lleva el nombre del matemático y físico francés del siglo XVII, Blaise Pascal .

El 18 de marzo de 2019, Nvidia anunció que en un controlador previsto para abril de 2019, habilitarían DirectX Raytracing en tarjetas basadas en Pascal a partir de la GTX 1060 de 6 GB y en las tarjetas de la serie 16 , una función reservada para las tarjetas basadas en Turing. Serie RTX hasta ese momento.

Detalles

Disparo de la GPU GP102 que se encuentra dentro de las tarjetas GeForce GTX 1080 Ti
Disparo de la GPU GP106 que se encuentra dentro de las tarjetas GTX 1060

En marzo de 2014, Nvidia anunció que el sucesor de Maxwell sería la microarquitectura Pascal; anunciado el 6 de mayo de 2016 y lanzado el 27 de mayo del mismo año. El Tesla P100 (chip GP100) tiene una versión diferente de la arquitectura Pascal en comparación con las GPU GTX (chip GP104). Las unidades de sombreado en GP104 tienen un diseño similar a Maxwell .

Las mejoras arquitectónicas de la arquitectura GP100 incluyen lo siguiente:

  • En Pascal, un SM (multiprocesador de transmisión) consta de entre 64-128 núcleos CUDA, dependiendo de si es GP100 o GP104. Maxwell empaquetó 128, Kepler 192, Fermi 32 y Tesla solo 8 núcleos CUDA en un SM; el GP100 SM está dividido en dos bloques de procesamiento, cada uno con 32 núcleos CUDA de precisión simple, un búfer de instrucciones, un programador warp, 2 unidades de mapeo de texturas y 2 unidades de despacho.
  • Capacidad de cómputo CUDA 6.1.
  • Memoria 2 de alto ancho de banda : algunas tarjetas cuentan con 16 GiB HBM2 en cuatro pilas con un bus total de 4096 bits con un ancho de banda de memoria de 720 GB / s.
  • Memoria unificada: una arquitectura de memoria en la que la CPU y la GPU pueden acceder tanto a la memoria principal del sistema como a la memoria de la tarjeta gráfica con la ayuda de una tecnología llamada "Motor de migración de páginas".
  • NVLink : un bus de gran ancho de banda entre la CPU y la GPU, y entre varias GPU. Permite velocidades de transferencia mucho más altas que las que se pueden lograr con PCI Express; se estima que proporciona entre 80 y 200 GB / s.
  • Las operaciones de coma flotante de 16 bits ( FP16 ) (coloquialmente "media precisión") se pueden ejecutar al doble de la velocidad de las operaciones de coma flotante de 32 bits ("precisión simple") y las operaciones de coma flotante de 64 bits (coloquialmente "doble precisión ") ejecutado a la mitad de la velocidad de las operaciones de coma flotante de 32 bits.
  • Más registros: el doble de registros por núcleo CUDA en comparación con Maxwell.
  • Más memoria compartida.
  • Sistema de programación de equilibrio de carga dinámico. Esto permite al programador ajustar dinámicamente la cantidad de GPU asignada a múltiples tareas, asegurando que la GPU permanezca saturada de trabajo, excepto cuando no haya más trabajo que pueda distribuirse de manera segura para distribuir. Por lo tanto, Nvidia ha habilitado de forma segura el cálculo asincrónico en el controlador de Pascal.
  • Prevención de nivel de instrucción y de nivel de subproceso.

Las mejoras arquitectónicas de la arquitectura GP104 incluyen lo siguiente:

  • Capacidad de cómputo CUDA 6.1.
  • GDDR5X : nuevo estándar de memoria que admite velocidades de datos de 10 Gbit / s, controlador de memoria actualizado.
  • Proyección múltiple simultánea: genera múltiples proyecciones de una única secuencia de geometría, a medida que ingresa al motor SMP desde las etapas de sombreado ascendentes.
  • DisplayPort 1.4, HDMI 2.0b.
  • Compresión de color delta de cuarta generación.
  • Interfaz SLI mejorada: interfaz SLI con mayor ancho de banda en comparación con las versiones anteriores.
  • PureVideo Feature Set H decodificación de video por hardware HEVC Main10 (10bit), Main12 (12bit) y decodificación por hardware VP9.
  • Compatibilidad con HDCP 2.2 para reproducción y transmisión de contenido protegido con DRM de 4K (Maxwell GM200 y GM204 carecen de compatibilidad con HDCP 2.2, GM206 es compatible con HDCP 2.2).
  • Codificación de hardware NVENC HEVC Main10 de 10 bits.
  • GPU Boost 3.0.
  • Prioridad a nivel de instrucción. En las tareas de gráficos, el controlador restringe la preferencia al nivel de píxel, porque las tareas de píxeles normalmente terminan rápidamente y los costos generales de hacer la preferencia a nivel de píxel son más bajos que la preferencia a nivel de instrucción (que es costoso). Las tareas de cómputo obtienen prioridad a nivel de subproceso o de instrucción, porque pueden tardar más en finalizar y no hay garantías de cuándo finaliza una tarea de cómputo. Por lo tanto, el controlador habilita la costosa preferencia a nivel de instrucción para estas tareas.

Visión general

Clúster de procesador de gráficos

Un chip se divide en grupos de procesadores gráficos (GPC). Para los chips GP104, un GPC abarca 5 SM.

Streaming multiprocesador "Pascal"

Un "multiprocesador de transmisión" corresponde a la unidad informática de AMD . Un SMP comprende 128 ALU de precisión simple ("núcleos CUDA") en chips GP104 y 64 ALU de precisión simple en chips GP100.

Lo que AMD llama CU (unidad de cómputo) se puede comparar con lo que Nvidia llama SM (multiprocesador de transmisión). Si bien todas las versiones de CU constan de 64 procesadores de sombreado (es decir, 4 unidades vectoriales SIMD (cada una de 16 carriles de ancho) = 64), Nvidia (que normalmente llama a los procesadores de sombreado "núcleos CUDA") experimentó con números muy diferentes:

  • En Tesla 1 SM combina 8 procesadores de sombreado de precisión simple (FP32)
  • En Fermi 1 SM combina 32 procesadores de sombreado de precisión simple (FP32)
  • En Kepler 1 SM combina 192 procesadores de sombreado de precisión simple (FP32) y también 64 unidades de doble precisión (FP64) (al menos las GPU GK110)
  • En Maxwell 1 SM combina 128 procesadores de sombreado de precisión simple (FP32)
  • De Pascal depende:
    • En el GP100 1 SM combina 64 procesadores de sombreado de precisión simple (FP32) y también 32 de precisión doble (FP64) que proporcionan una relación 2: 1 de rendimiento de precisión simple a doble. El GP100 utiliza núcleos FP32 más flexibles que pueden procesar un número de precisión simple o dos números de precisión media en un vector de dos elementos. Nvidia tiene la intención de abordar el cálculo de algoritmos relacionados con el aprendizaje profundo con esos.
    • En el GP104 1 SM combina 128 ALU de precisión simple, 4 ALU de doble precisión que proporcionan una relación de 32: 1 y una ALU de precisión media que contiene un vector de dos flotadores de precisión media que pueden ejecutar la misma instrucción en ambos flotadores proporcionando una proporción de 64: 1 si se usa la misma instrucción en ambos elementos.

Polymorph-Engine 4.0

Polymorph Engine versión 4.0 es la unidad responsable de Tessellation . Se corresponde funcionalmente con el procesador geométrico de AMD . Se ha movido del módulo de sombreado al TPC para permitir que un motor Polymorph alimente varios SM dentro del TPC.

Papas fritas

  • GP100: El acelerador de GPU Nvidia Tesla P100 está dirigido a aplicaciones GPGPU como el cómputo de doble precisión FP64 y el entrenamiento de aprendizaje profundo que utiliza FP16. Utiliza memoria HBM2 . Quadro GP100 también usa la GPU GP100.
  • GP102: esta GPU se utiliza en TITAN Xp, Titan X y GeForce GTX 1080 Ti. También se utiliza en Quadro P6000 y Tesla P40.
  • GP104: Esta GPU se utiliza en GeForce GTX 1070, GTX 1070 Ti y GTX 1080. La GTX 1070 tiene 15/20 y la GTX 1070 Ti tiene 19/20 de sus SM habilitados. Ambos están conectados a la memoria GDDR5, mientras que la GTX 1080 es un chip completo y está conectada a la memoria GDDR5X. También se utiliza en Quadro P5000, Quadro P4000 y Tesla P4.
  • GP106: esta GPU se utiliza en la GeForce GTX 1060 con memoria GDDR5 / GDDR5X. También se utiliza en Quadro P2000.
  • GP107: Esta GPU se usa en GeForce GTX 1050 Ti y GeForce GTX 1050. También se usa en Quadro P1000, Quadro P600, Quadro P620 y Quadro P400.
  • GP108: esta GPU se utiliza en GeForce GT 1010 y GeForce GT 1030.

En el chip GP104, un SM consta de 128 ALU de precisión simple ("núcleos CUDA"), en el GP100 de 64 ALU de precisión simple. Debido a la diferente organización de los chips, como el número de ALU de doble precisión, el rendimiento teórico de doble precisión del GP100 es la mitad del teórico para precisión simple; la relación es 1/32 para el chip GP104.

Tabla de comparación de algunos chips Kepler, Maxwell y Pascal
GK104 GK110 GM204 (GTX 970) GM204 (GTX 980) GM200 GP104 GP100
Caché de textura dedicado por SM 48 KiB N / A N / A N / A N / A N / A N / A
Caché de texturas (gráficos o computación) o datos de solo lectura (solo computación) por SM N / A 48 KiB N / A N / A N / A N / A N / A
Memoria compartida / particiones L1 seleccionables por el programador por SM Memoria compartida de 48 KiB + caché L1 de 16 KiB (predeterminado) Memoria compartida de 48 KiB + caché L1 de 16 KiB (predeterminado) N / A N / A N / A N / A N / A
Memoria compartida de 32 KiB + caché L1 de 32 KiB Memoria compartida de 32 KiB + caché L1 de 32 KiB
Memoria compartida de 16 KiB + caché L1 de 48 KiB Memoria compartida de 16 KiB + caché L1 de 48 KiB
Caché L1 unificado / caché de textura por SM N / A N / A 48 KiB 48 KiB 48 KiB 48 KiB 24 KiB
Memoria compartida dedicada por SM N / A N / A 96 KiB 96 KiB 96 KiB 96 KiB 64 KiB
Caché L2 por chip 512 KiB 1536 KiB 1792 KiB 2048 KiB 3072 KiB 2048 KiB 4096 KiB

Rendimiento

La potencia de procesamiento teórica de precisión simple de una GPU Pascal en GFLOPS se calcula como 2 X (operaciones por instrucción FMA por núcleo CUDA por ciclo) × número de núcleos CUDA × velocidad de reloj del núcleo (en GHz).

La potencia teórica de procesamiento de doble precisión de una GPU Pascal es la mitad del rendimiento de precisión simple en Nvidia GP100 y 1/32 de Nvidia GP102, GP104, GP106, GP107 y GP108.

La potencia de procesamiento teórica de media precisión de una GPU Pascal es 2 veces superior al rendimiento de precisión simple en GP100 y 1/64 en GP104, GP106, GP107 y GP108.

Sucesor

La arquitectura Pascal fue reemplazada en 2017 por Volta en los mercados de HPC , computación en la nube y automóviles autónomos , y en 2018 por Turing en el mercado de consumidores y empresas.

Ver también

Referencias