[microNPU] Move the compilation to use Target Hooks. - #9597

Merged
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks
Dec 1, 2021
Merged

[microNPU] Move the compilation to use Target Hooks.#9597
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks

Conversation

@manupak

Copy link
Copy Markdown
Contributor

This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@mbaret@leandron@ekalda PTAL when you have some time.
We need this in a bit urgently as it is a refactor of the codegen and it has the tendency to get conflicted.

If you can provide feedback, I ll create a followup ASAP with addressing them while we could take this in as it is green now.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@grant-arm@Mousius

@ekaldaekalda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand all of it in great detail, but the bits I do understand look good!

@grant-armgrant-arm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from a few nits, it LGTM!

Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @ekalda@grant-arm for speedy reviews :).
I've created the follow up to anwser the comments : #9605

@manupak

manupak commented Nov 30, 2021

Copy link
Copy Markdown
ContributorAuthor

@leandron , do you think whether we can get this version in? Ive opened a follow up : #9605 to capture and address feedback. This should avoid grief from conflicts.

@huajsjhuajsj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @manupa-arm.

Comment threadinclude/tvm/tir/transform.h Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
@manupak
manupakforce-pushed the micronpu_target_hooks branch from 114709c to 219d9aeCompareDecember 1, 2021 07:41
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @huajsj . I ve modified and responded to your queries.

Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b

@leandronleandron left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Merging this to avoid further git conflicts, and given that we have #9605 already taking care of follow-up changes.

Thanks @manupa-arm@ekalda@grant-arm@huajsj!

@leandron
leandron merged commit c22d80d into apache:mainDec 1, 2021
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks! @leandron and Im happy to take further comments on this PR which I will include in #9605

@manupak

Copy link
Copy Markdown
ContributorAuthor

I've created another follow up PR to modify the CMake to keep utils.cc that carries a Object definition that needs to be compiled always.
#9630

lhutton1 pushed a commit to lhutton1/tvm that referenced this pull request Dec 22, 2021
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
manupak pushed a commit that referenced this pull request Dec 23, 2021
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in #9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 11, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 12, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@manupak@leandron@huajsj@grant-arm@ekalda
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

[microNPU] Move the compilation to use Target Hooks. - #9597

Merged
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks
Dec 1, 2021
Merged

[microNPU] Move the compilation to use Target Hooks.#9597
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks

Conversation

@manupak

Copy link
Copy Markdown
Contributor

This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@mbaret@leandron@ekalda PTAL when you have some time.
We need this in a bit urgently as it is a refactor of the codegen and it has the tendency to get conflicted.

If you can provide feedback, I ll create a followup ASAP with addressing them while we could take this in as it is green now.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@grant-arm@Mousius

@ekaldaekalda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand all of it in great detail, but the bits I do understand look good!

@grant-armgrant-arm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from a few nits, it LGTM!

Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @ekalda@grant-arm for speedy reviews :).
I've created the follow up to anwser the comments : #9605

@manupak

manupak commented Nov 30, 2021

Copy link
Copy Markdown
ContributorAuthor

@leandron , do you think whether we can get this version in? Ive opened a follow up : #9605 to capture and address feedback. This should avoid grief from conflicts.

@huajsjhuajsj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @manupa-arm.

Comment threadinclude/tvm/tir/transform.h Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
@manupak
manupakforce-pushed the micronpu_target_hooks branch from 114709c to 219d9aeCompareDecember 1, 2021 07:41
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @huajsj . I ve modified and responded to your queries.

Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b

@leandronleandron left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Merging this to avoid further git conflicts, and given that we have #9605 already taking care of follow-up changes.

Thanks @manupa-arm@ekalda@grant-arm@huajsj!

@leandron
leandron merged commit c22d80d into apache:mainDec 1, 2021
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks! @leandron and Im happy to take further comments on this PR which I will include in #9605

@manupak

Copy link
Copy Markdown
ContributorAuthor

I've created another follow up PR to modify the CMake to keep utils.cc that carries a Object definition that needs to be compiled always.
#9630

lhutton1 pushed a commit to lhutton1/tvm that referenced this pull request Dec 22, 2021
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
manupak pushed a commit that referenced this pull request Dec 23, 2021
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in #9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 11, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 12, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@manupak@leandron@huajsj@grant-arm@ekalda
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[microNPU] Move the compilation to use Target Hooks. - #9597

Merged
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks
Dec 1, 2021
Merged

[microNPU] Move the compilation to use Target Hooks.#9597
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks

Conversation

@manupak

Copy link
Copy Markdown
Contributor

This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@mbaret@leandron@ekalda PTAL when you have some time.
We need this in a bit urgently as it is a refactor of the codegen and it has the tendency to get conflicted.

If you can provide feedback, I ll create a followup ASAP with addressing them while we could take this in as it is green now.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@grant-arm@Mousius

@ekaldaekalda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand all of it in great detail, but the bits I do understand look good!

@grant-armgrant-arm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from a few nits, it LGTM!

Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @ekalda@grant-arm for speedy reviews :).
I've created the follow up to anwser the comments : #9605

@manupak

manupak commented Nov 30, 2021

Copy link
Copy Markdown
ContributorAuthor

@leandron , do you think whether we can get this version in? Ive opened a follow up : #9605 to capture and address feedback. This should avoid grief from conflicts.

@huajsjhuajsj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @manupa-arm.

Comment threadinclude/tvm/tir/transform.h Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
@manupak
manupakforce-pushed the micronpu_target_hooks branch from 114709c to 219d9aeCompareDecember 1, 2021 07:41
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @huajsj . I ve modified and responded to your queries.

Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b

@leandronleandron left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Merging this to avoid further git conflicts, and given that we have #9605 already taking care of follow-up changes.

Thanks @manupa-arm@ekalda@grant-arm@huajsj!

@leandron
leandron merged commit c22d80d into apache:mainDec 1, 2021
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks! @leandron and Im happy to take further comments on this PR which I will include in #9605

@manupak

Copy link
Copy Markdown
ContributorAuthor

I've created another follow up PR to modify the CMake to keep utils.cc that carries a Object definition that needs to be compiled always.
#9630

lhutton1 pushed a commit to lhutton1/tvm that referenced this pull request Dec 22, 2021
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
manupak pushed a commit that referenced this pull request Dec 23, 2021
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in #9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 11, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 12, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@manupak@leandron@huajsj@grant-arm@ekalda
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[microNPU] Move the compilation to use Target Hooks. - #9597

Merged
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks
Dec 1, 2021
Merged

[microNPU] Move the compilation to use Target Hooks.#9597
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks

Conversation

@manupak

Copy link
Copy Markdown
Contributor

This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@mbaret@leandron@ekalda PTAL when you have some time.
We need this in a bit urgently as it is a refactor of the codegen and it has the tendency to get conflicted.

If you can provide feedback, I ll create a followup ASAP with addressing them while we could take this in as it is green now.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@grant-arm@Mousius

@ekaldaekalda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand all of it in great detail, but the bits I do understand look good!

@grant-armgrant-arm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from a few nits, it LGTM!

Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @ekalda@grant-arm for speedy reviews :).
I've created the follow up to anwser the comments : #9605

@manupak

manupak commented Nov 30, 2021

Copy link
Copy Markdown
ContributorAuthor

@leandron , do you think whether we can get this version in? Ive opened a follow up : #9605 to capture and address feedback. This should avoid grief from conflicts.

@huajsjhuajsj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @manupa-arm.

Comment threadinclude/tvm/tir/transform.h Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
@manupak
manupakforce-pushed the micronpu_target_hooks branch from 114709c to 219d9aeCompareDecember 1, 2021 07:41
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @huajsj . I ve modified and responded to your queries.

Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b

@leandronleandron left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Merging this to avoid further git conflicts, and given that we have #9605 already taking care of follow-up changes.

Thanks @manupa-arm@ekalda@grant-arm@huajsj!

@leandron
leandron merged commit c22d80d into apache:mainDec 1, 2021
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks! @leandron and Im happy to take further comments on this PR which I will include in #9605

