Skip to content
BenjaminW3 edited this page Dec 22, 2014 · 9 revisions

Kernel functor requirements:

template<typename TAcc = alpaka::IAcc<>>    // Templated on the accelerator type.
struct MyFunctor :
    public TAcc                             // Inherits from the interfaced accelerator implementation.
{
    ALPAKA_FCT_HOST_ACC                     // Macro marking the function to be executable on alle accelerators.
    void operator()( ... )                  // The function / kernel to execute.
    { 
        ... 
    }
    
    // Class can have members but has to be std::is_trivially_copyable.
    // Classes must not have pointers or references to host memory!
};
Clone this wiki locally