160-core RISC V Board Is The M.2 CoProcessor You Didn’t Know You Needed

Aside from GPUs, you don’t hear much about co-processors these days. [bitluni] perhaps missed those days, because he found a way to squeeze a 160 core RISC V supercluster onto a single m.2 board, and shared it all on GitHub.

OK, sure, each core isn’t impressive– he’s using CH32V003, so each core is only running at 48 MHz, but with 160 of them, surely it can do something? This is a supercomputer by mid-80s standards, after all.  Well, like anyone else with massive parallelism, [bitluni] decided to try a raymarcher. It’s not going to replace RTX anytime soon, but it makes for a good demo.

Like his previous m.2 project, an LED matrix,  the cluster is communicating over PCIe via a WCH CH382 serial interface. Unlike that project, blinkenlights weren’t possible: the tiny, hair-thin traces couldn’t carry enough power to run the cores and indicator LEDs at once. With the power issue sorted, the serial interface is the big bottleneck. It turns out this cluster can crunch numbers much faster than it can communicate. That might be a software issue, however, as the cluster isn’t using all of the CH382’s bandwidth at the moment. While that gets sorted there are low-bandwidth, compute-heavy tasks he can set for the cluster. [bitluni] won’t have trouble thinking of them; he has a certain amount of experience with RISCV microcontroller clusters.

We were tipped off to this video by [Steven Walters], who is truly a prince among men. If you are equally valorous, please consider dropping informational alms into our ever-present tip line

Continue reading “160-core RISC V Board Is The M.2 CoProcessor You Didn’t Know You Needed”

LED Matrix Built For M.2 Interface

The M.2 slot is usually used for solid-state storage devices. However, [bitluni] had another fun idea for how to use the interface. He built an M.2 compatible LED matrix that adds a little light to your motherboard.

[bitluni] built a web tool for sending images to the matrix.
[bitluni] noted that the M.2 interface is remarkably flexible, able to offer everything from SATA connections to USB, PCI Express, and more. For this project, he elected to rely on PCI Express communication, using a WCH CH382 chip to translate from that interface to regular old serial communication.

He then hooked up the serial interface to a CH32V208 microcontroller, which was tasked with driving a 12×20 monochrome LED matrix. Even better, he was even able to set the microcontroller up to make it programmable upon first plugging it into a machine, thanks to its bootloader supporting serial programming out of the box. Some teething issues required rework and modification, but soon enough, [bitluni] had the LEDs blinking with the best of them. He then built a web-based drawing tool that could send artwork over serial direct to the matrix.

While most of us are using our M.2 slots for more traditional devices, it’s neat to see this build leverage them for another use. We could imagine displays like this becoming a neat little add-on to a blingy computer build for those with a slot or two to spare. Meanwhile, if you want to learn more about M.2, we’ve dived into the topic before.

Continue reading “LED Matrix Built For M.2 Interface”