@manupak

Copy link
Copy Markdown
ContributorAuthor

I've created another follow up PR to modify the CMake to keep utils.cc that carries a Object definition that needs to be compiled always.
#9630

lhutton1 pushed a commit to lhutton1/tvm that referenced this pull request Dec 22, 2021
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
manupak pushed a commit that referenced this pull request Dec 23, 2021
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in #9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 11, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 12, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@manupak@leandron@huajsj@grant-arm@ekalda
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

[microNPU] Move the compilation to use Target Hooks. - #9597

Merged
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks
Dec 1, 2021
Merged

[microNPU] Move the compilation to use Target Hooks.#9597
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks

Conversation

@manupak

Copy link
Copy Markdown
Contributor

This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@mbaret@leandron@ekalda PTAL when you have some time.
We need this in a bit urgently as it is a refactor of the codegen and it has the tendency to get conflicted.

If you can provide feedback, I ll create a followup ASAP with addressing them while we could take this in as it is green now.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@grant-arm@Mousius

@ekaldaekalda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand all of it in great detail, but the bits I do understand look good!

@grant-armgrant-arm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from a few nits, it LGTM!

Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @ekalda@grant-arm for speedy reviews :).
I've created the follow up to anwser the comments : #9605

@manupak

manupak commented Nov 30, 2021

Copy link
Copy Markdown
ContributorAuthor

@leandron , do you think whether we can get this version in? Ive opened a follow up : #9605 to capture and address feedback. This should avoid grief from conflicts.

@huajsjhuajsj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @manupa-arm.

Comment threadinclude/tvm/tir/transform.h Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
@manupak
manupakforce-pushed the micronpu_target_hooks branch from 114709c to 219d9aeCompareDecember 1, 2021 07:41
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @huajsj . I ve modified and responded to your queries.

Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b

@leandronleandron left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Merging this to avoid further git conflicts, and given that we have #9605 already taking care of follow-up changes.

Thanks @manupa-arm@ekalda@grant-arm@huajsj!

@leandron
leandron merged commit c22d80d into apache:mainDec 1, 2021
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks! @leandron and Im happy to take further comments on this PR which I will include in #9605

@manupak

Copy link
Copy Markdown
ContributorAuthor

I've created another follow up PR to modify the CMake to keep utils.cc that carries a Object definition that needs to be compiled always.
#9630

lhutton1 pushed a commit to lhutton1/tvm that referenced this pull request Dec 22, 2021
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
manupak pushed a commit that referenced this pull request Dec 23, 2021
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in #9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 11, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 12, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@manupak@leandron@huajsj@grant-arm@ekalda
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[microNPU] Move the compilation to use Target Hooks. - #9597

Merged
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks
Dec 1, 2021
Merged

[microNPU] Move the compilation to use Target Hooks.#9597
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks

Conversation

@manupak

Copy link
Copy Markdown
Contributor

This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@mbaret@leandron@ekalda PTAL when you have some time.
We need this in a bit urgently as it is a refactor of the codegen and it has the tendency to get conflicted.

If you can provide feedback, I ll create a followup ASAP with addressing them while we could take this in as it is green now.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@grant-arm@Mousius

@ekaldaekalda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand all of it in great detail, but the bits I do understand look good!

@grant-armgrant-arm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from a few nits, it LGTM!

Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @ekalda@grant-arm for speedy reviews :).
I've created the follow up to anwser the comments : #9605

@manupak

manupak commented Nov 30, 2021

Copy link
Copy Markdown
ContributorAuthor

@leandron , do you think whether we can get this version in? Ive opened a follow up : #9605 to capture and address feedback. This should avoid grief from conflicts.

@huajsjhuajsj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @manupa-arm.

Comment threadinclude/tvm/tir/transform.h Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
@manupak
manupakforce-pushed the micronpu_target_hooks branch from 114709c to 219d9aeCompareDecember 1, 2021 07:41
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @huajsj . I ve modified and responded to your queries.

Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b

@leandronleandron left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Merging this to avoid further git conflicts, and given that we have #9605 already taking care of follow-up changes.

