Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"

8 Open Issues Need Help Last updated: Jun 21, 2025

Open Issues Need Help

View All on GitHub

AI Summary: Refactor the Horde-AD automatic differentiation library to separate the function, its reverse derivative, and forward derivative from the `AstMapAccumRDer` function. This involves a significant code restructuring and designing a new API to allow users to supply their own handwritten derivatives.

Complexity: 5/5
help wanted good first issue

Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"

Haskell

AI Summary: The task involves modifying the HORDE-AD automatic differentiation library to compile AstTensor programs to CPU code instead of interpreting them. This requires leveraging the library's existing compositional interpreter and avoiding the complexities introduced by potential Haskell callbacks.

Complexity: 4/5
help wanted

Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"

Haskell

AI Summary: Optimize the automatic differentiation (AD) library's symbolic gradient generation for 2D convolution operations. The current symbolic gradient code is significantly slower than a hand-optimized version, and the goal is to improve the generated code's efficiency, potentially by leveraging the multi-linearity properties of convolution or adding specialized convolution primitives to the AD pipeline.

Complexity: 5/5
help wanted

Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"

Haskell

AI Summary: Implement robust interval arithmetic support for the `quot` and `rem` operations within the HORDE-AD automatic differentiation library. This involves researching existing methods for interval arithmetic on these operations, carefully analyzing their complexities and potential limitations (e.g., undefined behavior), and then implementing an efficient and accurate solution within the library's existing framework. The solution should handle potential edge cases and integrate seamlessly with the library's existing functionality.

Complexity: 4/5
help wanted good first issue

Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"

Haskell

AI Summary: Implement a pretty-printing function for Abstract Syntax Trees (ASTs) within the HORDE-AD automatic differentiation library. The function should represent AST nodes using functions like `szip`, `sunzip`, `snestS`, and `sunNestS` instead of the current `tconvert` method, improving readability. This involves modifying the existing `AstPrettyPrint.hs` file to handle these new functions, potentially requiring more complex logic than the existing `sfromK` handling.

Complexity: 4/5
help wanted good first issue

Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"

Haskell

AI Summary: Improve the pretty-printing functionality of the HORDE-AD automatic differentiation library's AST (Abstract Syntax Tree) to enable round-tripping. This involves creating tests to verify the round-trip property (printing, then parsing the output), iteratively improving the pretty-printer to pass these tests, and fixing any broken tests along the way. The goal is to produce Haskell code from the pretty-printed AST that is both valid and preserves the original AST's sharing structure.

Complexity: 4/5
help wanted good first issue

Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"

Haskell

AI Summary: The task is to add ADVal instances to the HORDE-AD library that mirror the AD instances found in the Haskell 'ad' package, or provide a justification for why this isn't feasible. This involves creating new instances for various numeric types to ensure compatibility and potentially expanding the library's functionality based on dependencies of the 'ad' package.

Complexity: 4/5
help wanted

Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"

Haskell

AI Summary: Investigate and resolve an out-of-memory (OOM) error occurring during a specific benchmark ('grad scalar L') within the HORDE-AD automatic differentiation library. The potential cause is the accumulation of `TKConversion` terms, suggesting a need for simplification of these terms to improve memory efficiency.

Complexity: 4/5
help wanted

Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"

Haskell