A high-performance framework for stencil computations.
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.
TOAST: Automatic tiling for iterative stencil computations on GPUs
Rodrigo C. O. Rocha, Alyson Pereira, Luiz Ramos, Luís F. W. Góes
Concurrency and Computation: Practice and Experience, 2016
PSkel: A Stencil programming framework for CPU-GPU systems
[bibtex]
[doi]
Alyson D. Pereira, Luiz Ramos, Luís F. W. Góes
Concurrency and Computation: Practice and Experience, 2015
PSkel-MPPA: Uma adaptação do framework PSkel para o processador manycore MPPA-256
[pdf]
[bibtex]
Emmanuel Podestá, Alyson Pereira, Pedro Penna, Rodrigo C. O. Rocha, Márcio Castro, Luís F. W. Góes
ERAD/RS 2016 - Escola Regional de Alto Desempenho do Estado do Rio Grande do Sul
StencilBench: Um benchmark sintético para avaliação de frameworks do padrão estêncil
[pdf]
[bibtex]
Alyson D. Pereira, Sérgio V. Silva, Rodrigo C. O. Rocha, Márcio B. Castro, Luís F. W. Góes
XVI Simpósio em Sistemas Computacionais - Workshop de Iniciação Científica, WSCAD-WIC 2015
PSkel: Um framework do padrão de programação Stencil para GPUs
[bibtex]
Alyson D. Pereira, Luís F. W. Góes
XIV Simpósio em Sistemas Computacionais - Workshop de Iniciação Científica, WSCAD-WIC 2013
To report bugs, request features, or suggest enhancements, please file an issue directly using GitHub.