Thanks @manupa-arm@ekalda@grant-arm@huajsj!

@leandron
leandron merged commit c22d80d into apache:mainDec 1, 2021
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks! @leandron and Im happy to take further comments on this PR which I will include in #9605

@manupak

Copy link
Copy Markdown
ContributorAuthor

I've created another follow up PR to modify the CMake to keep utils.cc that carries a Object definition that needs to be compiled always.
#9630

lhutton1 pushed a commit to lhutton1/tvm that referenced this pull request Dec 22, 2021
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
manupak pushed a commit that referenced this pull request Dec 23, 2021
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in #9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 11, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 12, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@manupak@leandron@huajsj@grant-arm@ekalda
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

[microNPU] Move the compilation to use Target Hooks. - #9597

Merged
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks
Dec 1, 2021
Merged

[microNPU] Move the compilation to use Target Hooks.#9597
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks

Conversation

@manupak

Copy link
Copy Markdown
Contributor

This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@mbaret@leandron@ekalda PTAL when you have some time.
We need this in a bit urgently as it is a refactor of the codegen and it has the tendency to get conflicted.

If you can provide feedback, I ll create a followup ASAP with addressing them while we could take this in as it is green now.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@grant-arm@Mousius

@ekaldaekalda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand all of it in great detail, but the bits I do understand look good!

@grant-armgrant-arm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from a few nits, it LGTM!

Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @ekalda@grant-arm for speedy reviews :).
I've created the follow up to anwser the comments : #9605

@manupak

manupak commented Nov 30, 2021

Copy link
Copy Markdown
ContributorAuthor

@leandron , do you think whether we can get this version in? Ive opened a follow up : #9605 to capture and address feedback. This should avoid grief from conflicts.

@huajsjhuajsj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @manupa-arm.

Comment threadinclude/tvm/tir/transform.h Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
@manupak
manupakforce-pushed the micronpu_target_hooks branch from 114709c to 219d9aeCompareDecember 1, 2021 07:41
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @huajsj . I ve modified and responded to your queries.

Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b

@leandronleandron left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Merging this to avoid further git conflicts, and given that we have #9605 already taking care of follow-up changes.

Thanks @manupa-arm@ekalda@grant-arm@huajsj!

@leandron
leandron merged commit c22d80d into apache:mainDec 1, 2021
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks! @leandron and Im happy to take further comments on this PR which I will include in #9605

@manupak

Copy link
Copy Markdown
ContributorAuthor

I've created another follow up PR to modify the CMake to keep utils.cc that carries a Object definition that needs to be compiled always.
#9630

lhutton1 pushed a commit to lhutton1/tvm that referenced this pull request Dec 22, 2021
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
manupak pushed a commit that referenced this pull request Dec 23, 2021
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in #9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 11, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 12, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@manupak@leandron@huajsj@grant-arm@ekalda
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

[microNPU] Move the compilation to use Target Hooks. - #9597

Merged
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks
Dec 1, 2021
Merged

[microNPU] Move the compilation to use Target Hooks.#9597
leandron merged 9 commits into
apache:mainfrom
manupak:micronpu_target_hooks

Conversation

@manupak

Copy link
Copy Markdown
Contributor

This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@mbaret@leandron@ekalda PTAL when you have some time.
We need this in a bit urgently as it is a refactor of the codegen and it has the tendency to get conflicted.

If you can provide feedback, I ll create a followup ASAP with addressing them while we could take this in as it is green now.

@manupak

Copy link
Copy Markdown
ContributorAuthor

@grant-arm@Mousius

@ekaldaekalda left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't understand all of it in great detail, but the bits I do understand look good!

@grant-armgrant-arm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from a few nits, it LGTM!

Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
Comment threadsrc/relay/backend/contrib/ethosu/source_module.cc Outdated
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @ekalda@grant-arm for speedy reviews :).
I've created the follow up to anwser the comments : #9605

@manupak

manupak commented Nov 30, 2021

Copy link
Copy Markdown
ContributorAuthor

@leandron , do you think whether we can get this version in? Ive opened a follow up : #9605 to capture and address feedback. This should avoid grief from conflicts.

