https://hackaday.com/2023/04/09/parallel-computing-on-the-picocray-rp2040-cluster/
作者:Joseph Long 2023年4月9日
[ExtremeElectronics]巧妙地论证,如果一个树莓派Pico就已经很好,那么九个一定更棒。PicoCray项目(https://github.com/ExtremeElectronics/PicoCray)将多个树莓派Pico微控制器模块连接到一个并行架构中,利用I2C总线(https://en.wikipedia.org/wiki/I²C)在节点之间进行通信。
相同的PicoCray代码在所有节点上运行,但其中一个Pico模块上的接地引脚表明它将作为控制器节点运行。所有剩余的节点都作为处理器节点进行操作。每个处理器节点实现随机退避技术,以在共享总线上向控制器请求地址。在等待一段随机时间后,处理器将检查总线是否正在使用。如果总线正在使用中,处理器将返回等待状态。如果总线未被使用,则处理器可以向控制器请求地址。
一旦处理器节点有了地址,就可以从控制器节点向其发送任务。在示例应用程序中,这些任务涉及Mandelbrot集(https://en.wikipedia.org/wiki/Mandelbrot_set)的计算元素。在给定任务中要计算的特定元素由控制器节点分配,控制器节点随后从每个处理器节点收集结果并聚集结果以供显示。
这个项目的名字的灵感来自于Seymore Cray。我们的超级计算机之父(https://hackaday.com/2019/01/15/seymour-cray-father-of-the-supercomputer/)传记告诉了他的故事,包括为什么Cray-1超级计算机被称为“世界上最昂贵的双人沙发;”。要获得更多Cray-1的灵感,请查看树莓派Zero集群(https://hackaday.com/2022/03/21/cluster-your-pi-zeros-in-style-with-3d-printed-cray-1/)。