Skip to content
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

Data access pattern in the loop in add_out_dense_sparse_csr_cuda could be pretty bad #59104

Open
aocsa opened this issue May 27, 2021 · 0 comments
Labels
module: sparse Related to torch.sparse triaged This issue has been looked at a team member, and triaged and prioritized into an appropriate module

Comments

@aocsa
Copy link
Contributor

aocsa commented May 27, 2021

As it is referenced here:

Data access pattern in this loop could be pretty bad. Moreover this could be wildly imbalanced if the sparsity pattern varies a lot between rows.

As a reference here:

op(dst + linearId2, src + linearId2);

Neighboring threads are accessing neighboring values, not a single thread loops over all elements in this row. So it can be improved.

Originally posted by @ngimel in #59011 (comment)

cc @aocsa @nikitaved @pearu @cpuhrsch @IvanYashchuk

@ngimel ngimel added module: sparse Related to torch.sparse triaged This issue has been looked at a team member, and triaged and prioritized into an appropriate module labels Jun 1, 2021
@pearu pearu added this to To do in Sparse tensors Aug 10, 2021
@pearu pearu moved this from To do to To Do: CSR in Sparse tensors Aug 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
module: sparse Related to torch.sparse triaged This issue has been looked at a team member, and triaged and prioritized into an appropriate module
Projects
Sparse tensors
To Do: CSR
Development

No branches or pull requests

2 participants