New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix None
output node bug in JITLinker.create_jitable_thunk
#1205
Fix None
output node bug in JITLinker.create_jitable_thunk
#1205
Conversation
d456376
to
0e3b78e
Compare
f9a47fa
to
75637b5
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## main #1205 +/- ##
=======================================
Coverage 79.14% 79.14%
=======================================
Files 173 173
Lines 48485 48486 +1
Branches 10966 10966
=======================================
+ Hits 38375 38376 +1
Misses 7607 7607
Partials 2503 2503
|
# This is a bit hackish, but we only return one of the output nodes | ||
output_nodes = [o.owner for o in self.fgraph.outputs if o.owner is not None][:1] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This wasn't changed by this PR, but I wonder does the hack actually work? There's a whole bunch of logic downstream concerning garbage collection and whatnot that is supposed to rely on this. Too dense for me to take a look though :D
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This wasn't changed by this PR, but I wonder does the hack actually work? There's a whole bunch of logic downstream concerning garbage collection and whatnot that is supposed to rely on this. Too dense for me to take a look though :D
It must be working; how else have we been using Numba/JAX to evaluate graphs?
The hackish part is that we were and still are (to some extent) using the old Function
/VM
framework to do something that it wasn't designed to do. For example, we don't have a thunk for each node in the graph, like we normally would.
To be clear, shared variable and updates
support for the JIT backends has always been incomplete, and this falls squarely into the latter.
* Also fixes bug in JITCompiler when first output of inner fgraph is an input variable, as can happen in some specific functions with updates
75637b5
to
0a34abd
Compare
None
output node bug in JITLinker.create_jitable_thunk
Closes #1195