Enzyme main
Loading...
Searching...
No Matches
Enzyme.h
Go to the documentation of this file.
1//===- Enzyme.h - Automatic Differentiation Transformation Pass -------===//
2//
3// Enzyme Project
4//
5// Part of the Enzyme Project, under the Apache License v2.0 with LLVM
6// Exceptions. See https://llvm.org/LICENSE.txt for license information.
7// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8//
9// If using this code in an academic setting, please cite the following:
10// @incollection{enzymeNeurips,
11// title = {Instead of Rewriting Foreign Code for Machine Learning,
12// Automatically Synthesize Fast Gradients},
13// author = {Moses, William S. and Churavy, Valentin},
14// booktitle = {Advances in Neural Information Processing Systems 33},
15// year = {2020},
16// note = {To appear in},
17// }
18//
19//===----------------------------------------------------------------------===//
20//
21// This file declares Enzyme, a transformation pass that takes replaces calls
22// to function calls to *__enzyme_autodiff* with a call to the derivative of
23// the function passed as the first argument.
24//
25//===----------------------------------------------------------------------===//
26
27#ifndef ENZYME_H
28#define ENZYME_H
29
30#include "llvm/Pass.h"
31#include "llvm/Passes/PassBuilder.h"
32
33llvm::ModulePass *createEnzymePass(bool PostOpt = false);
34void augmentPassBuilder(llvm::PassBuilder &PB);
35
36#endif // ENZYME_H
void augmentPassBuilder(llvm::PassBuilder &PB)
Definition Enzyme.cpp:3148
llvm::ModulePass * createEnzymePass(bool PostOpt=false)
Definition Enzyme.cpp:3043