[Hexagon] Do not use target test fixture in Hexagon tests - #12981

Merged
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target
Oct 5, 2022
Merged

[Hexagon] Do not use target test fixture in Hexagon tests#12981
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target

Conversation

@mehrdadh

@mehrdadhmehrdadh commented Oct 4, 2022

Copy link
Copy Markdown
Member

target is test fixture for TVM CI which includes multiple targets. However, for hexagon we specify the target in each test. Adding target in the test function would result in running those tests multiple times in the CI.

This PR also refactors hexagon target in a function

cc @cconvey@csullivan@Lunderberg

@LunderbergLunderberg 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.

All the individual changes look good, just a question on the design.

  1. Should the tvm.target.hexagon function also set the host? That
    would remove the need for a separate testing-specific
    get_hexagon_target function.

  2. Should we have a separate hexagon_target fixture in
    python/tvm/contrib/hexagon/pytest_plugin.py, rather than a
    utility function?

    hexagon_cpu_version=tvm.testing.parameter('v69')
    @tvm.testing.fixturedefhexagon_target(hexagon_cpu_version):
    returntvm.target.hexagon(hexagon_cpu_version)

    This would also make it easier to run tests with multiple different
    cpu versions, or to restrict a test to a single version by using
    @pytest.mark.parametrize('hexagon_cpu_version', ['v68']).

Comment threadtests/python/contrib/test_hexagon/infrastructure.py
# TODO: no support for padding in conv2d #2
pad2 = 0

target = "llvm"

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.

It looks like none of the tests in this file actually exercise Hexagon, and only validate that the schedules used elsewhere have the expected behavior. Are they intended to exercise Hexagon hardware at some point? If not, we should keep the same target fixture as non-Hexagon targets.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah I reverted it. I did since I don't like the noise in the skip tests but we should fix that in TVM generally instead of hard coding the target here.

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 go back and forth on that part. I tend to prefer the explicitly reported and skipped tests, because otherwise a skipped test can appear as a successful test. But I also agree that having lists upon lists of skipped tests isn't useful for an interactive environment, and just adds noise.

Comment threadtests/python/contrib/test_hexagon/conv2d/test_conv2d_blocked.py Outdated

if __name__ == "__main__":
sys.exit(pytest.main(sys.argv))
tvm.testing.main()

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.

Side comment, thank you for updating these calls to use tvm.testing.main(). I'd like to make a custom lint rule for it at some point, but there isn't one at the moment.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah that would be great! I mentioned it to OSS team before.

@mehrdadh

Copy link
Copy Markdown
MemberAuthor

@Lunderberg thanks for the review!
Regarding your suggestions:

  1. We still need a separate host target for AOT mode. Therefore we cannot combine the host target creation in the target fixture.
  2. I very much like this, but I suggest we do it once we have consolidated the hexagon target and made a decision about why we have hexagon target in addition to CPU target. Because that that point we have a clear definition for hexagon target for both AOT and Graph. wdyt?

@Lunderberg

Copy link
Copy Markdown
Contributor
  1. Sounds good, and thank you for pointing out the c vs llvm host. Thinking through it again, it also wouldn't be implementable using the set_target_parser in target_kind.cc, so it's better to keep them separate.

  2. That sounds reasonable, since we do have that difference for the host.

@mehrdadh
mehrdadh merged commit 2e257f0 into apache:mainOct 5, 2022
@mehrdadh
mehrdadh deleted the hexagon/test_refactor_target branch October 5, 2022 20:18
xinetzone pushed a commit to daobook/tvm that referenced this pull request Nov 25, 2022
…2981)
* remove target from test functions
* refactor target_hexagon
* refactor target
* fix permission
* cleanup
* fix target
* remove target fixture from test_2d_physical_buffers
* fix target fixture in test_hexagon/conv2d tests
* address comments
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.

2 participants

@mehrdadh@Lunderberg
, '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

