-
-
Notifications
You must be signed in to change notification settings - Fork 74
Open
Labels
Description
# Following https://dl.acm.org/doi/pdf/10.1145/3016078.2851152
# See Figure 1
const ncol = 2001
const nrow = 1002
const nfeatures = 12
X = compute(ctx, rand(Blocks(nrow, ncol÷p), Float32, nrow, ncol))
W = compute(ctx, rand(Blocks(nrow÷p, nfeatures), Float32, nrow, nfeatures))
H = compute(ctx, rand(Blocks(nfeatures, ncol÷p), Float32, nfeatures, ncol))
julia> compute(ctx, W' * (X ./ (W * H)))
ERROR: DimensionMismatch("Block distributions being multiplied are not compatible")
Stacktrace:
[1] *(x::Dagger.DomainBlocks{2}, y::Dagger.DomainBlocks{2})
@ Dagger ~/.julia/packages/Dagger/QME91/src/lib/domain-blocks.jl:45
[2] stage(ctx::Context, mul::Dagger.MatMul{Any, 2})
@ Dagger ~/.julia/packages/Dagger/QME91/src/array/matrix.jl:178
[3] cached_stage(ctx::Context, x::Dagger.MatMul{Any, 2})
@ Dagger ~/.julia/packages/Dagger/QME91/src/array/darray.jl:293
[4] compute(ctx::Context, x::Dagger.MatMul{Any, 2}; options::Nothing)
@ Dagger ~/.julia/packages/Dagger/QME91/src/array/darray.jl:76
[5] compute(ctx::Context, x::Dagger.MatMul{Any, 2})
@ Dagger ~/.julia/packages/Dagger/QME91/src/array/darray.jl:76
[6] top-level scope
@ REPL[21]:1