Home made GPU escalated quickly [video]

Hacker News Top 新闻

摘要

作者使用65536个低成本RISC-V微控制器(CH570)自制了一个GPU类并行计算集群,实现了QVGA分辨率渲染,并解决了电源、散热和编程自动化等工程挑战。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/07/08 08:19

TL;DR: 这是一个自制超级计算集群的项目,使用65536个低成本RISC-V微控制器作为“像素”,通过精心设计PCB、浸没式冷却和自动化编程,最终构建了一个拥有数千个核心的GPU类并行计算系统。 ## 项目起源与目标 作者在之前使用WCH CH32V3芯片的M.2集群基础上,受到Altium赞助的激励,计划构建一个更庞大的集群。灵感来自“每个像素一个MCU”的疯狂想法,目标是实现QVGA分辨率(320×240),需要65536个MCU。选择WCH CH570芯片(13美分,100MHz,12KB SRAM,带硬件乘法和原生USB),总成本约8500美元。WCH的首席技术官Patrick不仅保证有货,还主动提出免费提供10000个MCU。 ## 硬件设计挑战 ### 功耗与散热 65536个MCU每个消耗约10mA电流,总电流650A,3.3V电压下功耗约2kW(接近欧洲插座上限3kW)。加上RGB LED和其他损耗,99.9%的功率转化为热量,因此采用浸没式冷却(半米亚克力容器)。 ### PCB设计与信号完整性 每个刀片包含1024个小MCU(32行×32列)和32个行控制器。使用六层板:第二层和第五层为地平面,所有信号线被地包围(类似带状线/共面波导混合体),并采用阻抗匹配(Altium Designer自动设置走线宽度)。电源分配使用底层(双倍铜厚),每列LED和MCU通过铜皮供电。 ### 时钟与晶振问题 最初计划从行控制器的PWM引脚提供32MHz时钟以节省晶振成本,但发现时钟信号在高速时严重变形(峰值电压超过芯片时钟引脚上限1.4V)。最终不得不为每个MCU添加晶振,导致重新设计PCB(在拥挤布局中额外插入晶振封装)。测试板验证后,MCU终于稳定工作。 ### SPI通信与调试 SPI通信使用硬件SPI(不占用处理能力),每个SPI总线上挂32个MCU,行控制器通过独立片选通信。刚开始发现MOSI信号在片选激活时电压减半,原因是高层设计中MOSI和MISO接反(电气工程第一定律:RX/TX总是会搞反)。通过串联电阻修复后,测试SPI最高时钟频率:15Mbps是绝对上限,超过需超频,7.5Mbps时稳定无毛刺。 ## 制造与调试 ### 刀片设计与制造 最初设计整刀片(超过10000个过孔和5000个元器件)超出制造服务器处理能力,被迫将刀片一分为二。使用更小的PCI Express连接器,重新上传Gerber文件成功。订购4块组装板和1块裸PCB花费400欧元。测试板到货后,发现SPI通信问题并修复。 ### 编程自动化 每个MCU有独立编程焊盘(在板子背面),使用Bumblebee 3D打印机(Y方向行程足够)配合自制探针臂和Python脚本自动编程。通过OpenOCD作为子进程,逐步调整探针位置扫描MCU。15Mbps下编程速度可行,偶尔漏掉少数MCU需重试。 ## 最终构建与电源 ### 底板设计 底板使用FPGA作为总线根节点,通过USB连接。采用XT60连接器供电(经济方案)。为16刀片版本(共16384个MCU,QWGA分辨率),设计底板重复利用层级结构。电源使用Corsair 3kW PC电源,经Murata降压转换器(95%效率,30A)降至3.3V,共20个模块满足80A需求。 ### 最终组装 刀片和底板到货后,发现四级MCU下方有编程焊盘被遮挡的小失误,但整体设计成功。PCB精度达到0.1mm走线。 ## 工具推荐 Altium Designer的多通道设计(`repeat`关键字)、PCB设计工具中的规则检查、阻抗匹配、极坐标网格、电流检查等功能在此大型项目中不可或缺。 ## 来源 https://www.youtube.com/watch?v=qMR3IXF2sWw

相似文章

DIY RISC-V ultracluster

Lobsters Hottest

一位硬件爱好者使用8192个RISC-V微控制器(CH570)构建了一个浸没式冷却的超级集群,并分享了在时钟、SPI信号和产能方面的挑战与解决方案。