APU (Unidad de Procesamiento Acelerada)



Para muchos, una APU es un procesador con gráficos integrados. Si lo vemos desde un punto simplista podría parecer que es así; sin embargo, ese solo detalle no sería una justificante para cambiarle el nombre a un recurso de procesamiento tan importante como lo es el procesador. Veremos algunos aspectos que justifican el cambio de nombre.

Contexto histórico

Desde la aparición de las tarjetas gráficas 3D a mediados de la década de los años 90, los científicos y los ingenieros encontraron en este tipo de procesadores un medio para agilizar el cómputo matemático (principal motor de una computadora). Ello se debe a que un procesador "gráfico" tiene una mayor potencia de cómputo que una CPU (pongo gráfico entre comillas, porque se trata, en realidad, de un procesador especializado en cálculos vectoriales y matemáticos en paralelo, vitales para la agilización, entre otras cosas, del dibujo de imágenes y animaciones). Así, se utilizaron intrincados códigos para enviar cálculos matemáticos a la GPU en lugar de hacerlos en la CPU y tener tiempos de respuesta menores.

Al paso de los años, nVidia se dio cuenta de esta necesidad del cómputo moderno y científico, y generó un estándar para facilitar la comunicación con las tarjetas gráficas: CUDA. Así, con un lenguaje estandarizado, los científicos, ingenieros y usuarios podían enviar cálculos a la GPGPU (Así es, Unidades de Procesamiento Gráfico de propósito general) y agilizar significativamente (más de 10x) el cómputo.

Para la segunda mitad de la década de los años 2000, esto ya se había convertido en una tendencia y empezaron a salir propuestas para este mismo fin, en particular porque CUDA estaba específicamente diseñado para gráficos nVidia. Así, alternativas como OpenCL, RenderScript, y DirectCompute vieron la luz y ello permitió agilizar el cómputo sin tener que exigirle mucho a la CPU: una gran parte de la potencia de procesamiento se estaba yendo a la GPU. Eso lo vemos reflejado en los celulares (RenderScript), en Windows (a partir de Windows Vista, que fue la primera versión que integró 3D Shader Compute o DirectCompute en el Kernel), en GNU/Linux (a partir del Kernel 4), y ello requirió que se contara con gráficos con capacidades de cómputo matemático avanzado.

Cómputo heterogéneo

A la posibilidad de combinar la potencia de cómputo de diversos tipos de procesadores se le conoció como "Cómputo Heterogéneo" y es gracias a esto que se aumentó la potencia de procesamiento SIN aumentar el consumo de energía de los procesadores. Ésta es la razón de ser de una APU: Unidad de Procesamiento Acelerada o Avanzada. Hoy una muy potente CPU (Unidad de Procesamiento Central) es capaz de ofrecer unos ~800GFLOPS. Una APU es capaz de ofrecer una potencia de ~2TFLOPS (o 2000GFLOPS), razón por la cual una APU tiende a ser más potente por sí sola en números absolutos que una CPU. Claro está que si a una CPU se le ponen gráficos más potentes que los integrados, el cómputo heterogéneo es más eficiente y podría superar los ~10TFLOPS.

Ésa fue la razón por la que AMD adquirió a ATI, para agregar GPGPU a sus procesadores y soportar las nuevas capacidades heterogéneas de los sistemas operativos. Windows Vista funcionó como sedita con AMD, así como las siguientes versiones de Windows. Es más, DirectX 12 está diseñado sobre una buena base de la tecnología ROCm de AMD Radeon debido a la integración de estos gráficos en Xbox One.

Conclusiones

Así, no es APU sólo porque tiene gráficos integrados, sino porque se trata de procesadores de cómputo heterogéneo que cuentan con, al menos, dos tipos de procesadores: Uno de propósito general con cómputo serial (la CPU), y otro matemático con cómputo paralelo (GPU). Intel ha integrado una alternativa con su tecnología QuickSync que aprovechan algunos programas para agilizar su cómputo matemático. Sin embargo, poco puede hacer cuando se enfrenta a cómputo matemático proveniente de un procesador paralelo. ¡Nos seguimos leyendo!

Comentarios

Entradas más populares de este blog

Toshiba Satellite T215-SP1004M

Consecuencias de la falta de mantenimiento en el equipo de cómputo

Normalización de bases de datos (Parte 6 y última): Quinta y sexta formas de normalización (5NF) (6NF)