Comments (4)
So once again this code should not require any cache to be created (let alone an O(n^2) cache).
It turns out that the relevant optimization ('even if this is memory is written over, you don't need to cache it unless the potential write occurs between the place you would need to cache and its use') was already implemented in my dev branch (fortranrb) which is currently in the process of being cleaned up and merge [as of ~1.5 weeks ago it had ~40 commits of various interesting optimizations].
If you don't mind living on the bleeding edge (which by virtue of needing cleanup may be a bit more unstable) checking out the fortranrb branch should reduce addditional memory to zero. Hopefully the remainder of these optimizations should be cleaned up and merged into master within a few days.
I'm going to leave this issue open until everything is merged to master.
from enzyme.
Thanks. Ok, I'll try to live on the bleeding edge.
from enzyme.
I tried it on your branch and it works 👍
from enzyme.
Merged into master by #120
from enzyme.
Related Issues (20)
- enzyme error when differentiating stateful lambda, but no problems with explicitly defined functor HOT 3
- compiler crash on simple `__enzyme_fwddiff()` call
- `__enzyme_autodiff` w/ `enzyme_out` + pass by reference crashes HOT 1
- Lookup undef error HOT 3
- Crashing input on LLVM 16 HOT 3
- No ClangEnzyme-<version>.so library created when compiling the code on MacOSX HOT 6
- No reverse pass found for Petsc Functions HOT 9
- Merge-Queue rerunning CI HOT 1
- error/crash when differentiating member function HOT 5
- error when linking against LLDEnzymeFlags CMake target HOT 12
- bug in loop counters generates code that crashes HOT 2
- Unreachable executed in TypeTree.h with std::normal_distribution HOT 1
- Assertion `f != originalToNewFn.end()' failed with Eigen HOT 4
- Assertion `!subretused' failed when compiling simple example with custom derivatives. HOT 2
- Enzyme infinite loop
- Could not deduce type of integer error HOT 6
- Unreachable no free error HOT 2
- Zero gradients on Kalman filter HOT 5
- playground broken for opt >= 16 HOT 1
- Metadata Flags Break in CMake Projects Containing `cmake_minimum_required`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from enzyme.