ProbabilisticCircuits.jl
ProbabilisticCircuits.jl copied to clipboard
Allow Multiple InputNode type for CUDA Kernels
Having multiple distribution type for inputs fails gpu kernels due to Union split limiation. Currently, can have at most 3 types in the Union of a CuArray for cuda kernels. https://github.com/JuliaGPU/CUDA.jl/issues/1385.
Another example here
For nodes
, we already have Sum
and Mul
node types, so we can at most have one InputNode type for our cuda kernels.
Possible Workarounds:
- Merge all input node types into one
- Merge Sum and Mul nodes into one, (then we can have two input types at most)