[Hexagon] Do not use target test fixture in Hexagon tests - #12981

Merged
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target
Oct 5, 2022
Merged

[Hexagon] Do not use target test fixture in Hexagon tests#12981
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target

Conversation

@mehrdadh

@mehrdadhmehrdadh commented Oct 4, 2022

Copy link
Copy Markdown
Member

target is test fixture for TVM CI which includes multiple targets. However, for hexagon we specify the target in each test. Adding target in the test function would result in running those tests multiple times in the CI.

This PR also refactors hexagon target in a function

cc @cconvey@csullivan@Lunderberg

@LunderbergLunderberg 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.

All the individual changes look good, just a question on the design.

  1. Should the tvm.target.hexagon function also set the host? That
    would remove the need for a separate testing-specific
    get_hexagon_target function.

  2. Should we have a separate hexagon_target fixture in
    python/tvm/contrib/hexagon/pytest_plugin.py, rather than a
    utility function?

    hexagon_cpu_version=tvm.testing.parameter('v69')
    @tvm.testing.fixturedefhexagon_target(hexagon_cpu_version):
    returntvm.target.hexagon(hexagon_cpu_version)

    This would also make it easier to run tests with multiple different
    cpu versions, or to restrict a test to a single version by using
    @pytest.mark.parametrize('hexagon_cpu_version', ['v68']).

Comment threadtests/python/contrib/test_hexagon/infrastructure.py
# TODO: no support for padding in conv2d #2
pad2 = 0

target = "llvm"

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.

It looks like none of the tests in this file actually exercise Hexagon, and only validate that the schedules used elsewhere have the expected behavior. Are they intended to exercise Hexagon hardware at some point? If not, we should keep the same target fixture as non-Hexagon targets.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah I reverted it. I did since I don't like the noise in the skip tests but we should fix that in TVM generally instead of hard coding the target here.

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 go back and forth on that part. I tend to prefer the explicitly reported and skipped tests, because otherwise a skipped test can appear as a successful test. But I also agree that having lists upon lists of skipped tests isn't useful for an interactive environment, and just adds noise.

Comment threadtests/python/contrib/test_hexagon/conv2d/test_conv2d_blocked.py Outdated

if __name__ == "__main__":
sys.exit(pytest.main(sys.argv))
tvm.testing.main()

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.

Side comment, thank you for updating these calls to use tvm.testing.main(). I'd like to make a custom lint rule for it at some point, but there isn't one at the moment.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah that would be great! I mentioned it to OSS team before.

@mehrdadh

Copy link
Copy Markdown
MemberAuthor

@Lunderberg thanks for the review!
Regarding your suggestions:

  1. We still need a separate host target for AOT mode. Therefore we cannot combine the host target creation in the target fixture.
  2. I very much like this, but I suggest we do it once we have consolidated the hexagon target and made a decision about why we have hexagon target in addition to CPU target. Because that that point we have a clear definition for hexagon target for both AOT and Graph. wdyt?

@Lunderberg

Copy link
Copy Markdown
Contributor
  1. Sounds good, and thank you for pointing out the c vs llvm host. Thinking through it again, it also wouldn't be implementable using the set_target_parser in target_kind.cc, so it's better to keep them separate.

  2. That sounds reasonable, since we do have that difference for the host.

@mehrdadh
mehrdadh merged commit 2e257f0 into apache:mainOct 5, 2022
@mehrdadh
mehrdadh deleted the hexagon/test_refactor_target branch October 5, 2022 20:18
xinetzone pushed a commit to daobook/tvm that referenced this pull request Nov 25, 2022
…2981)
* remove target from test functions
* refactor target_hexagon
* refactor target
* fix permission
* cleanup
* fix target
* remove target fixture from test_2d_physical_buffers
* fix target fixture in test_hexagon/conv2d tests
* address comments
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.

2 participants

@mehrdadh@Lunderberg
, '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

