Parallel Computing On The PicoCray RP2040 Cluster

PicoCray - Raspberry Pi Pico Cluster

[ExtremeElectronics] cleverly demonstrates that if just one Raspberry Pi Pico is great, then nine must be wonderful.  The PicoCray task connects multiple Raspberry Pi Pico microcontroller modules into a parallel architecture leveraging an I2C bus to converse between nodes.

The identical PicoCray code runs on all nodes, but a grounded pin on a single of the Pico modules indicates that it is to run as the controller node.  All of the remaining nodes operate as processor nodes.  Each individual processor node implements a random again-off method to request an deal with from the controller on the shared bus. Immediately after waiting a random sum of time, a processor will look at if the bus is being made use of.  If the bus is in use, the processor will go again to waiting around.  If the bus is not in use, the processor can request an address from the controller.

After a processor node has an deal with, it can be sent jobs from the controller node.  In the example application, these duties require computing aspects of the Mandelbrot Set. The distinct factors to be computed in a offered job are allotted by the controller node which then afterwards collects the results from every processor node and aggregates the outcomes for display screen.

The name for this undertaking is impressed by Seymore Cray. Our Father of the Supercomputer biography tells his story which includes why the Cray-1 Supercomputer was referred to as “the world’s most highly-priced loveseat.” For even more Cray-1 inspiration, verify out this Raspberry Pi Zero Cluster.