Vikunja is a performance portable algorithm library that defines functions operating on ranges of elements for a variety of purposes . It supports the execution on multi-core CPUs and various GPUs. Vikunja uses alpaka to implement platform-independent primitives such as reduce or transform.
At the moment, a template struct with
operator()
needs to use class templates. Check if function templates are also possible.Currently possible:
Nice to have:
See: https://github.com/alpaka-group/vikunja/pull/40#discussion_r737295713