[Hexagon] Do not use target test fixture in Hexagon tests - #12981

Merged
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target
Oct 5, 2022
Merged

[Hexagon] Do not use target test fixture in Hexagon tests#12981
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target

Conversation

@mehrdadh

@mehrdadhmehrdadh commented Oct 4, 2022

Copy link
Copy Markdown
Member

target is test fixture for TVM CI which includes multiple targets. However, for hexagon we specify the target in each test. Adding target in the test function would result in running those tests multiple times in the CI.

This PR also refactors hexagon target in a function

cc @cconvey@csullivan@Lunderberg

@LunderbergLunderberg 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.

All the individual changes look good, just a question on the design.

  1. Should the tvm.target.hexagon function also set the host? That
    would remove the need for a separate testing-specific
    get_hexagon_target function.

  2. Should we have a separate hexagon_target fixture in
    python/tvm/contrib/hexagon/pytest_plugin.py, rather than a
    utility function?

    hexagon_cpu_version=tvm.testing.parameter('v69')
    @tvm.testing.fixturedefhexagon_target(hexagon_cpu_version):
    returntvm.target.hexagon(hexagon_cpu_version)

    This would also make it easier to run tests with multiple different
    cpu versions, or to restrict a test to a single version by using
    @pytest.mark.parametrize('hexagon_cpu_version', ['v68']).

Comment threadtests/python/contrib/test_hexagon/infrastructure.py
# TODO: no support for padding in conv2d #2
pad2 = 0

target = "llvm"

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.

It looks like none of the tests in this file actually exercise Hexagon, and only validate that the schedules used elsewhere have the expected behavior. Are they intended to exercise Hexagon hardware at some point? If not, we should keep the same target fixture as non-Hexagon targets.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah I reverted it. I did since I don't like the noise in the skip tests but we should fix that in TVM generally instead of hard coding the target here.

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 go back and forth on that part. I tend to prefer the explicitly reported and skipped tests, because otherwise a skipped test can appear as a successful test. But I also agree that having lists upon lists of skipped tests isn't useful for an interactive environment, and just adds noise.

Comment threadtests/python/contrib/test_hexagon/conv2d/test_conv2d_blocked.py Outdated

if __name__ == "__main__":
sys.exit(pytest.main(sys.argv))
tvm.testing.main()

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.

Side comment, thank you for updating these calls to use tvm.testing.main(). I'd like to make a custom lint rule for it at some point, but there isn't one at the moment.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah that would be great! I mentioned it to OSS team before.

@mehrdadh

Copy link
Copy Markdown
MemberAuthor

@Lunderberg thanks for the review!
Regarding your suggestions:

  1. We still need a separate host target for AOT mode. Therefore we cannot combine the host target creation in the target fixture.
  2. I very much like this, but I suggest we do it once we have consolidated the hexagon target and made a decision about why we have hexagon target in addition to CPU target. Because that that point we have a clear definition for hexagon target for both AOT and Graph. wdyt?

@Lunderberg

Copy link
Copy Markdown
Contributor
  1. Sounds good, and thank you for pointing out the c vs llvm host. Thinking through it again, it also wouldn't be implementable using the set_target_parser in target_kind.cc, so it's better to keep them separate.

  2. That sounds reasonable, since we do have that difference for the host.

@mehrdadh
mehrdadh merged commit 2e257f0 into apache:mainOct 5, 2022
@mehrdadh
mehrdadh deleted the hexagon/test_refactor_target branch October 5, 2022 20:18
xinetzone pushed a commit to daobook/tvm that referenced this pull request Nov 25, 2022
…2981)
* remove target from test functions
* refactor target_hexagon
* refactor target
* fix permission
* cleanup
* fix target
* remove target fixture from test_2d_physical_buffers
* fix target fixture in test_hexagon/conv2d tests
* address comments
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.

2 participants

@mehrdadh@Lunderberg
, '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

[Hexagon] Do not use target test fixture in Hexagon tests - #12981

Merged
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target
Oct 5, 2022
Merged

[Hexagon] Do not use target test fixture in Hexagon tests#12981
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target

Conversation

@mehrdadh

@mehrdadhmehrdadh commented Oct 4, 2022

Copy link
Copy Markdown
Member

target is test fixture for TVM CI which includes multiple targets. However, for hexagon we specify the target in each test. Adding target in the test function would result in running those tests multiple times in the CI.

This PR also refactors hexagon target in a function

cc @cconvey@csullivan@Lunderberg

@LunderbergLunderberg 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.

All the individual changes look good, just a question on the design.

  1. Should the tvm.target.hexagon function also set the host? That
    would remove the need for a separate testing-specific
    get_hexagon_target function.

  2. Should we have a separate hexagon_target fixture in
    python/tvm/contrib/hexagon/pytest_plugin.py, rather than a
    utility function?

    hexagon_cpu_version=tvm.testing.parameter('v69')
    @tvm.testing.fixturedefhexagon_target(hexagon_cpu_version):
    returntvm.target.hexagon(hexagon_cpu_version)

    This would also make it easier to run tests with multiple different
    cpu versions, or to restrict a test to a single version by using
    @pytest.mark.parametrize('hexagon_cpu_version', ['v68']).

Comment threadtests/python/contrib/test_hexagon/infrastructure.py
# TODO: no support for padding in conv2d #2
pad2 = 0

target = "llvm"

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.

It looks like none of the tests in this file actually exercise Hexagon, and only validate that the schedules used elsewhere have the expected behavior. Are they intended to exercise Hexagon hardware at some point? If not, we should keep the same target fixture as non-Hexagon targets.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah I reverted it. I did since I don't like the noise in the skip tests but we should fix that in TVM generally instead of hard coding the target here.

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 go back and forth on that part. I tend to prefer the explicitly reported and skipped tests, because otherwise a skipped test can appear as a successful test. But I also agree that having lists upon lists of skipped tests isn't useful for an interactive environment, and just adds noise.

Comment threadtests/python/contrib/test_hexagon/conv2d/test_conv2d_blocked.py Outdated

if __name__ == "__main__":
sys.exit(pytest.main(sys.argv))
tvm.testing.main()

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.

Side comment, thank you for updating these calls to use tvm.testing.main(). I'd like to make a custom lint rule for it at some point, but there isn't one at the moment.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah that would be great! I mentioned it to OSS team before.

@mehrdadh

Copy link
Copy Markdown
MemberAuthor

@Lunderberg thanks for the review!
Regarding your suggestions:

  1. We still need a separate host target for AOT mode. Therefore we cannot combine the host target creation in the target fixture.
  2. I very much like this, but I suggest we do it once we have consolidated the hexagon target and made a decision about why we have hexagon target in addition to CPU target. Because that that point we have a clear definition for hexagon target for both AOT and Graph. wdyt?

@Lunderberg

Copy link
Copy Markdown
Contributor
  1. Sounds good, and thank you for pointing out the c vs llvm host. Thinking through it again, it also wouldn't be implementable using the set_target_parser in target_kind.cc, so it's better to keep them separate.

  2. That sounds reasonable, since we do have that difference for the host.

@mehrdadh
mehrdadh merged commit 2e257f0 into apache:mainOct 5, 2022
@mehrdadh
mehrdadh deleted the hexagon/test_refactor_target branch October 5, 2022 20:18
xinetzone pushed a commit to daobook/tvm that referenced this pull request Nov 25, 2022
…2981)
* remove target from test functions
* refactor target_hexagon
* refactor target
* fix permission
* cleanup
* fix target
* remove target fixture from test_2d_physical_buffers
* fix target fixture in test_hexagon/conv2d tests
* address comments
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.

2 participants

@mehrdadh@Lunderberg
, '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

[Hexagon] Do not use target test fixture in Hexagon tests - #12981

