Page MenuHomePhabricator

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

Authored by aartbik on Fri, May 13, 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.Fri, May 13, 6:45 PM
Herald added a project: Restricted Project. · View Herald TranscriptFri, May 13, 6:45 PM
aartbik requested review of this revision.Fri, May 13, 6:45 PM
aartbik updated this revision to Diff 429765.Mon, May 16, 10:24 AM

CMake fix

bixia accepted this revision.Mon, May 16, 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.

1384

Similar to the TODO above.

This revision is now accepted and ready to land.Mon, May 16, 10:45 AM
aartbik marked 2 inline comments as done.Mon, May 16, 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.Mon, May 16, 10:59 AM
aartbik marked an inline comment as done.

addressed comments

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

correct include for complex type

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