-
Notifications
You must be signed in to change notification settings - Fork 10
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
About rid and cid in the kernel #12
Comments
@hgyhungry : Are you assuming B is saved in transposed form ? If yes, that would explain why X axis is mapped to vertical for you and Y axis is mapped horizontal. I bumped into same discrepancy as @KeePLeArNinggG . We are visualizing A (sparse matrix) and B(dense matrix) in non transposed state. Which is why we both are expecting : line 105 : int cid = (blockIdx.x<<5)+threadIdx.x; But if B is saved in transposed form then warp will be placed on vertical axis and thread block moves horizontally in B. Is this how you are visualizing it ? |
I've been thinking about it(rid = blockDim.yblockIdx.x+threadIdx.y; cid = (blockIdx.y<<5)+threadIdx.x;)for a long time,But I still can't understand why this is.
As I have learned,usually,rid = blockDim.xblockIdx.x+threadIdx.x; cid = blockIdx.y*blockDim.y+threadIdx.y;
I hope you can explain why this is the case.
Thank you very much.
The text was updated successfully, but these errors were encountered: