ComputationalRadiationPhysics / haseongpu

HASEonGPU: High performance Amplified Spontaneous Emission on GPU
http://www.hzdr.de/crp
Other
7 stars 4 forks source link

Alpaka container and algorithm library #102

Open erikzenker opened 8 years ago

erikzenker commented 8 years ago

A container somehow similar to the thrust::device vectors would reduce are code base again and should make algorithms on its memory more safe. For HASEonGPU we only need a container equal to std::array. Therefore no dynamic size increase is necessary.

For the algorithm side, we need a reduce and exclusive scan/prefix sum algorithm. Based on alpaka buffers and a wrapper for the container would be perfect :smile_cat:

I would suggest to create a separate repository for this containers and algorithms. Name suggestions ? :tiger:

slizzered commented 8 years ago

Is it possible to use thrust directly as the implementation for the CUDA backend? Or would that possibly interfere with the use of alpaka buffers?

As for naming suggestions: Since it emulates the "look and feel" of the STL, what about "Alpaka Standard Template Library [ASTL]", with a namespace alp::

erikzenker commented 8 years ago

I am still not sure about using thrust together with alpaka:

we could rewrite thrust containers and algorithms we need to alp.

erikzenker commented 8 years ago

Alp sounds create, what do you think about creating a gist and collecting the interface.