llehtahw commented on pull request #8102:
URL: https://github.com/apache/tvm/pull/8102#issuecomment-845887661


   > Just curious, how did you figure out this?
   
   It's good luck.
   
   I found that, if I do not use `shared read cache`, the gemm test case works 
properly. So I suspect there may be something wrong with shared memory.
   
   I also translated TVM generated spv code to glsl code with spirv-cross, but 
the glsl code could not be compiled back to spv because that the type 
definitions of shared variables were missed. Then I corrected the glsl code and 
compiled it to spv. 
   
   So I got two spv files, one from TVM and the other from valid glsl. I 
compared their spirv IR, especially parts related to shared memory (workgroup 
variable). Conclusively, glsl-generated code lacks the `Block` decoration.
   
   ---
   
   I'm not familiar with Vulkan, so I'm not sure if this patch is good enough. 
@masahi  do you have any suggestions?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to