forked from apache/tvm
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[TIR] Tir constants integration into compilation pipeline (apache#8509)
* [TIR] Introduce tir.allocate_const to TIR This PR is adding non-scalar constant representation in TIR. This is used to express constants (i.e., parameters) in the TIR instead of bypassing the TIR as it's done until now. Change-Id: Id3afc4d7197260cb43ecde60f05ccbce3fc42430 Co-authored-by: Giuseppe Rossini <giuseppe.rossini@arm.com> Change-Id: Id4a09a637c9c1fd7d49989c6c10f474a78569e18 * [TIR] Integrate tir constant nodes in compilation pipeline This PR integrates tir.allocate_const to the compilation pipeline to support --link-params. Change-Id: Ic8d0cb75d596299fcae7078b304598afbf0c5494 Co-authored-by: Giuseppe Rossini <giuseppe.rossini@arm.com> Change-Id: Id98cc682bbfacfe75c4d8b260fd41658f1f196b2 * [TIR] tir.const extraction This commit tries to implement an amendment to tir.constant RFC with centralized storage of constant data within the IRModule Please note that data and irmod_storage_idx are not mutual exclisive further more the irmod_storage_idx is valid only immediatly after prim func addition to the mod or after update within the mod. If prim func is out of the the module scope then the index become meangless. irmod_storage_idx also is not used in calculation of hash function of the tir.constant node. Change-Id: I40742ed580468b0252ea3fec02184cba65e20871 * unit test fixed Change-Id: Ied2186554d4cbad44b2346216c8be92449e55732 * cmsis-nn codegen fix Now handled case when params of the functions came as constants Change-Id: I5874e182e34ef94e23048eaf3c61b01a56d91131 * Fixes for unittests Change-Id: I5b82ee3f80337155706b5470973f494a301b5d90 * Rebasing tests fixes Change-Id: I94ac87907081bab53c1dd1ab2db106ae057b4b19 * Linter: added method param description Change-Id: I2f8c4c8d244b74c794abaa6079c46cc593ffcbdb * Printing removal fix This patch removes forgotten print in fuse_ops Change-Id: I4bb5934f3b4cd5fde19d36a8e3319aae136bce8a * Bugfix Fixed concurrent map update bug here Change-Id: Ifec3bf5030086d9079b9e493096f17dfd82297ec * Reworked logic for not to introduce empty constant list to modue attrs Change-Id: I082c85b3b4b70c218f0d714f5613ef6e178bd020 * Added support for tir builtin::tvm_access_ptr This fixed unit tests for tests/python/integration/test_arm_mprofile_dsp.py Change-Id: I10919f301ef9ddc3fd87f0e1a8414e9a52fc7938 * Unit test fix Fixes unit tests in torch frontend Change-Id: I6c179834f93dd202605d1ce5a7f07d987b9dc469 * Addressed requested changes Addressed changes requested upstream Change-Id: I741e52b89eb285732c23b1ac7ff277e757a088c3 * Namespace usage changed to conform earlier C++ standard Change-Id: I1b29238cfe2a6bedb525f4f823a3a540f631d836 * Bugfix Change-Id: I57a44b714b307278a243817ec2864e53ad31366b * updated IRModuleNode::ExtractPrimFuncConstants Updated IRModuleNode::ExtractPrimFuncConstants as per request upstream. Change-Id: I35db0145fb5827efd0445ce665d0c99465274016 * Minor changes typo fixd renamed ExtractPrimFuncConstants to ExtractConstants removed getters/setters from FuseMutator and added parametrized constructor Change-Id: Ib2326805781779b88c963a8642ff683c8755956e * Moved LinkedParam/LinkedParamNode Moved LinkedParam/LinkedParamNode from tvm::tir namespace to tvm namespace Change-Id: Ie3f0303bd4f7890c6d680268c91f2051977bc7f4 * Addressed upstream comments Changed BindParams argument to Array<NDArray> Removed 'name' argument from te.const Switched to in-depth comparision of NDArrays in constant de-duplication Removed extra final comma from NDArrayToTIR Changed return type of ConstantAllocationSize to int64_t Made link_param a tvm.testing.parameter for test_fuse_take and test_fuse_gather_nd Change-Id: I4285099cc63756aa5ebe91a5bd207d4135499b41 * Removed unnecessary forward declaration +linter Change-Id: I2a6c0d1f97773aeb1ae3f458da252a22079ccdb1 * Constant extractor now is a separate pass Change-Id: Ia4adca9d3315b26fbdc006ef7c115900c081e303 * Added forgotten file + unit test fix Change-Id: Ice305f4fefd13fe95e97574e6d63ffeb664621df * Changed to IRModule pass Refactored ExtractPrimFuncConstants to IRModule pass. deDup -> DeDup Refactored logic of Applicator supplementary class Change-Id: I6c120d175eb6790ba90f176c4f856bde8f0c7c94 * bugfix after rebasing Change-Id: Ie3ee6ea2479476a30f486baef74f20070f117942 * -v -> -vv to have more debug information Change-Id: I12c63731663b9c9ea574b9ed5cb17311ba3cf701 Co-authored-by: Giuseppe Rossini <giuseppe.rossini@arm.com>
- Loading branch information
1 parent
391bf17
commit 0dfa62d
Showing
70 changed files
with
1,221 additions
and
338 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.