EEVblog Electronics Community Forum

Electronics => Projects, Designs, and Technical Stuff => Topic started by: sponaugle on January 09, 2021, 04:45:38 am

Title: Arduino Multiprocessor SAMD board in a 4D hypercube arrangement..
Post by: sponaugle on January 09, 2021, 04:45:38 am
I decided I wanted to do an interesting project over the holiday break, and I figured building a small 16 CPU 'board' that interfaces with the Arduino development environment would be kinda fun.   Arduino now supports the 32 bit ARM based SAMD processors, and they are super cheap.  I ordered up some SAMD21G18s, which are 48 pin devices that support 6 serial ports.   I did a quick board design in Diptrace, sent the boards off to JLCPCB, and was happily surprised that they worked!

4 serial ports are used per main CPU to do interconnects, plus a 5th serial port going to a supervisor CPU that also handles the USB interface, flashing, reseting, and some other interface work.  The interconnect on each board is a matrix with connectors on the outer edge.  Using a stack of 4 boards you get 16 CPUs with 4 interconnects each in a 4D hypercube arrangement.   That is a great interconnect arrangement because each CPU is connected to all other nodes that have a single bit change difference in CPUID (0-15).  If you add more boards you can convert to a 2D Torus arrangement.   There is also a ring bus for the supervisor nodes. 

I put together a simple message passes library as well as a simple barrier synchronization capability.

This isn't a high powered supercomputer, given that it is just 8 or 16 ARM cores at 48MHz, but it is a fun platform for experimenting with processor interconnects.  Since the board to board interconnects are on connectors you can do other arrangements.

I also made a very short quick video about it - https://www.youtube.com/watch?v=YOk8v4Uu1nk&feature=youtu.be (https://www.youtube.com/watch?v=YOk8v4Uu1nk&feature=youtu.be)

It's not the most sophisticated project, but still something fun to build.    Happy to share sourcecode/schematics/etc on github if anyone is interested.

Jeff

Title: Re: Arduino Multiprocessor SAMD board in a 4D hypercube arrangement..
Post by: DC1MC on January 09, 2021, 04:57:44 am
Weeee, Arduino transputer, brings back memories  ;D.
Title: Re: Arduino Multiprocessor SAMD board in a 4D hypercube arrangement..
Post by: sponaugle on January 09, 2021, 05:09:12 am
Ha!  Yea those transputers seemed so cool at the time.