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.