Tesla es el nombre en clave de una microarquitectura de GPU desarrollada por Nvidia y lanzada en 2006, como sucesora de la microarquitectura Curie . Recibió su nombre en honor al ingeniero eléctrico pionero Nikola Tesla . Como primera microarquitectura de Nvidia en implementar sombreadores unificados, se utilizó con las series GeForce 8 , GeForce 9 , GeForce 100 , GeForce 200 y GeForce 300 de GPU, fabricadas colectivamente en 90 nm , 80 nm, 65 nm , 55 nm y 40 nm. También estuvo en la GeForce 405 y en las series Quadro FX, Quadro x000, Quadro NVS y módulos informáticos Nvidia Tesla .
Tesla sustituyó a las antiguas microarquitecturas de pipeline fijo , representadas en el momento de su introducción por la serie GeForce 7. Compitió directamente con la primera microarquitectura de sombreado unificada de AMD denominada TeraScale , un desarrollo del trabajo de ATI en la Xbox 360 que utilizaba un diseño similar. A Tesla le siguió Fermi .
Tesla es la primera microarquitectura de Nvidia que implementa el modelo de sombreado unificado . El controlador es compatible con la arquitectura Direct3D 10 Shader Model 4.0 / OpenGL 2.1 (los controladores posteriores son compatibles con OpenGL 3.3). El diseño es un cambio importante para NVIDIA en la funcionalidad y capacidad de la GPU, siendo el cambio más obvio el paso de las unidades funcionales separadas (sombreadores de píxeles, sombreadores de vértices) dentro de las GPU anteriores a una colección homogénea de procesadores de punto flotante universales (llamados "procesadores de flujo") que pueden realizar un conjunto más universal de tareas.
La arquitectura de sombreado unificada de GeForce 8 consta de una serie de procesadores de flujo (SP). A diferencia del enfoque de procesamiento vectorial adoptado con las unidades de sombreado más antiguas, cada SP es escalar y, por lo tanto, puede operar solo en un componente a la vez. Esto hace que sean menos complejos de construir y, al mismo tiempo, bastante flexibles y universales. Las unidades de sombreado escalares también tienen la ventaja de ser más eficientes en varios casos en comparación con las unidades de sombreado vectorial de la generación anterior que se basan en la combinación y el ordenamiento ideales de instrucciones para alcanzar el rendimiento máximo. El menor rendimiento máximo de estos procesadores escalares se compensa con la eficiencia y al ejecutarlos a una alta velocidad de reloj (lo que es posible gracias a su simplicidad). GeForce 8 ejecuta las distintas partes de su núcleo a diferentes velocidades de reloj (dominios de reloj), de manera similar al funcionamiento de las GPU de la serie GeForce 7 anteriores . Por ejemplo, los procesadores de flujo de la GeForce 8800 GTX funcionan a una velocidad de reloj de 1,35 GHz, mientras que el resto del chip funciona a 575 MHz. [1]
La GeForce 8 realiza un filtrado de texturas significativamente mejor que sus predecesoras, que utilizaban varias optimizaciones y trucos visuales para acelerar la renderización sin perjudicar la calidad del filtrado. La línea GeForce 8 renderiza correctamente un algoritmo de filtrado anisotrópico independiente del ángulo junto con un filtrado de texturas trilineal completo . La G80, aunque no es su hermana menor, está equipada con mucha más capacidad aritmética de filtrado de texturas que la serie GeForce 7. Esto permite un filtrado de alta calidad con un impacto en el rendimiento mucho menor que antes. [1]
NVIDIA también ha introducido nuevos métodos de anti-aliasing de bordes de polígono , incluida la capacidad de los ROP de la GPU para realizar tanto anti-aliasing de múltiples muestras (MSAA) como iluminación HDR al mismo tiempo, corrigiendo varias limitaciones de las generaciones anteriores. GeForce 8 puede realizar MSAA con formatos de textura FP16 y FP32. GeForce 8 admite renderizado HDR de 128 bits , un aumento con respecto al soporte de 64 bits de las tarjetas anteriores. La nueva tecnología anti-aliasing del chip, llamada muestreo de cobertura AA (CSAA), utiliza información de Z, color y cobertura para determinar el color final del píxel. Esta técnica de optimización del color permite que 16X CSAA se vea nítido y definido. [2]
La potencia de procesamiento de precisión simple teórica declarada para tarjetas basadas en Tesla, expresada en FLOPS, puede ser difícil de alcanzar en cargas de trabajo del mundo real. [3]
En G80/G90/GT200, cada multiprocesador de transmisión (SM) contiene 8 procesadores de sombreado (SP, o sombreador unificado, o núcleo CUDA ) y 2 unidades de función especial (SFU). Cada SP puede realizar hasta dos operaciones de precisión simple por reloj: 1 multiplicación y 1 suma, utilizando una única instrucción MAD . Cada SFU puede realizar hasta cuatro operaciones por reloj: cuatro instrucciones MUL (multiplicación). Por lo tanto, un SM en su conjunto puede ejecutar 8 MAD (16 operaciones) y 8 MUL (8 operaciones) por reloj, o 24 operaciones por reloj, lo que es (relativamente hablando) 3 veces la cantidad de SP. Por lo tanto, para calcular el rendimiento teórico de doble emisión MAD+MUL en operaciones de punto flotante por segundo [ FLOPS sp+sfu , GFLOPS ] de una tarjeta gráfica con conteo de SP [ n ] y frecuencia de sombreado [ f , GHz], la fórmula es: FLOPS sp+sfu = 3 × n × f . [4] [5]
Sin embargo, aprovechar el rendimiento de doble emisión como MAD+MUL es problemático:
Por estos motivos, para estimar el rendimiento de cargas de trabajo del mundo real, puede resultar más útil ignorar el SFU y suponer solo 1 MAD (2 operaciones) por SP por ciclo. En este caso, la fórmula para calcular el rendimiento teórico en operaciones de punto flotante por segundo se convierte en: FLOPS sp = 2 × n × f .
La potencia de procesamiento teórica de doble precisión de una GPU Tesla es 1/8 del rendimiento de precisión simple en GT200; no hay soporte de doble precisión en G8x y G9x. [9]
NVENC sólo se introdujo en chips posteriores.
Los núcleos de procesamiento de streaming individuales de las GPU GeForce GTX 200 ahora pueden realizar operaciones de multiplicación-suma (MAD) y MUL (3 flops/SP) de doble emisión casi a máxima velocidad