Open Issues Need Help
View All on GitHubAI 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.
Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"
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.
Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"
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.
Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"
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.
Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"
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.
Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"
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.
Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"
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.
Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"
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.
Higher Order Reverse Derivatives Efficiently - Automatic Differentiation library based on the paper "Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiation"