Making parallel computing easy to use has been described as “a problem as hard as any that computer science has faced”. With such a big challenge ahead we need to make sure as many people as possible have access to open parallel hardware and development tools.
Inspired by great hardware communities like Raspberry Pi and Arduino, we also see a critical need for a truly open, high-performance computing platform that will enable us to close the knowledge gap in parallel programming.
The goal of the Parallella project is to democratize access to parallel computing through providing an affordable open hardware platform and open source tools, and supporting learning and the development of software which is able to harness the power of parallel systems.
To make parallel computing ubiquitous, developers need to have access to a platform that is affordable, open and easy to use.
The Parallella platform will be built on the following principles:
- Open Access: Absolutely no NDAs or special access needed! All architecture and SDK documents must be published on the web.
- Open Source: The Parallella platform will be based on free open source software (FOSS) development tools and libraries. All board design files will be provided as open source once the Parallella boards are released.
- Affordability: Hardware cost and SDK costs have always been a a huge barrier to entry for developers looking to develop high performance software. The goal is to bring the Parallella high performance computer cost below $100, making it an affordable platform for all.
Although the initial focus has been on delivering the hardware platform this is only part of the story and Parallella is also very much an open source software project.
One important goal of Parallella is to teach parallel programming and the project will strive to be objective with respect to programming models. The only hard requirement is that the language/method chosen must be supported by free and open source development tools. Parallel programming projects and examples will be published based on all influential parallel programming languages and frameworks.
Beyond the Parallella SDK and learning materials we will support the development of open source languages, frameworks and applications that are able to unlock the potential of massively parallel computing architectures. Working closely with other open source communities and fostering cross-project collaboration.