Michael Abbott
Michael Abbott
Status here is as in (edited) first message above. Perhaps the broadcast path can be easily tested using https://github.com/JuliaDiff/ChainRulesTestUtils.jl/pull/243 once that's available.
Sorry this package really needs a manual, but I got busy. `@tullio out[x, y] = right` evaluates `right ` and writes into `out`, possibly summing. `@tullio out[x, y] := right...
Because it does this, after getting `Int` from `Core.Compiler.return_type`: ```julia julia> Base.promote_type(Int, typeof((0, -Inf))) Any ```
Here's a start on implementing this: https://gist.github.com/mcabbott/8e0f1073271176291d16e9d18166a5e0
A quick look, without GPU. Without KernelAbstractions, I think you need `Params([W])` but then it works fine: ``` julia> using Tullio, Zygote julia> a = (rand(3, 5, 6)); W =...
I think it's a real bug, but whether it's in Tullio or in KernelAbstractions isn't clear yet. Minimal example so far: ```julia using Tullio, KernelAbstractions, Tracker g(x) = @tullio y[i]...
I think the problem is here, and may prove tricky to resolve. On the forward pass of `out[m, n, batch] := W[m, i] * x[i, n, batch] + b[m]`, it...
I think that commit removed them as duplicates of these: https://github.com/JuliaDiff/ChainRules.jl/blob/cc8b9ea103abb20f9bd7016c561dd77080ac49d0/src/rulesets/Base/base.jl#L178 (Different representation of zero, which is another story. And not sure that `x -> round(x, digits=8)` should differ so...
Perhaps both? When last I checked, KernelAbstractions.jl needed indices starting at 1 here, and Tullio.jl applies the shift in `y[i+_] :=` on the LHS, while otherwise letting `i` do what...
Yes, it's the same. The manual fix is to change the indices to have ranges starting from 1: ```julia julia> @tullio M[x+_,y+_] := N[x+i, y+j] * K[i,j] verbose=true ┌ Info:...