Skip to content

USArmyResearchLab/openshmem-epiphany

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARL OpenSHMEM for Epiphany

OpenSHMEM is a standardized interface to enable portable applications for partitioned global address space (PGAS) architectures. This repository includes the ARL OpenSHMEM for Epiphany implementation for optimized one-sided communication, atomic, and collective operations for the Adapteva Epiphany microarchitecture on the Parallella board (see ./src). Also included are microbenchmarks (see ./example) and test codes (see ./test). These codes require the COPRTHR-2 SDK. The library may be used without COPRTHR-2 and has been tested with the Parabuntu 2016.11.1 release.

The OpenSHMEM implementation is based on the OpenSHMEM 1.4 Specification

The software was developed at the US Army Research Laboratory, Computational Sciences Division, Computing Architectures Branch.

Prerequisites

Code has been tested on the 2016.11.1 and 2015.1 Parallella images, but please use the former.

You must download and install the COPRTHR-2 SDK to be able to run the ./test and most ./example codes. The library is free for non-commercial use.

Although it's not required to build the library, a Makefile is provided if you're using the vendor-provided eSDK.

Using

You may type make to build all directories, or make [src|example|test] to build individual subdirectories. Running make run will run example codes and a selection of test codes. Running make check will run all of the test codes with various parameters. There is no installation, but you should link to the libshmem.a library and use the appropriate include path for shmem.h.

If you're not using the COPRTHR-2 SDK, you can build the library for the eSDK: cd ./src; make -f Makefile.esdk

Citation

If you are using this work in an academic publication, please include the following reference in your paper:

J. Ross and D. Richie, "An OpenSHMEM Implementation for the Adapteva Epiphany Coprocessor," OpenSHMEM and Related Technologies. Enhancing OpenSHMEM for Hybrid Environments, vol. 10007, pp. 146-159, Dec. 2016, doi:10.1007/978-3-319-50995-2_10