How the @#$% do I program the Parallella?

Since the Parallella Kickstarter campaign in 2012 the one question I get more than any other is ” How the @#$% do I program this thing?”

You are never going to become fluent in parallel programming without coding, so pick a card, any card. Let’s do some parallel programming!

Thanks to the incredible open source work that has come out of the Parallella community over the last year, we now have all major parallel programming models supported.


MPI (Message Passing)

Many said it couldn’t be done, but David Richie and Brown Deer Technology now has a very effective standard MPI (message passing interface) running on Epiphany!

Blog post

2D FFT Example

Academic Paper


BSP (Bulk Synchronous Parallel)

The BSP programming model invented by Leslie Valiant and Bill McColl has been resurrected for the Epiphany thanks to Jan-Willem Buurlage and others at the University of Utrecht, Netherlands.

Sources


Python (Thread/message)

A tutorial framework that’s fantastic for learning from Nick.

Example

Sources


OpenMP (Threading)

Thanks to the heroic efforts of Parallel Processing Group at University of Ioannina, Greece, there is now OpenMP 4.0 support for Parallella. Please try it!

Download


OpenCL (Threading and SIMD)

Brown Deer Technology has continued to work on the OpenCL infrastructure and updated it to the latest Epiphany SDK. The latest version aptly named “Freewill” is now available

Download


ERLANG (Message Passing)

Community member Merk Fleming has implemented the native Erlang interface for Epiphany along for heterogeneous programming within Erlang. Heterogeneous software and hardware is the future, so this is very encouraging. Mark has contributed his code to the new Parallel Architectures Library.

Blog Post

Sources


COPRTHR/STDCL (Threading)

An effective “coprocessor thread” alternative from Brown Deer Technology that lets you expose the parallelism available in a POSIX like manner. For the Epiphany, this is a more suitable programming model than the GPU/SIMD centric OpenCL programming model.

Download

Sources


BASIC

Community member Nick has put together an Epiphany BASIC (for parallel). A neat and simple way to get going with parallel programming.

Forum Thread

Sources

In addition we know there are people working on Haskell, Occam, APL, and Forth…

Andreas

12 Comments

  • yao says:

    can i use c++ to program it?
    Thanks!

  • Sia Bahrami says:

    Hi,
    I am an Opto Mechanical In the process of designing a camera, for a client, each camera will be fitted with “P1601-DK02” Parallella PCB Assy, It would be a great help if I have the STEP or IGES of the above board, I can’t find the technical contact details on the website to send an e-mail to Parallella and send a request. Can anyone help please?
    With thanks.
    Sia.

  • Within the last times i’ve worked very hard on an innovative new style of bot that’ll let you do without
    worrying that you’ll drop the game.

  • Jack says:

    Can Paralella be used in a ‘homemade’ supercomputer environment, where a bank of Parallelas can be used to process an overall project, problem or simulation that has been broken down into smaller chunks that each individual Parallela in the bank is assigned to process?

    If so, how can the bank of Parallelas be coordinated so that individual assignments can be managed for a given bank?

    Thanks!

  • Jack says:

    Is there a reference work for Parallela that describes the types and limits of software that can be loaded on the micro-SD card for the Linux system to use?

    And can external storage be implemented so that non-system data can be stored somewhere other than the micro-SD card?

    Thanks!

  • How would we support your chip with our realtime Java bytecode VM?
    How would we support your chip with our ahead-of-time compiler so that we run on your chip using your
    machine code, not interpreted?
    Do these questions make sense for your chip?
    Do you have an emulation that one of our developers would work with at some point?

  • Craig Munro says:

    Has anyone tried getting Swift to work ? https://swift.org/source-code/

  • James Tang (Lockheed Martin retiree) says:

    I like your P1602 with larger FPGA. I am interested in your Epiphany V. I would like to use parallella for parallel processing quaternion and dual-quaternion in aerospace projects. Will you continue production of P1602? If you could put Epiphany V in your P1602 in the future? (I could not find P1602 in Amazon, Digi-Key charges more).

  • MALLIKARJUNA G says:

    Dear sir

    am interested to buy this board. we are building our own GPS receiver for that we are realizing RF front end using MAX2769
    and to realize Complete GPS Receiver with parallella board am not finding any software support. As you told Parallella Hardware and
    software is opensource. if it is so please provide the Supporting information.

Leave a Reply