Skip to content

lapesd/PSkel-MPPA-Async

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

149 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PSkel

Introduction

PSkel is an application programming interface (API) that leverages the extensibility of C++ to provide common stencil functionality. Using parallel skeletons, PSkel releases the programmer from the responsibility of writing boiler-plate code for stencil programming (e.g., explicit synchronization and data exchanges between GPU memory and main memory). Furthermore, the framework translates the abstractions described using its API into lowlevel C++ code compatible with Intel TBB, OpenMP and NVIDIA CUDA. PSkel's API is a C++ template library that implements a stencil parallel skeleton and provides useful constructs for developing parallel stencil applications. The API provides templates for manipulating input and output data; specifying stencil masks; encapsulating memory management, computations, and runtime details.

Requirements

Dependencies

  • NVIDIA CUDA: PSkel has not been tested with any NVIDIA CUDA version under 5.5.
  • OpenMP: OpenMP is used throughout PSkel for efficiency.
  • Intel TBB: PSkel can use either OpenMP or TBB for multi-threading the skeletons computations.
  • GAlib: GAlib is used to solve optimization problems required for some autotuning mechanisms.
  • Google Test: Google testing framework is used for unit-testing PSkel.

Credits

Developers

  • Alyson D. Pereira
  • Rodrigo C. O. Rocha
  • Luiz Ramos
  • Luís F. W. Góes

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •