You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by "mei-ye (via GitHub)" <gi...@apache.org> on 2023/05/10 20:19:53 UTC
[GitHub] [tvm] mei-ye commented on a diff in pull request #14770: [Vulkan] Add `VK_NV_cooperative_matrix` support
mei-ye commented on code in PR #14770:
URL: https://github.com/apache/tvm/pull/14770#discussion_r1190357098
##########
src/target/spirv/codegen_spirv.cc:
##########
@@ -561,6 +630,55 @@ void CodeGenSPIRV::VisitStmt_(const ForNode* op) {
// Loop head
builder_->StartLabel(head_label);
+
+ // In a normal matmul, the update semantics c += a * b is implemented by load and store to the
Review Comment:
I assume the intention here is to scalarize each 16x16 fragment and represent it using a variable. This transformation does not bring performance gain compared to the approach of using a vector of 16x16 fragments and load/store from it since shader compiler can easily does the same scalarization. Also, if you want to unroll the loop, the address computation in each unrolled iteration is not CSEed. So you will see a larger code size with all these non-CSEed address computations.
--
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.
To unsubscribe, e-mail: commits-unsubscribe@tvm.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org