MFEM  v4.6.0
Finite element discretization library
enzyme.hpp
Go to the documentation of this file.
1 // Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
2 // at the Lawrence Livermore National Laboratory. All Rights reserved. See files
3 // LICENSE and NOTICE for details. LLNL-CODE-806117.
4 //
5 // This file is part of the MFEM library. For more information and source code
6 // availability visit https://mfem.org.
7 //
8 // MFEM is free software; you can redistribute it and/or modify it under the
9 // terms of the BSD-3 license. We welcome feedback and contributions, see file
10 // CONTRIBUTING.md for details.
11 
12 
13 #ifndef MFEM_ENZYME_HPP
14 #define MFEM_ENZYME_HPP
15 
16 #ifdef MFEM_USE_ENZYME
17 /*
18  * Variables prefixed with enzyme_* or function types prefixed with __enzyme_*,
19  * are variables which will get preprocessed in the LLVM intermediate
20  * representation when the Enzyme LLVM plugin is loaded. See the Enzyme
21  * documentation (https://enzyme.mit.edu) for more information.
22  */
23 
24 extern int enzyme_dup;
25 extern int enzyme_dupnoneed;
26 extern int enzyme_out;
27 extern int enzyme_const;
28 
29 template <typename return_type, typename... Args>
30 return_type __enzyme_autodiff(Args...);
31 
32 template <typename return_type, typename... Args>
33 return_type __enzyme_fwddiff(Args...);
34 #endif
35 #endif
return_type __enzyme_autodiff(Args...)
return_type __enzyme_fwddiff(Args...)
int enzyme_dupnoneed
int enzyme_out
int enzyme_dup
int enzyme_const
kernels::InvariantsEvaluator2D::Buffers Args
Definition: tmop_pa_h2s.cpp:21