
Show HN: A high-performance framework for high-level parallel programming - rcorcs
http://pskel.github.io/
======
rcorcs
PSkel offers a high-level API for programming for heterogeneous parallel
architectures, including both multi-core CPUs and GPUs.

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

------
rcorcs
For the stencil computation, if the input and output array together are
greater than the GPU memory, there is an automatic and transparent method for
tiling the data array into the GPU's memory, computing the stencil pattern in
several chunks.

------
varunmittal
Can we apply sorting algorithms using the abstract developed by the api if the
data were to be put in a matrix, with matrix rows as selection parameters.

Also will it be compute effective to do so, given GPU memory restrictions and
comparative nature of algorithms.

~~~
rcorcs
I don't think the Stencil pattern is the best pattern for sorting algorithms,
but I think it can be done.

The following link has a very simple example:
[https://github.com/pskel/pskel/wiki](https://github.com/pskel/pskel/wiki)

