-
Notifications
You must be signed in to change notification settings - Fork 86
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Request for making Matmul/Zero-Fill microkernel aware about offset and strides #1478
Comments
Copying @jackl-xilinx, @jgmelber, @denolf and @stephenneuendorffer. |
Hi @Abhishek-Varma, what do the two 16384 represent in this zero fill example? |
They represent the strides of the outer two dimensions obtained from the subview of memref of the memref.
|
Addin some more information of what the micro kernel needs to support. It is useful to look at the IR for one of the ukernel ops before and after lower to function calls. (gotten from here) Before lowering to function call
Notice that in the
After lowering to function call the current code (with
In reality it should be at least
The micro kernel needs to use the offset and strides to access the data correctly. Basically the 6-d tensor access of cc @newling |
Currently the Matmul Ukernel is offset aware.
This was trivial to add, but now we also want to make the ukernel aware about the strides too.
Here is the e2e IR log from
iree-amd-aie
that necessitates the requirement of the same - Ukernel_bf16_IR_log.In the above IR you'd see that IREE is going to generate invocations like :-
Previously it worked because the invocation was
func.call @zero_bf16(%base_buffer, %c0) : (memref<bf16, 2 : i32>, index) -> ()
for which the current ukernel (linked attached above) is aligned.The text was updated successfully, but these errors were encountered: