OpenMP within the Epiphany now possible

OpenMP within the Epiphany now possible

Postby dimako » Fri Mar 13, 2015 5:57 pm

Hello everybody,

We would like to announce the support of OpenMP within the Epiphany-16 chip! A new version (b2) of the OMPi compiler is now available, with the following changes:

  • Added support for OpenMP within the Epiphany-16; almost all OpenMP 3.1 features are available within the offloaded kernels
  • Enhanced the implementation of OpenMP 4.0 device constructs to offload multiple, independent kernels to Epiphany
  • A lot of bug fixes
You can download the OMPi compiler from http://paragroup.cs.uoi.gr/. Please let us know of any bugs, issues or problems.

Because of a pending publication, we currently provide the binaries only. Full source code will be available most probably next month.

The implementation is based on eSDK v.5.13.9.10. Some key points about the implementation:
  • In order to support multiple, independent kernels as well as parallel teams within the Epiphany, each eCore comprises a different workgroup.
  • Many eSDK routines had to be re-written (e.g. e_barrier(), e_mutex_xxx(), etc).
  • A new mechanism was developed for faster group offloading of SREC files onto the Epiphany.
Some points to keep in mind:
  • Depending on the OpenMP constructs utilized within a kernel, 7KiB to 12KiB of an eCore local memory will be occupied (we expect to optimize this more).
  • Multiple, independent and concurrent kernels may be offloaded as long as up to 16 eCores are employed in total (otherwise the kernels are queued till the required number of eCores becomes available).
  • The implementation is not yet highly optimized and may contain some bugs (please let us know of any!).
More information available in the included README.txt. Don't hesitate to contact us if you have any questions.

Best regards,
Vassilios
User avatar
dimako
 
Posts: 8
Joined: Fri Nov 28, 2014 3:10 pm
Location: Ioannina, Greece

Re: OpenMP within the Epiphany now possible

Postby aolofsson » Fri Mar 13, 2015 6:54 pm

Vassilios,

Incredibly exciting to to see that you are proceeding with work!!! I was just thinking you you guys today intended to reach out.:-)

Two small request:

-We hare rewriting the ESDK from scratch and really want collaboration. I look forward to seeing what you have done wrt to efficient barriers and program load.(note, we have depracted srec load for future only elf formats). The new community effort is located here. It would be great if you one consider contributing back some of the smaller piece (like optimized barrier) once you can publish

https://github.com/parallella/pal

-We need to accelerate the innovation and discovery cycle. Once your articles are accepted, please consider pre-publishing at http://arxiv.org/. Most journals/conferences allow it...and if the journals don't allow it then quite frankly they are idiots!

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

Re: OpenMP within the Epiphany now possible

Postby dimako » Wed Mar 18, 2015 2:09 pm

Andreas,

thank you for your kind words.
We are going to share all code as soon as possible. Pre-publication material will also be available, for sure.
We certainly would like to help with the general community effort and I believe we will; let's hope I get new students to join the group! 99.9% of this effort has been the work of a PhD and a Master student of mine, and they are finishing soon :(

Vassilios
User avatar
dimako
 
Posts: 8
Joined: Fri Nov 28, 2014 3:10 pm
Location: Ioannina, Greece

Re: OpenMP within the Epiphany now possible

Postby aolofsson » Wed Mar 18, 2015 6:39 pm

Vassilios,
Have the PhD and masters students contact me if they are at all interested in working for Adapteva in Europe.
Andreas
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: OpenMP within the Epiphany now possible

Postby kloetzl » Sat Mar 28, 2015 8:54 pm

Thank you for your efforts regarding OpenMP. Unfortunately, I can't even make the examples work. What am I missing?

Code: Select all
parallella@parallella:~/ompi-parallella-b2/examples/demo1$ make
../../ompi/bin/ompicc -O3 demo1.c -o a.out -I /opt/adapteva/esdk/tools/host/include -L /opt/adapteva/esdk/tools/host/lib -le-hal -lrt
/home/parallella/ompi-parallella-b2/ompi/bin/../lib/ompi/default/libort.a(ort_parallella.o): In function `ort_offload_kernel':
ort_parallella.c:(.text+0x129c): undefined reference to `e_load'
/home/parallella/ompi-parallella-b2/ompi/bin/../lib/ompi/default/libort.a(ort_parallella_loader.o): In function `my_e_load_group':
ort_parallella_loader.c:(.text+0xe76): undefined reference to `ee_set_core_config'
ort_parallella_loader.c:(.text+0xeda): undefined reference to `ee_set_core_config'
collect2: error: ld returned 1 exit status
Error: could not perform linking.
Building demo1_d00.srec
kloetzl
 
Posts: 3
Joined: Sat Mar 28, 2015 8:43 pm

Re: OpenMP within the Epiphany now possible

Postby psxlover » Sat Mar 28, 2015 10:02 pm

Can you try adding "-le-loader" to the LDFLAGS in the Makefile?
psxlover
 
Posts: 1
Joined: Wed Nov 26, 2014 3:39 pm

Re: OpenMP within the Epiphany now possible

Postby kloetzl » Sun Mar 29, 2015 9:49 am

That helped. Thanks!
kloetzl
 
Posts: 3
Joined: Sat Mar 28, 2015 8:43 pm

Re: OpenMP within the Epiphany now possible

Postby dimako » Mon May 11, 2015 8:54 am

Good day everybody,

this is just to inform you that we will be releasing the source code for OMPi soon; academically, our work will be presented in detail at Europar 2015 ;)

BTW, Andreas, we had contacted you more than a month ago but received no reply. Did you get our emails?

You can expect a new post soon. Best regards,
Vassilios
User avatar
dimako
 
Posts: 8
Joined: Fri Nov 28, 2014 3:10 pm
Location: Ioannina, Greece

Re: OpenMP within the Epiphany now possible

Postby illioren » Mon May 18, 2015 8:20 pm

Hello everyone,

Congratulation for the openmp achievement.
I read this was a C only compiler. Any plan for creating a C++ version of it?

Thanks,

Tim.
illioren
 
Posts: 3
Joined: Wed Apr 01, 2015 6:54 pm

Re: OpenMP within the Epiphany now possible

Postby dimako » Fri May 22, 2015 7:14 am

illioren wrote:Hello everyone,

Congratulation for the openmp achievement.
I read this was a C only compiler. Any plan for creating a C++ version of it?

Thanks,

Tim.


Hi Tim,
no, unfortunately it is not in our immediate plans. We are currently improving and extending our OpenMP 4.0 C support to cover more constructs (cancellation, task dependencies, etc).

Best regards,
Vassilios
User avatar
dimako
 
Posts: 8
Joined: Fri Nov 28, 2014 3:10 pm
Location: Ioannina, Greece

Next

Return to OpenMP

Who is online

Users browsing this forum: No registered users and 1 guest

cron