Parallella is much more than simply a hardware project, and software that is able to harness the power of massively parallel systems is going to be crucial to achieving our goal of making parallel computing accessible to everyone. This includes everything from languages and frameworks that make such systems easier to program, through libraries and toolkits that provide the building blocks for powerful applications, to demonstrators and end-user applications that underline the opportunity.
Ecosystem Foundations
The Epiphany SDK and COPRTHR OpenCL implementation together provide the foundations of our software ecosystem: the compiler and debugger infrastructure, C library, and framework for creating heterogeneous applications that execute across ARM and Epiphany cores.
Only a limited number of prototype boards exist at the time of writing, but we have extensive hardware documentation, source code for the SDK that includes libraries, loader and Linux device driver, and a functional simulator for a single Epiphany core.
We are now in a position to start thinking in more detail about what the missing pieces of our software ecosystem might look like, and work has already been started in a number of key areas.
Work Under Way
Right now members of the community are either developing, or exploring how we might develop, support for:
- Erlang
- Python
- Go
- Forth
- An Epiphany operating system
- GNU Radio
There could easily be efforts that we’ve missed, it’s impossible to know what everyone in the community is working on and some prefer to not share details until certain progress has been made. But suffice to say it’s a really great start!
A Call to Action
If you’re working on something and in a position to do so I’d encourage you to share details via the forums, as this will help to further build momentum in the community and could lead to opportunities for collaboration. Similarly, if you have an idea for something that you’d like to work on but perhaps need some guidance, the forums are great place to find that support.
The Kickstarter surveys helped us identify technologies which we need to make a priority, and those which as far as we know are not currently been worked on include:
- Computer vision, e.g. OpenCV
- Hadoop
- BOINC (as used by SETI@home)
- OpenMP
- MPI
If you have experience with any of the above, we need your help!
