COO intersection: allow external hash + hash reuse in sparse_mask#94596
COO intersection: allow external hash + hash reuse in sparse_mask#94596nikitaved wants to merge 19 commits intogh/nikitaved/19/basefrom
Conversation
[ghstack-poisoned]
🔗 Helpful Links🧪 See artifacts and rendered test results at hud.pytorch.org/pr/94596
Note: Links to docs will display an error until the docs builds have been completed. ❌ 1 FailuresAs of commit 2c3bfc6: NEW FAILURES - The following jobs have failed:
This comment was automatically generated by Dr. CI and updates every 15 minutes. |
…se_mask" [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
| auto hash = source_indices_hash_opt.has_value() | ||
| ? (*source_indices_hash_opt).contiguous() | ||
| : at::empty({probably_coalesced._nnz()}, indices.options().dtype(kLong)); | ||
| const auto* RESTRICT hash_ptr = source_indices_hash_opt.has_value() | ||
| ? hash.data_ptr<int64_t>() | ||
| : nullptr; |
There was a problem hiding this comment.
Bug: wrong place to put it.
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
…se_mask" External hash implies more flexibility in the op coverage. Next up: `index_select`. [ghstack-poisoned]
|
|
||
| namespace native { | ||
|
|
||
| using OptTensor = c10::optional<Tensor>; |
There was a problem hiding this comment.
Nit: Adding this to the header makes it too widely available.
|
Reuse makes sense but why do we need to be able to control the hash? |
|
@cpuhrsch , yes, it allows to implement intersections along a specific dimension, and so is broadcasting all with the same kernel. All these cases require different hash functions to be computed. |
cpuhrsch
left a comment
There was a problem hiding this comment.
Can we remove using OptTensor from the headers? Otherwise this is good to go.
…se_mask" External hash implies more flexibility in the op coverage + performance improvement. [ghstack-poisoned]
|
@pytorchbot merge |
Merge startedYour change will be merged once all checks pass (ETA 0-4 Hours). Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
Merge failedReason: 1 jobs have failed, first few of them are: trunk / win-vs2019-cuda11.7-py3 / test (default, 3, 5, windows.g5.4xlarge.nvidia.gpu) Details for Dev Infra teamRaised by workflow job |
|
@pytorchbot merge -m "unrelated failure" |
|
❌ 🤖 pytorchbot command failed: Try |
|
@pytorchbot merge -f "unrelated failure" |
Merge startedYour change will be merged immediately since you used the force (-f) flag, bypassing any CI checks (ETA: 1-5 minutes). Learn more about merging in the wiki. Questions? Feedback? Please reach out to the PyTorch DevX Team |
…4596) External hash implies more flexibility in the op coverage + performance improvement. Pull Request resolved: pytorch/pytorch#94596 Approved by: https://github.com/cpuhrsch
…4596) External hash implies more flexibility in the op coverage + performance improvement. Pull Request resolved: pytorch/pytorch#94596 Approved by: https://github.com/cpuhrsch
External hash implies more flexibility in the op coverage + performance improvement.
Stack from ghstack (oldest at bottom):