Home » Si quieres aprender como funciona una GPU, este proyecto te interesa

Si quieres aprender como funciona una GPU, este proyecto te interesa

0
Render Génerico Chip Placa

Lo mejor para llegar a entender cómo funciona cualquier cosa es hacerlo tú mismo, y por suerte, gracias a los FPGA y los CPLD, por un lado, y a lenguajes de descripción del hardware, por el otro lado, se puede diseñar un chip sencillo que puede ser una CPU, una RAM o incluso una GPU. Pues bien, el proyecto que os traemos hoy es uno de los más interesantes para aprender como funciona una GPU moderna. Bautizada como TinyGPU, se trata de un proyecto que podéis encontrar en su página de GitHub que tiene como objetivo enseñar cómo funciona una GPU contemporánea.

TinyGPU te enseña cómo funciona una GPU para IA

Hace unos días os trajimos material de cómo construir una CPU, y esta vez le toca el turno a TinyGPU se trata de un proyecto escrito Verilog, por lo que podrás implementarlo en una FPGA e incluso ver su funcionamiento en un simulador. El proyecto tiene el objetivo de educar cómo funcionan ciertas partes esenciales que tiene todo hardware de este tipo y que los fabricantes se guardan su funcionamiento como si fuese la fórmula secreta de la Coca-Cola.

En los diagramas se puede como el diseño de la TinyGPU carece de elementos básicos que son comunes en las GPU para gráficos como son las unidades de rasterizado, los ROPS y las unidades de filtraje de texturas. El motivo de ello es simple: son unidades que son esenciales para la generación de gráficos a tiempo real, pero que no forman parte del pipeline de computación.

El propio creador de la TinyGPU nos lo aclara:

Específicamente, con la tendencia hacia las GPU de propósito general (GPGPU) y los aceleradores de Machine Learning como la Google TPU, la TinyGPU se centra en los puntos fuertes de los principios generales de todas esas arquitecturas, en vez del hardware especializado en los detalles gráficos.

De ahí a que no veamos dichas unidades en los diagramas, dado que se especializa en esas dos disciplinas, no obstante hemos de partir que son las que más se guardan en secreto los grandes fabricantes.

Entonces, ¿no me sirve para ejecutar juegos?

NVIDIA A100 PCIe

Pues no, es más, TinyGPU carece de controlador de pantalla y, por tanto, no puede gestionar una salida de vídeo, pero es que lo mismo ocurre con muchas GPU para computación de alto rendimiento, que son aceleradores para HPC e IA y carecen de muchas unidades que sí que tiene la tarjeta gráfica de tu PC por tres motivos:

  • No se utilizan, ya que no se usan para ejecutar videojuegos o acelerar tareas gráficas.
  • Ocupan espacio en el chip y este es limitado, por lo que eliminar dichas unidades supone poder reinvertirlo en otras funciones que sí que se usan.
  • Si hablamos de instrucciones operan con precisiones diferentes, lo que supone además unidades de ejecución distintas entre las GPU domésticas y las que se utilizan en centros de datos.

Todo ello hace que aquellos diseños que van orientados fuera del mercado doméstico, pese a basarse en la arquitectura de una GPU, cada vez estén perdiendo más la capacidad generar gráficos. Por lo que la G empieza a sobrar, y se están convirtiendo más bien en NPU de altas prestaciones.

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x