Closed powderluv closed 1 year ago
ok so just im2col seems to be broken.
% iree-compile --iree-input-type=none --iree-vm-bytecode-module-output-format=flatbuffer-binary --iree-hal-target-backends=vulkan --iree-llvm-target-cpu-features=host --iree-stream-resource-index-bits=64 --iree-vm-target-index-bits=64 --iree-util-zero-fill-elided-attrs -iree-vulkan-target-triple=rdna2-unknown-linux -iree-preprocessing-pass-pipeline="builtin.module(func.func(iree-preprocessing-pad-linalg-ops{pad-size=32}))" ../SHARK/compile_tests/unet64_512_512_fp16_stabilityai_stable_diffusion_2_1_base_torch.mlir -o output.vmfb
``` works ok.
while the following doesn't
-iree-preprocessing-pass-pipeline="builtin.module(func.func(iree-preprocessing-convert-conv2d-to-img2col,iree-preprocessing-pad-linalg-ops{pad-size=32}))"
Maybe @antiagainst can take a look. I don't really use that pass.
This creates large shared memory:
spirv.GlobalVariable @__workgroup_mem__6 : !spirv.ptr<!spirv.struct<(!spirv.array<2112 x vector<4xf32>>)>, Workgroup>
spirv.GlobalVariable @__workgroup_mem__5 : !spirv.ptr<!spirv.struct<(!spirv.array<640 x vector<4xf32>>)>, Workgroup>
spirv.GlobalVariable @__workgroup_mem__4 : !spirv.ptr<!spirv.struct<(!spirv.array<2112 x vector<4xf32>>)>, Workgroup>
from forward_dispatch_161_generic_2x640x1024x320
This is most likely caused by the change in pass order due to https://github.com/iree-org/iree/commit/142894130b8506cb1860729dd2a988b7756fcdca
This is now resolved downstream with the right flags.
What happened?
When compiling UNET with
We get a VK_ERROR_INITIALIZATION_FAILED when it is run.
However dropping the pass pipeline makes it work
it runs ok.
Steps to reproduce your issue
No response
What component(s) does this issue relate to?
No response
Version information
No response
Additional context
No response