-
Notifications
You must be signed in to change notification settings - Fork 125
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
[NDTensorsGPUArraysCoreExt] Fix nonuniform Diag-Dense contractions on GPU #1511
[NDTensorsGPUArraysCoreExt] Fix nonuniform Diag-Dense contractions on GPU #1511
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #1511 +/- ##
=======================================
Coverage 79.21% 79.21%
=======================================
Files 148 148
Lines 9658 9658
=======================================
Hits 7651 7651
Misses 2007 2007 ☔ View full report in Codecov by Sentry. |
@kmp5VT another thing I added in this PR is a generic definition of |
This is great, thanks!! |
This fixes:
whereas before that contraction failed with a scalar indexing error. The fix is fairly crude and is based on converting the Diag tensor to Dense, similar to the fix for contracting uniform Diag with Dense in #1453.
I've also added some definitions for
mapreduce
forTensor
s with storage typesDense
,Diag
, andBlockSparse
, and definedsum(::ITensor)
andprod(::ITensor)
which make use of those definitions and therefore work on GPU and take advantage of sparsity.This fixes the issues raised in https://itensor.discourse.group/t/gpu-issues-scalar-indexing-is-disallowed-on-sum-itensor-and-traces-of-products-involving-diagonal-itensors/1828.