This is an archive of the discontinued LLVM Phabricator instance.

[mlir][VectorOps] add reshape support during type_cast
AbandonedPublic

Authored by ztuowen on Jan 26 2020, 7:47 PM.

Details

Summary

Allowing casts such as:

memref<?x8xf32> to memref<?x2xvector<4xf32>>

Diff Detail

Event Timeline

ztuowen created this revision.Jan 26 2020, 7:47 PM

Unit tests: pass. 62198 tests passed, 0 failed and 815 were skipped.

clang-tidy: pass.

clang-format: pass.

Build artifacts: diff.json, clang-tidy.txt, clang-format.patch, CMakeCache.txt, console-log.txt, test-results.xml

Pre-merge checks is in beta. Report issue. Please join beta or enable it for your project.

nicolasvasilache requested changes to this revision.Jan 28 2020, 3:38 AM

Hello @ztuowen,

Thanks for your patch.
Note that conversions such as memref<?x8x?x8x16x9xf32> to memref<?x8x?x9xvector<8x16xf32>> are not simple casts but indeed reshapes that change the internal layout and thus require moving data (i.e. copying).
As such this goes against the design principles of "cast" operations and makes the "moving data" requirement very implicit.

Could you please start a discussion in llvm.discourse.group explaining your use and what you would like to achieve?
There should be other ways to achieve what you want that do not modify the fundamental assumptions of ops.

Thanks!

This revision now requires changes to proceed.Jan 28 2020, 3:38 AM
nicolasvasilache resigned from this revision.Oct 2 2020, 1:26 AM
This revision now requires review to proceed.Oct 2 2020, 1:26 AM
Herald added a reviewer: ftynse. · View Herald Transcript
Herald added a project: Restricted Project. · View Herald Transcript

Is this still worked on (with an active discussion)? Can you otherwise abandon the revision?

ztuowen abandoned this revision.Oct 8 2020, 9:29 AM