Discussion about Parallella (and Epiphany) Software Development

Moderators: amylaar, jeremybennett, simoncook


Postby Timtator » Sun Aug 23, 2015 12:15 pm

Hi all,

I have several very noob question to clarify my understanding, so please bare with me.
I am working on a project, which involves a lot of learning as I go, and I would prefer to learn and make use of MPI and STDCL to run my project on my 4 node cluster of parallella boards.

Question 1. Am I correct that the use of MPI (openMPI) allows for me to split a program across my cluster?
Question 2. Am I correct that the use of STDCL allows for me to compute parts of my program using my epiphany cores?

I current have installed:
OpenMPI 1.6.5-8

Question 3. In order to use both of these together, do I either need to make use of the (currently undownloadable) library LIBCOPRTHR_MPI in conjunction with COPRTHR-1.6.1 SDK and OpenMPI 1.6.5-8? (or just wait for COPRTHR 2.0 SDK to be released?)

Question 4. If the answer to question 3 is yes, would it be recommended to wait for COPRTHR 2.0 SDK to be released before I begin attempted to code my application? (Remembering that I will be learning as I go).

I just want to make sure I fully understand correctly. As it stands, I think I need to use MPI to run the program across my cluster, and STDCL to run my calculations on the epiphany cores, but might be better off waiting for COPRTHR 2.0 SDK.

Thanks in advance.

Posts: 10
Joined: Tue Jul 21, 2015 8:18 am


Postby Timtator » Thu Sep 10, 2015 7:51 am



Do I need to wait for 2.0 to make use of both MPI and STDCL?

Posts: 10
Joined: Tue Jul 21, 2015 8:18 am


Postby jar » Tue Sep 15, 2015 8:15 pm

1. Probably, yes. The problem must be amenable to distributed memory systems and requires with some non-trivial software development on your part.

2. STDCL (the STanDard Compute Layer) is, in a nutshell, an simplified interface and tools to access the underlying OpenCL API. STDCL is part of the COPRTHR SDK

With that being said, you may want to look at the MPI preview. The OpenCL C language (the Khronos standard) lacks a mechanism for efficient inter-core communication because it is a GPU API (don't delude yourself about other architectures). With the COPRTHR MPI interface, you would have two layers of MPI parallelism (at the hosts and then again for each Epiphany coprocessor).

3. Seems like the download is available now. The BDT website could have been down when you tried. ... hitecture/

4. I wouldn't wait unless there is a routine in the COPRTHR MPI preview that you cannot live without (if there is, let BDT know). Admittedly, I had some difficulty converting all Epiphany inter-core communication to the most efficient MPI_Sendrecv_replace() routine where it sometimes didn't make sense. You could also roll your own as a stopgap to the next release.
User avatar
Posts: 295
Joined: Mon Dec 17, 2012 3:27 am


Postby Timtator » Tue Sep 22, 2015 12:48 am

Thank you very much for taking the time to reply.

I will focus my energy towards using MPI and OpenCL
Posts: 10
Joined: Tue Jul 21, 2015 8:18 am

Return to Programming Q & A

Who is online

Users browsing this forum: No registered users and 8 guests