Contributor
atell krasnopolsky

Implement Differentiating of the Kokkos Framework in Clad


Mentors
Vassil Vassilev, Vaibhav Thakkar, Petro Zarytskyi
Organization
CERN-HSF
Technologies
llvm, c++, clang, clad, Kokkos
Topics
Clang, Automatic Differentiation, llvm, AD, Compiler Research
The goal is to implement the differentiation of the Kokkos framework including the support of Kokkos functors, lambdas, methods such as parallel_for, parallel_reduce, and deep_copy, as well as the general support for Kokkos view data structures. The set-off points for the project should be the existing "Kokkos-aware Clad" PR and the test cases I have developed. The additional aim of the project is to implement a generic approach to support any C++ library (starting with Kokkos) in such a way that the core of Clad is invariant to the internals of the library, but any Clad user can add it in a pluggable format for individual use cases.