- En experimentos donde se hicieron funcionar GPU de AMD, Intel y Nvidia en una Raspberry Pi 5 y se compararon con una PC de escritorio, se confirmó en muchos casos una pérdida de rendimiento de apenas entre 2% y 5%
- Se probaron cuatro áreas: transcodificación con Jellyfin, renderizado con GravityMark, inferencia de LLM/IA y configuraciones multi-GPU, para medir eficiencia y rendimiento por costo
- En un caso con 4 Nvidia RTX A5000 conectadas, se observó una diferencia de rendimiento menor al 2% frente a un servidor Intel, donde el papel clave lo tuvo el uso compartido de memoria entre GPU a través de un switch PCIe
- El costo total del sistema eGPU con Raspberry Pi fue de aproximadamente $350 a $400, mientras que una PC costó entre $1500 y $2000; además, el consumo eléctrico de la Pi fue mucho menor (en reposo, 4 a 5W vs 30W)
- Es un caso que demuestra el potencial de Raspberry Pi como plataforma alternativa de bajo consumo y bajo costo para aprovechar GPU grandes de forma eficiente
Resumen del experimento
- Se verificó la posibilidad de aprovechar GPU incluso considerando la limitación de ancho de banda de PCIe Gen 3 x1 (8 GT/s) de la Raspberry Pi 5
- La comparación fue contra una PC de escritorio moderna (PCIe Gen 5 x16, 512 GT/s)
- Las pruebas incluyeron transcodificación de medios (Jellyfin), renderizado por GPU (GravityMark), rendimiento de LLM/IA y configuración multi-GPU
- Se realizó una prueba de dos GPU funcionando al mismo tiempo usando un switch externo PCIe Gen 4 y backplane de 3 ranuras de Dolphin ICS
Caso de Raspberry Pi con 4 GPU conectadas
- El usuario de GitHub mpsparrow conectó 4 GPU Nvidia RTX A5000 a una sola Pi
- Al ejecutar el modelo Llama 3 70B, la diferencia de rendimiento frente a un servidor Intel fue de menos del 2% (11.83 vs 12 tokens/sec)
- Gracias al switch PCIe, fue posible compartir memoria entre GPU y así evitar la limitación de ancho de banda de la Pi
- Incluso con una sola GPU, en algunas tareas se confirmó un rendimiento equivalente o superior al de una PC de escritorio
Comparación de costos y eficiencia
- Configuración eGPU con Raspberry Pi: aproximadamente $350 a $400; configuración con PC Intel: aproximadamente $1500 a $2000
- Consumo en reposo: Pi 4 a 5W, PC 30W
- Excluyendo la GPU, la Pi mostró ventaja tanto en costo como en eficiencia energética bajo las mismas condiciones
Benchmark de transcodificación con Jellyfin
- Con una Nvidia 4070 Ti, la PC fue superior en rendimiento bruto (2GB/s)
- La Pi se quedó en PCIe 850MB/s y SSD USB 300MB/s
- Sin embargo, en streaming de medios H.264/H.265, la Pi también manejó sin problemas la transcodificación de 1080p y 4K
- Hubo soporte para codificación por hardware NVENC y también fue estable con 2 transcodificaciones simultáneas
- Las GPU de AMD presentaron algunos problemas de estabilidad en transcodificación
Prueba de renderizado con GravityMark
- Las pruebas se centraron en GPU de AMD; la PC fue ligeramente más rápida, pero la diferencia fue mínima
- Con una RX 460, la Pi registró mayor eficiencia (rendimiento/W) que la PC
- En GPU antiguas con el mismo ancho de banda PCIe Gen 3, la Pi obtuvo una ventaja relativa
Comparación de rendimiento en IA y LLM
- En la prueba con AMD Radeon AI Pro R9700 (32GB VRAM) se observó un rendimiento menor al esperado, posiblemente por problemas de drivers o de configuración BAR
- Con una Nvidia RTX 3060 (12GB), la Pi fue más rápida que la PC en el modelo Llama 2 13B
- En las mediciones de eficiencia, la Pi superó a la PC en rendimiento por consumo eléctrico
- Incluso en la prueba con RTX 4090, la diferencia de rendimiento fue de menos del 5% con modelos grandes como Qwen3 30B, y en muchos casos la Pi fue superior en eficiencia
- Tanto el backend de CUDA como el backend de Vulkan funcionaron correctamente en la Pi
Experimento de configuración dual GPU
- Se usaron la tarjeta de interconexión PCIe de Dolphin y la MXH932 HBA
- Al desactivar ACS, se permitió el acceso directo a memoria entre GPU
- Con combinaciones de GPU de modelos distintos (4070, A4000), no hubo soporte para VRAM pooling, lo que limitó la mejora de rendimiento
- Con una configuración de GPU idénticas, fue posible ejecutar modelos más grandes como Qwen3 30B
- La combinación AMD RX 7900 XT + R9700 no pudo ejecutar algunos modelos debido a problemas de drivers
- La PC Intel fue más rápida en general, pero la Pi también mantuvo un rendimiento cercano con modelos grandes
Conclusión
- En rendimiento absoluto y comodidad, la PC sigue siendo superior
- Pero en cargas de trabajo centradas en GPU y en entornos de bajo consumo y bajo costo, la Raspberry Pi es una alternativa práctica
- Con un ahorro de 20 a 30W en reposo, y considerando que las SBC basadas en Rockchip y Qualcomm ofrecen aún mayor eficiencia y ancho de banda de E/S, el potencial es claro
- El propósito del experimento fue aprender sobre las limitaciones de la Pi y la arquitectura del cómputo con GPU, y en el proceso se confirmó el potencial de los sistemas pequeños
1 comentarios
Opiniones en Hacker News
Para correr LLM en local, al final lo clave es la GPU
Así que estoy pensando cuál es la computadora más barata que se le puede poner al lado a una GPU
No tengo la capacidad de entender o arreglar problemas como BAR, así que simplemente uso una caja x86 barata con una GPU decente conectada
Pero no se me quita de la cabeza la idea de que todavía debe de haber una forma más eficiente
El sitio es inferbench.com, y el código fuente está en el repositorio de GitHub
Creo que la GPU necesita al menos 128GB de RAM
El rendimiento del CPU puede ser bajo, pero como debe soportar varias líneas PCIe, un CPU de servidor de gama baja como AMD EPYC parece adecuado
Encaja bastante bien con LLM de tamaño mediano
No entiendo que te haya sorprendido la parte de múltiples GPU
La mayoría de los frameworks para LLM (por ejemplo, llama.cpp) dividen el modelo por capas, así que se genera una dependencia secuencial y no hay trabajo realmente paralelo aunque uses varias GPU
Algunas GPU son más rápidas para procesar prompts, y otras para generar tokens, así que a veces mezclar Radeon y NVIDIA sí funciona
La mejora real de rendimiento viene de backends con modos como tensor parallel
Ahí la red neuronal se divide en la dirección del flujo de datos, así que conviene tener buenas conexiones entre GPU (PCIe x16, NVlink, Infinity Fabric, etc.)
Sin eso, a veces el uso de las GPU se ve muy irregular
También es interesante una arquitectura de agentes que divida el LLM para poder ejecutar varias tareas en paralelo, por ejemplo separando roles de “manager” e “ingeniero”
El modelo manager crea los prompts, los modelos subordinados trabajan en paralelo y luego devuelven los resultados
En realidad crece hasta megabytes dependiendo de la longitud de la secuencia
Por ejemplo, si el hidden state de Qwen3 30B es 5120, con cuantización de 8 bits son 5120 bytes por token
Con solo pasar de 200 tokens ya entra en el rango de MB
Incluso con el ancho de banda de PCIe x1 (unos 2GB/s) alcanza, pero la latencia podría ser un problema mayor
Me da mucho gusto que alguien haga este tipo de experimentos
Yo también usaba una eGPU conectada a una laptop de repuesto y pensaba: “¿no se podrá hacer esto también con una Raspberry Pi?”
Me habría gustado que también vieran el rendimiento en juegos
Aunque claro, es difícil encontrar juegos AAA con soporte para ARM, y no sería justo forzar emulación x86 con FEX
Cuando uso constrained decoding (basado en JSON schema), el uso del CPU sube hasta 100%
He visto lo mismo en mi instancia de vLLM
PCIe 3.0 da alrededor de 1GB/s por línea, o sea una velocidad del nivel de 10Gb Ethernet
Puede que en el futuro llegue el día en que las GPU funcionen de forma independiente, sin sistema host
Ya hubo casos como la Radeon Pro SSG, que llevaba un SSD conectado a la GPU,
y podría bastar con un chip RISC-V pequeño o un controlador del nivel de una Raspberry Pi
Artículo relacionado: TechPowerUp
Una estructura donde la GPU se conecte directamente a un switch de red y use 400Gbe o comunicación basada en CXL parece realista
Además, tecnologías flash de próxima generación como High Bandwidth Flash podrían incluso reemplazar a la DRAM
Artículos relacionados: ServeTheHome, Tom’s Hardware
Ver estos datos me hace replantear la configuración de mi PC principal
Parece que con una mini PC de 300 dólares que consuma menos de 20W sería suficiente
Para navegar, ver videos y jugar algo ligero va sobrada,
y para las tareas pesadas se puede entrar por remoto a una workstation
Incluso con 1 vCPU y 4GB de RAM alcanza para navegar y proyectos de hobby
Creo que los fabricantes de hardware han exagerado en su marketing con eso de que “los profesionales necesitan laptops de alto rendimiento”
La diferencia de TDP genera una diferencia enorme en rendimiento
Además, tener el equipo potente en un espacio insonorizado hace todo más cómodo
Me pregunto por qué sigue siendo necesaria esta estructura de PCI/CPU
Parece más lógico ir en la dirección de Apple y NVIDIA, metiendo CPU y MPP en el mismo paquete
pero puede que no haga una gran diferencia para cómputo a gran escala como IA o HPC