@huajsjhuajsj left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks @manupa-arm.

Comment threadinclude/tvm/tir/transform.h Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
Comment threadpython/tvm/relay/backend/contrib/ethosu/codegen.py Outdated
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
@manupak
manupakforce-pushed the micronpu_target_hooks branch from 114709c to 219d9aeCompareDecember 1, 2021 07:41
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks @huajsj . I ve modified and responded to your queries.

Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b

@leandronleandron left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Merging this to avoid further git conflicts, and given that we have #9605 already taking care of follow-up changes.

Thanks @manupa-arm@ekalda@grant-arm@huajsj!

@leandron
leandron merged commit c22d80d into apache:mainDec 1, 2021
@manupak

Copy link
Copy Markdown
ContributorAuthor

Thanks! @leandron and Im happy to take further comments on this PR which I will include in #9605

@manupak

Copy link
Copy Markdown
ContributorAuthor

I've created another follow up PR to modify the CMake to keep utils.cc that carries a Object definition that needs to be compiled always.
#9630

lhutton1 pushed a commit to lhutton1/tvm that referenced this pull request Dec 22, 2021
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
manupak pushed a commit that referenced this pull request Dec 23, 2021
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in #9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 7, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 11, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
yangulei pushed a commit to yangulei/tvm that referenced this pull request Jan 12, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Move the compilation to use Target Hooks.
This commits moves the current compilation flow
to use target hooks, so that the generated TIR
is provided to unified module to for unified
optimizations.
Change-Id: Ib3239a04ab201748e7f1b1ffa503cfe2aa7ccb7b
* [microNPU] Move the compilation to use Target Hooks.
*Fixing unpacked API tests
*Adding use_device_api target attr to example target hooks
Change-Id: I72c51caa57e9a0c2a538f40eb73939e28d4f112f
* [microNPU] Move the compilation to use Target Hooks.
* Modifed CLZ test case to support target hooks
* Modifed reference TIR for test to include allocate annotation
* TIR to CS translation tests are modified to run MakeUnpackedAPI
Change-Id: I3a3d28777a6995e7f2b8789e14c5cb0f280dc763
* [microNPU] Move the compilation to use Target Hooks.
* Added a missed documentation to changes in source module
* Skipping device api test for packed API as microNPU does not
support it.
Change-Id: I6da1adcf8fdd3f972ec9b37ff530ff673e93058c
* [microNPU] Move the compilation to use Target Hooks.
* fixed tvmc test use unpacked-api for microNPU compilation
Change-Id: Ib722d91ca3b3e4c6d13075ee0873acb86f487247
* [microNPU] Move the compilation to use Target Hooks.
* adjust target name.
Change-Id: I862957324440705fb6093939b97b1a00fa1d4b46
* [microNPU] follow up on using target hooks
* Fixed few typos and cleaned up as per suggestions
Change-Id: I2a744a4bc4015e1884dbef4165252aa13aa30b31
* [microNPU] follow up on using target hooks
Fixing some typos and change params to
const_dict as it seems more clearer
Change-Id: Ia36a4635a68f6490bcc3eeaa72eeeeaadb6aa7f6
* [microNPU] Move the compilation to use Target Hooks.
Fixing up lookup table tests to use new runtime module
import structure resulted from using target hooks.
Change-Id: I250aedef7cc73edad3812bb7e9aab013ed8bed5b
ylc pushed a commit to ylc/tvm that referenced this pull request Jan 13, 2022
* [microNPU] Re-enable LayoutOptimizer pass
It looks like in apache#9597 the LayoutOptimizer pass was accidentally removed.
Probably due to a race condition in PR's. Re-enabling this feature.
Change-Id: I4fc16a440f90277c5fcd887715166332af052c6b
* change pass ordering
Change-Id: I6e7a22f46660029bbf4be3deb2be929cecf5d365
Co-authored-by: lukhut01 (generated by with_the_same_user script) <lukhut01@e127400.cambridge.arm.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@manupak@leandron@huajsj@grant-arm@ekalda