The Parallella is a product that likely would never have existed without the concept of crowdfunding. Developed to provide a low-cost entry point for developers to experiment with Adapteva’s innovative many-core Epiphany architecture, its development was funded by a Kickstarter campaign that saw initial models of the board sell for just $99 (£62.15).
Sadly, the cost of the Parallella has risen since then: the entry-level model, a headless version dubbed the Micro- Server, costs £95.77; the Desktop variant, as reviewed, costs £117.67; the top-end Embedded Platform version is the most expensive at £189.53.
At first glance, the Parallella appears to have priced itself out of the market. However, a look at the specifications reveal that this isn’t the case. While the dual-core Cortex-A9 MPCore CPU running at 800MHz is far from blazing-fast, the Zync system- on-chip processor also includes an FPGA with 28,000 logic cells, a small subset of which are available for customer use. The remainder work to drive the HDMI output of the Desktop and Embedded models, among other tasks. For bigger tasks, the Zynq 7020 of the Embedded variant boosts the available cells to 85,000 and doubles the available GPIO endpoints to 48 from 24, making it the obvious choice for anyone interested in FPGA programming.
The main selling point of all three models, however, is not contained in the Zynq but sits next to it: the Epiphany-III coprocessor. Invisible to the operating system unless directly addressed through one of its available APIs, the Epiphany boasts around 32 gigaflops of single-precision compute performance from its 16 individual cores, with a 64-core variant promising up to 100 gigaflops in the pipeline for future release.
It’s the Epiphany that will attract most customers to the Parallella and Adapteva has worked hard to make it as accessible as possible. While the novel architecture means that existing software won’t work out-of-the-box, a GitHub repository is populated with examples ranging from a port of the John the Ripper password cracking tool that shows a massive performance increase when running under Epiphany to accelerated Mandlebrot generation algorithms. Various APIs are available to the programmer, including an uncertified and partial version of the OpenCL API – a familiar environment to anyone working with parallel programming.
The board itself is compact, but its thermal envelope is large: a bundled heatsink takes up most of the surface of the board, with a 5V fan – not supplied – recommended if you’re using the board under sustained, heavy loads. Surprisingly, it’s not the Epiphany that generates this heat but the Zynq that’s to blame.
The Desktop Parallella variant on review includes HDMI output and USB OTG inputs to act as a standard desktop microcomputer, a task at which it performs admirably. The one caveat here is the graphics acceleration, of which there is none; work continues on an accelerated GPU implemented in the FPGA, but for now the graphic output is a raw framebuffer.
The Parallella community, now some 10,000-strong, is working hard to port common applications to take advantage of the Epiphany. But for now though, it remains accessible only to those willing to take the time to port applications to one of its APIs. Coupled with the GPIO pins, available only on the Desktop and Embedded variants, being hidden away on unfriendly high- density Samtec connectors, the Parallella is not the best choice for absolute beginners nor those with more of an interest in electronic hobbyist topics.
For programmers though, the Parallella is a remarkably cheap means of getting a low-power platform that allows for experimentation in coding for ARM, FPGA and the Epiphany architecture in one compact package.
The Epiphany chip gives the Parallella remarkable performance for a tiny power draw, but the Zynq processor is hardly the fastest we’ve seen. For programmers investigating parallel processing or FPGA work it’s a no-brainer, but a lack of support from pre-existing applications makes the Parallella very much a bleeding-edge investment.