Maxwell es el nombre en clave de una microarquitectura de GPU desarrollada por Nvidia como sucesora de la microarquitectura Kepler . La arquitectura Maxwell se introdujo en modelos posteriores de la serie GeForce 700 y también se utiliza en las series GeForce 800M , GeForce 900 y Quadro Mxxx, así como en algunos productos Jetson .
Los primeros productos basados en Maxwell fueron la GeForce GTX 745 (OEM), la GeForce GTX 750 y la GeForce GTX 750 Ti. Ambas se lanzaron el 18 de febrero de 2014, ambas con el código de chip GM107. Las GPU de la serie GeForce 700 anteriores habían utilizado chips Kepler con los códigos GK1xx. Las GPU Maxwell de primera generación (código GM10x) también se utilizan en la serie GeForce 800M y la serie Quadro Kxxx. Una segunda generación de productos basados en Maxwell se presentó el 18 de septiembre de 2014 con la GeForce GTX 970 y la GeForce GTX 980, seguida por la GeForce GTX 960 el 22 de enero de 2015, la GeForce GTX Titan X el 17 de marzo de 2015 y la GeForce GTX 980 Ti el 1 de junio de 2015. La última tarjeta Maxwell 2.0 con las especificaciones más bajas fue la GTX950 lanzada el 20 de agosto de 2015. Estas GPU tienen números de código de chip GM20x.
Maxwell introdujo un diseño mejorado de Streaming Multiprocessor (SM) que aumentó la eficiencia energética, [1] la sexta y séptima generación de PureVideo HD y CUDA Compute Capability 5.2.
La arquitectura lleva el nombre de James Clerk Maxwell , el fundador de la teoría de la radiación electromagnética.
La arquitectura Maxwell se utiliza en el sistema en un chip (SOC), procesador de aplicaciones móviles, Tegra X1 .
Las GPU Maxwell de primera generación (GM107/GM108) se lanzaron como GeForce GTX 745, GTX 750/750 Ti, GTX 850M/860M (GM107) y GeForce 830M/840M (GM108). Estos nuevos chips introdujeron pocas funciones adicionales orientadas al consumidor, ya que Nvidia se centró más en aumentar la eficiencia energética de la GPU. La caché L2 se incrementó de 256 KiB en Kepler a 2 MiB en Maxwell, lo que redujo la necesidad de más ancho de banda de memoria. En consecuencia, el bus de memoria se redujo de 192 bits en Kepler (GK106) a 128 bits, lo que redujo el área de la matriz, el costo y el consumo de energía. [2]
El diseño del multiprocesador de transmisión "SMX" de Kepler también fue rediseñado y particionado, y pasó a llamarse "SMM" en honor a Maxwell. La estructura del programador de warp se heredó de Kepler, con las unidades de textura y los núcleos CUDA FP64 aún compartidos, pero el diseño de la mayoría de las unidades de ejecución se particionaron de modo que cada programador de warp en un SMM controlaba un conjunto de 32 núcleos CUDA FP32, un conjunto de 8 unidades de carga/almacenamiento y un conjunto de 8 unidades de función especial. Esto contrasta con Kepler, donde cada SMX tenía 4 programadores que programaban para un grupo compartido de unidades de ejecución. [3] Esto último requería una barra transversal a lo largo de SMX que utilizaba energía innecesaria para permitir que se compartieran todas las unidades de ejecución. [3] Por el contrario, el diseño más modular de Maxwell permite una asignación de recursos más precisa y eficiente, ahorrando energía cuando la carga de trabajo no es óptima para los recursos compartidos. Nvidia afirma que un SMM de 128 núcleos CUDA tiene el 90% del rendimiento de un SMX de 192 núcleos CUDA mientras que la eficiencia aumenta en un factor de 2. [2] Además, cada clúster de procesamiento gráfico, o GPC, contiene hasta 4 unidades SMX en Kepler y hasta 5 unidades SMM en Maxwell de primera generación. [2]
GM107 también es compatible con CUDA Compute Capability 5.0 en comparación con 3.5 en las GPU GK110/GK208 y 3.0 en las GPU GK10x. Dynamic Parallelism e HyperQ, dos funciones de las GPU GK110/GK208, también son compatibles en toda la línea de productos Maxwell. Maxwell también proporciona operaciones atómicas de memoria compartida nativas para números enteros de 32 bits y comparación e intercambio (CAS) de memoria compartida nativa de 32 y 64 bits, que se pueden utilizar para implementar otras funciones atómicas.
El codificador de video de Nvidia, NVENC, fue actualizado para ser de 1,5 a 2 veces más rápido que en las GPU basadas en Kepler, lo que significa que puede codificar video a una velocidad de reproducción de seis a ocho veces mayor. [2] Nvidia también afirma un aumento de rendimiento de ocho a diez veces en la decodificación de video PureVideo Feature Set E debido a la caché del decodificador de video, junto con aumentos en la eficiencia de la memoria. Sin embargo, H.265 no es compatible con la decodificación de hardware completa en las GPU Maxwell de primera generación, que dependen de una combinación de decodificación de hardware y decodificación de software (decodificación de CPU). [2] Al decodificar video, se utiliza un nuevo estado de bajo consumo "GC5" en las GPU Maxwell para ahorrar energía. [2]
Se pensaba que las GPU Maxwell utilizaban renderizado basado en mosaicos , [4] pero en realidad utilizan almacenamiento en caché en mosaicos. [5]
Desde la primera generación de Maxwell, el protocolo de salida de gráficos UEFI es totalmente compatible con las GPU NVIDIA.
Las GPU Maxwell de segunda generación introdujeron varias tecnologías nuevas: Dynamic Super Resolution, [6] Third Generation Delta Color Compression, [7] Multi-Pixel Programming Sampling, [8] Nvidia VXGI (Real-Time-Voxel- Global Illumination ), [9] VR Direct, [9] [10] [11] Multi-Projection Acceleration, [7] Multi-Frame Sampled Anti-Aliasing (MFAA) [12] (sin embargo, se eliminó la compatibilidad con Coverage-Sampling Anti-Aliasing (CSAA)), [13] y Direct3D12 API en Feature Level 12_1. También se agregó compatibilidad con HDMI 2.0. [14] [15]
La relación entre el ROP y el controlador de memoria se modificó de 8:1 a 16:1. [16] Sin embargo, algunos de los ROP generalmente están inactivos en la GTX 970 porque no hay suficientes SMM habilitados para darles trabajo, lo que reduce su tasa de llenado máxima. [17]
El motor Polymorph responsable de la teselación se actualizó a la versión 3.0 en las GPU Maxwell de segunda generación, lo que resultó en un rendimiento de teselación mejorado por unidad/reloj.
El Maxwell de segunda generación también tiene hasta 4 unidades SMM por GPC, en comparación con 5 unidades SMM por GPC. [16]
GM204 es compatible con CUDA Compute Capability 5.2 (en comparación con 5.0 en las GPU GM107/GM108, 3.5 en las GPU GK110/GK208 y 3.0 en las GPU GK10x). [7] [16] [18]
Las GPU GM20x tienen un NVENC mejorado que admite codificación HEVC y agrega soporte para resoluciones de codificación H.264 a 1440p/60FPS y 4K/60FPS (en comparación con NVENC en las GPU GM10x de primera generación de Maxwell que solo admitían codificación H.264 1080p/60FPS). [11]
Después de las quejas de los consumidores, [19] Nvidia reveló que puede desactivar unidades individuales, cada una con 256 KB de caché L2 y 8 ROP, sin desactivar controladores de memoria completos. [20] Esto se produce a costa de dividir el bus de memoria en segmentos de alta velocidad y baja velocidad a los que no se puede acceder al mismo tiempo para lecturas, porque la unidad L2/ROP que administra ambos controladores GDDR5 comparte el canal de retorno de lectura y el bus de datos de escritura entre los controladores GDDR5. Esto hace que la lectura simultánea de ambos controladores GDDR5 o la escritura simultánea en ambos controladores GDDR5 sea imposible. [20] Esto se utiliza en la GeForce GTX 970, que, por lo tanto, puede describirse como que tiene 3,5 GB en un segmento de alta velocidad en un bus de 224 bits y 512 MB en un segmento de baja velocidad en un bus de 32 bits. [20] La velocidad máxima de una GPU de este tipo aún se puede alcanzar, pero la cifra de velocidad máxima solo se puede alcanzar si un segmento está ejecutando una operación de lectura mientras que el otro segmento está ejecutando una operación de escritura. [20]
La potencia de procesamiento teórica de precisión simple de una GPU Maxwell en FLOPS se calcula como 2 (operaciones por instrucción FMA por núcleo CUDA por ciclo) × número de núcleos CUDA × velocidad del reloj del núcleo (en Hz).
La potencia de procesamiento teórica de doble precisión de una GPU Maxwell es 1/32 del rendimiento de precisión simple (que se ha observado que es muy bajo en comparación con la generación anterior de Kepler ). [21]
El sucesor de Maxwell tiene el nombre en código Pascal . [22] La arquitectura Pascal incluye memoria unificada de mayor ancho de banda y NVLink . [22]
{{cite web}}
: CS1 maint: copia archivada como título ( enlace )...ínfima tasa nativa de FP64 de solo 1/32