William Moses
William Moses
No longer hangs or fails on master ``` julia> moo(x) = fill(x, 10, 10) moo (generic function with 1 method) julia> Enzyme.pullback(moo, 2.1)(rand(10, 10)) ([0.0 0.0 … 0.0 0.0; 0.0...
Reopening to preserve need to allow matrix duplicated pullback
I do like having the traditional "pullback" as the activity annotation. However, allowing that would cause confusion with the "default" activity deduction, since its not clear that's a return activity...
The changes seem fine, can you rebuild that pull request on Enzyme again, there were a few changes added which should ensure this works.
I was actually about to poke you regarding that. There was an incompatibility with a recent LLVM rebase that I hadn't tracked down. Would you be take a look at...
Let me see if I can reproduce the issue (it has since been rebased again). If I recall, the issue was that the subview op would produce a different memref...
I think the issue here partially stems from the fact that to create a consistent type system, we need to have offset operations that maintain the same type. It looks...
Ah, what I meant by the conversion to LLVM is that presumably upstream wouldn't take a new op unless it could be lowered to LLVM (which happily this can be)...
Can this not alternatively become the following, avoiding code duplication? ``` parallel { A() if { B() } } parallel { if { C() } D() } ```
Yup you're right on that one of the big advantages here is making it easy to embed a DSL (see RFC here: https://github.com/wsmoses/Polygeist/issues/52). We're actually presently undergoing a major cleanup...