OpenMP Support

OpenMP Support

Postby Takouh » Mon Jan 28, 2013 4:44 pm

Hello,

I am wondering if there will be an OpenMP SDK for Parallella boards. Is there any information regarding this matter?
Takouh
 
Posts: 13
Joined: Mon Jan 28, 2013 4:39 pm
Location: Stockholm, Sweden

Re: OpenMP Support

Postby olivererxleben » Mon Jan 28, 2013 5:13 pm

Hi,

Good question, I thought OpenMP is supported by gcc since 4.2 and I think it is implemented by the ephiphany gcc?!
User avatar
olivererxleben
 
Posts: 6
Joined: Sun Jan 27, 2013 9:45 am
Location: Germany

Re: OpenMP Support

Postby elecnix » Fri Feb 08, 2013 4:12 am

FastFlow (LGPLv3) claims 35% performance over OpenMP:

http://calvados.di.unipi.it/dokuwiki/do ... pace:about
elecnix
 
Posts: 1
Joined: Mon Dec 17, 2012 3:21 am

Re: OpenMP Support

Postby tjt7a » Fri Apr 19, 2013 9:24 pm

Is there support for OpenMP?

Tom
tjt7a
 
Posts: 17
Joined: Fri Feb 22, 2013 7:13 pm

Re: OpenMP Support

Postby aolofsson » Fri Apr 19, 2013 11:16 pm

Not yet, but support for OpenMP is in the plans.
Andreas
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: OpenMP Support

Postby kblomqvist » Thu Aug 29, 2013 2:13 pm

Forgive my ignorance but wasn't OpenMP support one of the deliverables for Kickstarter backers? "The book "An Introduction to Parallel Programming" to be written by the Adapteva team.(your choice) The book will be provided in PDF form and will include source code examples of parallel programs that use OpenCL, OpenMP, Erlang, and MPI."

Cheers,
Kim
kblomqvist
 
Posts: 1
Joined: Wed Aug 28, 2013 7:05 pm

Re: OpenMP Support

Postby greton100 » Fri Jan 03, 2014 1:47 pm

After coding many years C++, it seems difficult to learn OpenCL. I have read tutorials for 1 hour but I can't find understandable hello worlds, seems that it takes a page of code to write one.

Without a drop-in parallel library such as OpenMP, it's hard to think that Parallella would be "a supercomputer for everyone". You should have a tutorial on the parallella website that at least guides you to write a single parallelized for-loop in some beginner-friendly way, for example
Code: Select all
#include <omp.h>
#pragma omp parallel for


Also, it seems that a C programmer has done all the samples, cause there are not many comments and variable names are a, b, c and tmp.

Perhaps I'm missing something?
greton100
 
Posts: 4
Joined: Fri Jan 03, 2014 1:32 pm
Location: Finland

Re: OpenMP Support

Postby aolofsson » Fri Jan 03, 2014 8:32 pm

I agree that OpenCL can be quite verbose. Have you looked at some of the OpenCL wrappers out there? We will eventually have openMP ready for release along with other easy to use frameworks.

Let me know if the following example helps at all? I don't think parallel programming is very difficult with the Epiphany at least for simple examples and well suited problems. Perhaps being a hardware person I just have a very high pain threshold. :D

https://github.com/adapteva/epiphany-ex ... parallella

Andreas
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: OpenMP Support

Postby greton100 » Tue Jan 07, 2014 7:32 am

Thanks for the fast response, Andreas!

aolofsson wrote:Have you looked at some of the OpenCL wrappers out there?

I did not realize there were some, but now I found this: http://streamcomputing.eu/knowledge/for ... -wrappers/ I will look through the list. Can anyone recommend beginner-friendly C++ wrappers? Popularity is a plus. Also, do you think programming OCL for GPU and Epiphany is similar; if I find a good OCL-GPU-wrapper, will it work equally well with Epiphany?

aolofsson wrote:Perhaps being a hardware person I just have a very high pain threshold. :D

I'm pretty confident on that, being able to complete this project so far!

aolofsson wrote:https://github.com/adapteva/epiphany-examples/tree/master/hello_parallella

This isn't the kind of stuff I want to see in my application code, so I better stick to OCL wrappers or wait for OpenMP support or higher level Epiphany tools. Sounds like I'm lazy, but that's only half of the truth. The other half is that max 5-10 % of my working time can be spent on optimization, so I really try to look for magic functions that just solve many of the bottlenecks. I would appreciate if there were simple 1-2-3 instructions at the Paralella developers page.

Anyway, I hope I did not sound too rude. Really looking forward to get my Parallella!
greton100
 
Posts: 4
Joined: Fri Jan 03, 2014 1:32 pm
Location: Finland

Re: OpenMP Support

Postby dar » Sat Jan 11, 2014 5:18 am

Following up on the discussion of OpenCL wrappers. I would avoid OpenCL wrappers. If the OpenCL API cannot stand on its own, wrappers are not a long term solution. A significant issue is that Epiphany is not a GPU and OpenCL was designed around a GPU. So OpenCL GPU code will take you astray. We have learned this from experience.

Consider STDCL. Its not a wrapper but it leverages OpenCL for portability, at the moment at least, the way other APIs do, like OpenACC (though its very different from OpenACC). STDCL supports Parallella now with the COPRTHR SDK v1.6 released yesterday. The SDK also provides a more direct API that may be of interest in the context of getting OpenMP to work on Parallella for any project aimed in that direction. Many OpenMP implementations use pthreads for a thread pool. The COPRTHR direct API includes a logical extension of pthreads to co-processors. Parallella is a target for support. That may provide a useful connection in the future.

So there are really two interwoven issues here. If you want a quick example of parallel code for Parallella, STDCL is very simple and there are a lot of tools in place, like clcc that supports a standard compilation model - these things are available now, not future projects.

If you are looking for a programming quick start with examples for Parallella, we are hoping to post something within days. No tedious verbose OpenCL headaches. Just simple clean code.
dar
 
Posts: 90
Joined: Mon Dec 17, 2012 3:26 am

Next

Return to OpenMP

Who is online

Users browsing this forum: No registered users and 1 guest

cron