This is an archive of the discontinued LLVM Phabricator instance.

[mlir][sparse] introduce complex type to sparse tensor support
ClosedPublic

Authored by aartbik on May 13 2022, 6:45 PM.

Details

Summary

This is the first implementation of complex (f64 and f32) support
in the sparse compiler, with complex add/mul as first operations.
Note that various features are still TBD, such as other ops, and
reading in complex values from file. Also, note that the
std::complex<float> had a bit of an ABI issue when passed as
single argument. It is still TBD if better solutions are possible.

Diff Detail

Event Timeline

aartbik created this revision.May 13 2022, 6:45 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 13 2022, 6:45 PM
aartbik requested review of this revision.May 13 2022, 6:45 PM
aartbik updated this revision to Diff 429765.May 16 2022, 10:24 AM

CMake fix

bixia accepted this revision.May 16 2022, 10:45 AM
bixia added inline comments.
mlir/lib/ExecutionEngine/SparseTensorUtils.cpp
1355

It would be nice if we describe the problem we are trying to workaround here.

1381

Similar to the TODO above.

This revision is now accepted and ready to land.May 16 2022, 10:45 AM
aartbik marked 2 inline comments as done.May 16 2022, 10:58 AM
aartbik added inline comments.
mlir/lib/ExecutionEngine/SparseTensorUtils.cpp
1355

Good suggestion, added a comment.

aartbik updated this revision to Diff 429787.May 16 2022, 10:59 AM
aartbik marked an inline comment as done.

addressed comments

aartbik updated this revision to Diff 429820.May 16 2022, 12:57 PM

correct include for complex type

This revision was landed with ongoing or failed builds.May 16 2022, 1:17 PM
This revision was automatically updated to reflect the committed changes.