ARL OpenSHMEM for Epiphany

Forum for anything not suitable for the other forums.

ARL OpenSHMEM for Epiphany

Postby jar » Fri Dec 16, 2016 9:02 pm

ARL OpenSHMEM for Epiphany has been published on GitHub: https://github.com/USArmyResearchLab/openshmem-epiphany

Please provide comments (here or there).

This is the library that was referenced in the papers An OpenSHMEM Implementation for the Adapteva Epiphany Coprocessor and OpenCL + OpenSHMEM Hybrid Programming Model for the Adapteva Epiphany Architecture
User avatar
jar
 
Posts: 295
Joined: Mon Dec 17, 2012 3:27 am

Re: ARL OpenSHMEM for Epiphany

Postby jar » Thu Jan 05, 2017 9:05 pm

I updated the library so that it can be used with the eSDK on the latest 2016.11 Parabuntu image. There are two makefiles now -- one for the eSDK and the new 2016.11 image and another for COPRTHR-2 and the 2015.1 image.

I've also provided a "hello world" dot product example code for using the library with the eSDK.

It's similar to the original dot product example except that it now performs initialization and a non-trivially parallel reduction across all cores. Rather than each core performing a local summation and having the ARM host perform the final summation, this operation is performed in parallel on the Epiphany device.
User avatar
jar
 
Posts: 295
Joined: Mon Dec 17, 2012 3:27 am

Re: ARL OpenSHMEM for Epiphany

Postby aolofsson » Fri Jan 06, 2017 12:17 am

That's awesome! How much work was it to updae to the new abi?
User avatar
aolofsson
 
Posts: 1005
Joined: Tue Dec 11, 2012 6:59 pm
Location: Lexington, Massachusetts,USA

Re: ARL OpenSHMEM for Epiphany

Postby jar » Fri Jan 06, 2017 12:58 pm

I didn't have any issues with the ABI change. Of the routines written in assembly, I believe I was already using the common set of registers between ABIs.

The main fix had to do with the LDF loader and the _end symbol needed to build the brk/sbrk routines for memory management. Ola pointed me in the right direction.

Memory management should be the only difference between the eSDK/COPRTHR flavors of the library.

If you find any, please report bugs through github.
User avatar
jar
 
Posts: 295
Joined: Mon Dec 17, 2012 3:27 am

Re: ARL OpenSHMEM for Epiphany

Postby jar » Wed Jul 05, 2017 3:05 pm

The software has had many improvements since it was released in December. To summarize the most recent update this last week:

The 'master' branch has added an automatic test and code report generation feature, code timer consolidation, an updated README, two new code examples (diagonal sparse matrix vector multiplication and conjugate gradient) and an examples Makefile.

The 'spec_next' branch has incorporated all of the changes to 'master' and new OpenSHMEM 1.4 features including: extended atomic memory operations, remote memory operations, point-to-point synchronization operations, a calloc routine, and other minor specification changes. Since the full OpenSHMEM v 1.4 specification has not been ratified yet, this new branch was created to incorporate the changes that have passed the committee vote. Once v. 1.4 is ratified, the 'master' branch will merge these changes.

Feedback is welcome.
User avatar
jar
 
Posts: 295
Joined: Mon Dec 17, 2012 3:27 am


Return to General Discussion

Who is online

Users browsing this forum: Bing [Bot] and 14 guests

cron