Support for Epiphany chip and Parallella board?


#1

Does anyone here have experience with, or know much about, the Epiphany chips and Parallella boards that use them?

The idea (originally funded on Kickstarter) was to make parallel computing hardware more accessible; Parallella boards are only about $150.

The Parallella board apparently has an ARM running its OS (which typically comes pre-loaded with some flavor of Linux) and a separate many-core Epiphany chip.

I don’t know anything about the Epiphany architecture, but having Rust support for a cheap 18-core board would be yet another good way to show off Rust’s potential.


#2

It looks like their most current LLVM fork is here:

Since rustc now supports dynamic backends, it should be possible to use this separate LLVM just for an Epiphany target.


#3

Stupid question: what do you mean by “dynamic backend”?


#4

The compiler will now load its “trans” crate dynamically at runtime, with the ability to load different versions (with different LLVM) depending on the target. See PR45684, PR47671, and PR47730. So Epiphany could use its own LLVM fork just like Emscripten does.


#5

Hi, I’m writing the LLVM backend mentioned above, and I’m actually interested if someone is willing to try using it for Rust. So any examples/feedback/questions are welcome.

The backend itself is in alpha stage, but it still works at least for demos provided by Adapteva


#6

@upcFrost Unfortunately I don’t actually have the hardware myself, and despite how inexpensive it is, I probably won’t be given access to one in the near future.