Merged
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target
Oct 5, 2022
Merged

[Hexagon] Do not use target test fixture in Hexagon tests#12981
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target

Conversation

@mehrdadh

@mehrdadhmehrdadh commented Oct 4, 2022

Copy link
Copy Markdown
Member

target is test fixture for TVM CI which includes multiple targets. However, for hexagon we specify the target in each test. Adding target in the test function would result in running those tests multiple times in the CI.

This PR also refactors hexagon target in a function

cc @cconvey@csullivan@Lunderberg

@LunderbergLunderberg 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.

All the individual changes look good, just a question on the design.

  1. Should the tvm.target.hexagon function also set the host? That
    would remove the need for a separate testing-specific
    get_hexagon_target function.

  2. Should we have a separate hexagon_target fixture in
    python/tvm/contrib/hexagon/pytest_plugin.py, rather than a
    utility function?

    hexagon_cpu_version=tvm.testing.parameter('v69')
    @tvm.testing.fixturedefhexagon_target(hexagon_cpu_version):
    returntvm.target.hexagon(hexagon_cpu_version)

    This would also make it easier to run tests with multiple different
    cpu versions, or to restrict a test to a single version by using
    @pytest.mark.parametrize('hexagon_cpu_version', ['v68']).

Comment threadtests/python/contrib/test_hexagon/infrastructure.py
# TODO: no support for padding in conv2d #2
pad2 = 0

target = "llvm"

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.

It looks like none of the tests in this file actually exercise Hexagon, and only validate that the schedules used elsewhere have the expected behavior. Are they intended to exercise Hexagon hardware at some point? If not, we should keep the same target fixture as non-Hexagon targets.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah I reverted it. I did since I don't like the noise in the skip tests but we should fix that in TVM generally instead of hard coding the target here.

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 go back and forth on that part. I tend to prefer the explicitly reported and skipped tests, because otherwise a skipped test can appear as a successful test. But I also agree that having lists upon lists of skipped tests isn't useful for an interactive environment, and just adds noise.

Comment threadtests/python/contrib/test_hexagon/conv2d/test_conv2d_blocked.py Outdated

if __name__ == "__main__":
sys.exit(pytest.main(sys.argv))
tvm.testing.main()

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.

Side comment, thank you for updating these calls to use tvm.testing.main(). I'd like to make a custom lint rule for it at some point, but there isn't one at the moment.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah that would be great! I mentioned it to OSS team before.

@mehrdadh

Copy link
Copy Markdown
MemberAuthor

@Lunderberg thanks for the review!
Regarding your suggestions:

  1. We still need a separate host target for AOT mode. Therefore we cannot combine the host target creation in the target fixture.
  2. I very much like this, but I suggest we do it once we have consolidated the hexagon target and made a decision about why we have hexagon target in addition to CPU target. Because that that point we have a clear definition for hexagon target for both AOT and Graph. wdyt?

@Lunderberg

Copy link
Copy Markdown
Contributor
  1. Sounds good, and thank you for pointing out the c vs llvm host. Thinking through it again, it also wouldn't be implementable using the set_target_parser in target_kind.cc, so it's better to keep them separate.

  2. That sounds reasonable, since we do have that difference for the host.

@mehrdadh
mehrdadh merged commit 2e257f0 into apache:mainOct 5, 2022
@mehrdadh
mehrdadh deleted the hexagon/test_refactor_target branch October 5, 2022 20:18
xinetzone pushed a commit to daobook/tvm that referenced this pull request Nov 25, 2022
…2981)
* remove target from test functions
* refactor target_hexagon
* refactor target
* fix permission
* cleanup
* fix target
* remove target fixture from test_2d_physical_buffers
* fix target fixture in test_hexagon/conv2d tests
* address comments
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.

2 participants

@mehrdadh@Lunderberg
, '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

[Hexagon] Do not use target test fixture in Hexagon tests - #12981

