[GSoC] Integrating custom derivatives of numerical computing routines into Enzyme

Hi everyone,

I have been selected as a Google Summer of Code student this year to work under the mentorship of William Moses, Johannes Doerfert and Vassil Vassilev on integrating custom derivatives of popular numerical computing routines like BLAS and Eigen into Enzyme.

As some of you might already know, Enzyme performs automatic differentiation on LLVM IR and has uses in several algorithms like backpropagation, Bayesian inference, etc.

My project this summer will mainly focus on allowing Enzyme to automatically calculate the derivatives of commonly used functions that are usually included from linked libraries without having the definitions of these functions explicitly available in the generated LLVM IR, as well as setting the groundwork for allowing easier integration of such functions into Enzyme in the future.

The full GSoC proposal is here - https://docs.google.com/document/d/1KcdVJJSGPpnh7W0wMpGk1OfHYdzlLpcscgAWbqUNVMk/edit?usp=sharing

Looking forward to presenting some work that might be of interest to the community in the near future :slight_smile:

Cheers,