David Widmann
David Widmann
Generally, I'm not a fan of duplicating code, in particular not in dependent packages. But I don't have a better idea right now (and, even though a bit weird, the...
> * A lot of the functions used within the Distributions.jl ecosystem is _not_ pure Julia under the hood, but there are often pure-Julia versions for more generic number types...
I'm a bit worried that all the special cases and implementations will lead to diverging implementations, as e.g. already happened with the SpecialFunctions customizations in https://github.com/JuliaGPU/CuArrays.jl/pull/321. If the automatic method...
> We could literally just clone repo, add a bunch of these macro-calls, and we'd have functional SpecialFunctions.jl and StatsFuns.jl on the GPU. I am with @mohamed82008 on this one,...
Regarding DistributionsAD: I opened a PR to StatsFuns https://github.com/JuliaStats/StatsFuns.jl/pull/106 to figure out how the StatsFuns type piracy can be resolved. That's only a tiny part of DistributionsAD but at least...
> 2. Wait until the work on method-substitution is done. What about 3. Overdub model execution (or at least `observe` and `assume`) with Cassette and replace functions with their GPU...
Makes sense that CUDA/GPUCompiler uses a different approach if it is better supported by the compiler. But the Cassette approach seems simple enough to rewrite your (or Turing's) functions on...
xref: https://github.com/JuliaGPU/CUDA.jl/pull/750
https://juliagpu.org/post/2021-04-09-cuda_3.0/#gpu_method_overrides
Yes, it seems it only becomes available for other packages in Julia 1.7.