Merged
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target
Oct 5, 2022
Merged

[Hexagon] Do not use target test fixture in Hexagon tests#12981
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target

Conversation

@mehrdadh

@mehrdadhmehrdadh commented Oct 4, 2022

Copy link
Copy Markdown
Member

target is test fixture for TVM CI which includes multiple targets. However, for hexagon we specify the target in each test. Adding target in the test function would result in running those tests multiple times in the CI.

This PR also refactors hexagon target in a function

cc @cconvey@csullivan@Lunderberg

@LunderbergLunderberg 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.

All the individual changes look good, just a question on the design.

  1. Should the tvm.target.hexagon function also set the host? That
    would remove the need for a separate testing-specific
    get_hexagon_target function.

  2. Should we have a separate hexagon_target fixture in
    python/tvm/contrib/hexagon/pytest_plugin.py, rather than a
    utility function?

    hexagon_cpu_version=tvm.testing.parameter('v69')
    @tvm.testing.fixturedefhexagon_target(hexagon_cpu_version):
    returntvm.target.hexagon(hexagon_cpu_version)

    This would also make it easier to run tests with multiple different
    cpu versions, or to restrict a test to a single version by using
    @pytest.mark.parametrize('hexagon_cpu_version', ['v68']).

Comment threadtests/python/contrib/test_hexagon/infrastructure.py
# TODO: no support for padding in conv2d #2
pad2 = 0

target = "llvm"

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.

It looks like none of the tests in this file actually exercise Hexagon, and only validate that the schedules used elsewhere have the expected behavior. Are they intended to exercise Hexagon hardware at some point? If not, we should keep the same target fixture as non-Hexagon targets.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah I reverted it. I did since I don't like the noise in the skip tests but we should fix that in TVM generally instead of hard coding the target here.

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 go back and forth on that part. I tend to prefer the explicitly reported and skipped tests, because otherwise a skipped test can appear as a successful test. But I also agree that having lists upon lists of skipped tests isn't useful for an interactive environment, and just adds noise.

Comment threadtests/python/contrib/test_hexagon/conv2d/test_conv2d_blocked.py Outdated

if __name__ == "__main__":
sys.exit(pytest.main(sys.argv))
tvm.testing.main()

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.

Side comment, thank you for updating these calls to use tvm.testing.main(). I'd like to make a custom lint rule for it at some point, but there isn't one at the moment.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah that would be great! I mentioned it to OSS team before.

@mehrdadh

Copy link
Copy Markdown
MemberAuthor

@Lunderberg thanks for the review!
Regarding your suggestions:

  1. We still need a separate host target for AOT mode. Therefore we cannot combine the host target creation in the target fixture.
  2. I very much like this, but I suggest we do it once we have consolidated the hexagon target and made a decision about why we have hexagon target in addition to CPU target. Because that that point we have a clear definition for hexagon target for both AOT and Graph. wdyt?

@Lunderberg

Copy link
Copy Markdown
Contributor
  1. Sounds good, and thank you for pointing out the c vs llvm host. Thinking through it again, it also wouldn't be implementable using the set_target_parser in target_kind.cc, so it's better to keep them separate.

  2. That sounds reasonable, since we do have that difference for the host.

@mehrdadh
mehrdadh merged commit 2e257f0 into apache:mainOct 5, 2022
@mehrdadh
mehrdadh deleted the hexagon/test_refactor_target branch October 5, 2022 20:18
xinetzone pushed a commit to daobook/tvm that referenced this pull request Nov 25, 2022
…2981)
* remove target from test functions
* refactor target_hexagon
* refactor target
* fix permission
* cleanup
* fix target
* remove target fixture from test_2d_physical_buffers
* fix target fixture in test_hexagon/conv2d tests
* address comments
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.

2 participants

@mehrdadh@Lunderberg
, '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

[Hexagon] Do not use target test fixture in Hexagon tests - #12981

Merged
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target
Oct 5, 2022
Merged

[Hexagon] Do not use target test fixture in Hexagon tests#12981
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target

Conversation

@mehrdadh

@mehrdadhmehrdadh commented Oct 4, 2022

Copy link
Copy Markdown
Member

target is test fixture for TVM CI which includes multiple targets. However, for hexagon we specify the target in each test. Adding target in the test function would result in running those tests multiple times in the CI.

This PR also refactors hexagon target in a function

cc @cconvey@csullivan@Lunderberg

@LunderbergLunderberg 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.

All the individual changes look good, just a question on the design.

  1. Should the tvm.target.hexagon function also set the host? That
    would remove the need for a separate testing-specific
    get_hexagon_target function.

  2. Should we have a separate hexagon_target fixture in
    python/tvm/contrib/hexagon/pytest_plugin.py, rather than a
    utility function?

    hexagon_cpu_version=tvm.testing.parameter('v69')
    @tvm.testing.fixturedefhexagon_target(hexagon_cpu_version):
    returntvm.target.hexagon(hexagon_cpu_version)

    This would also make it easier to run tests with multiple different
    cpu versions, or to restrict a test to a single version by using
    @pytest.mark.parametrize('hexagon_cpu_version', ['v68']).

Comment threadtests/python/contrib/test_hexagon/infrastructure.py
# TODO: no support for padding in conv2d #2
pad2 = 0

target = "llvm"

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.

It looks like none of the tests in this file actually exercise Hexagon, and only validate that the schedules used elsewhere have the expected behavior. Are they intended to exercise Hexagon hardware at some point? If not, we should keep the same target fixture as non-Hexagon targets.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah I reverted it. I did since I don't like the noise in the skip tests but we should fix that in TVM generally instead of hard coding the target here.

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 go back and forth on that part. I tend to prefer the explicitly reported and skipped tests, because otherwise a skipped test can appear as a successful test. But I also agree that having lists upon lists of skipped tests isn't useful for an interactive environment, and just adds noise.

Comment threadtests/python/contrib/test_hexagon/conv2d/test_conv2d_blocked.py Outdated

if __name__ == "__main__":
sys.exit(pytest.main(sys.argv))
tvm.testing.main()

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.

Side comment, thank you for updating these calls to use tvm.testing.main(). I'd like to make a custom lint rule for it at some point, but there isn't one at the moment.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah that would be great! I mentioned it to OSS team before.

@mehrdadh

Copy link
Copy Markdown
MemberAuthor

@Lunderberg thanks for the review!
Regarding your suggestions:

  1. We still need a separate host target for AOT mode. Therefore we cannot combine the host target creation in the target fixture.
  2. I very much like this, but I suggest we do it once we have consolidated the hexagon target and made a decision about why we have hexagon target in addition to CPU target. Because that that point we have a clear definition for hexagon target for both AOT and Graph. wdyt?

@Lunderberg

Copy link
Copy Markdown
Contributor
  1. Sounds good, and thank you for pointing out the c vs llvm host. Thinking through it again, it also wouldn't be implementable using the set_target_parser in target_kind.cc, so it's better to keep them separate.

  2. That sounds reasonable, since we do have that difference for the host.

@mehrdadh
mehrdadh merged commit 2e257f0 into apache:mainOct 5, 2022
@mehrdadh
mehrdadh deleted the hexagon/test_refactor_target branch October 5, 2022 20:18
xinetzone pushed a commit to daobook/tvm that referenced this pull request Nov 25, 2022
…2981)
* remove target from test functions
* refactor target_hexagon
* refactor target
* fix permission
* cleanup
* fix target
* remove target fixture from test_2d_physical_buffers
* fix target fixture in test_hexagon/conv2d tests
* address comments
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.

2 participants

@mehrdadh@Lunderberg
, '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

[Hexagon] Do not use target test fixture in Hexagon tests - #12981

Merged
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target
Oct 5, 2022
Merged

[Hexagon] Do not use target test fixture in Hexagon tests#12981
mehrdadh merged 9 commits into
apache:mainfrom
mehrdadh:hexagon/test_refactor_target

Conversation

@mehrdadh

@mehrdadhmehrdadh commented Oct 4, 2022

Copy link
Copy Markdown
Member

target is test fixture for TVM CI which includes multiple targets. However, for hexagon we specify the target in each test. Adding target in the test function would result in running those tests multiple times in the CI.

This PR also refactors hexagon target in a function

cc @cconvey@csullivan@Lunderberg

@LunderbergLunderberg 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.

All the individual changes look good, just a question on the design.

  1. Should the tvm.target.hexagon function also set the host? That
    would remove the need for a separate testing-specific
    get_hexagon_target function.

  2. Should we have a separate hexagon_target fixture in
    python/tvm/contrib/hexagon/pytest_plugin.py, rather than a
    utility function?

    hexagon_cpu_version=tvm.testing.parameter('v69')
    @tvm.testing.fixturedefhexagon_target(hexagon_cpu_version):
    returntvm.target.hexagon(hexagon_cpu_version)

    This would also make it easier to run tests with multiple different
    cpu versions, or to restrict a test to a single version by using
    @pytest.mark.parametrize('hexagon_cpu_version', ['v68']).

Comment threadtests/python/contrib/test_hexagon/infrastructure.py
# TODO: no support for padding in conv2d #2
pad2 = 0

target = "llvm"

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.

It looks like none of the tests in this file actually exercise Hexagon, and only validate that the schedules used elsewhere have the expected behavior. Are they intended to exercise Hexagon hardware at some point? If not, we should keep the same target fixture as non-Hexagon targets.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah I reverted it. I did since I don't like the noise in the skip tests but we should fix that in TVM generally instead of hard coding the target here.

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 go back and forth on that part. I tend to prefer the explicitly reported and skipped tests, because otherwise a skipped test can appear as a successful test. But I also agree that having lists upon lists of skipped tests isn't useful for an interactive environment, and just adds noise.

Comment threadtests/python/contrib/test_hexagon/conv2d/test_conv2d_blocked.py Outdated

if __name__ == "__main__":
sys.exit(pytest.main(sys.argv))
tvm.testing.main()

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.

Side comment, thank you for updating these calls to use tvm.testing.main(). I'd like to make a custom lint rule for it at some point, but there isn't one at the moment.

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

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

yeah that would be great! I mentioned it to OSS team before.

@mehrdadh

Copy link
Copy Markdown
MemberAuthor

@Lunderberg thanks for the review!
Regarding your suggestions:

  1. We still need a separate host target for AOT mode. Therefore we cannot combine the host target creation in the target fixture.
  2. I very much like this, but I suggest we do it once we have consolidated the hexagon target and made a decision about why we have hexagon target in addition to CPU target. Because that that point we have a clear definition for hexagon target for both AOT and Graph. wdyt?

@Lunderberg

Copy link
Copy Markdown
Contributor
  1. Sounds good, and thank you for pointing out the c vs llvm host. Thinking through it again, it also wouldn't be implementable using the set_target_parser in target_kind.cc, so it's better to keep them separate.

  2. That sounds reasonable, since we do have that difference for the host.

@mehrdadh
mehrdadh merged commit 2e257f0 into apache:mainOct 5, 2022
@mehrdadh
mehrdadh deleted the hexagon/test_refactor_target branch October 5, 2022 20:18
xinetzone pushed a commit to daobook/tvm that referenced this pull request Nov 25, 2022
…2981)
* remove target from test functions
* refactor target_hexagon
* refactor target
* fix permission
* cleanup
* fix target
* remove target fixture from test_2d_physical_buffers
* fix target fixture in test_hexagon/conv2d tests
* address comments
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.

2 participants

@mehrdadh@Lunderberg