tvm
tvm copied to clipboard
[SME][TOPI] Add conv2d NHWC SME fp32 schedule
This commit adds a scalable arm_cpu conv2d NHWC schedule for fp32 which generates SME instructions by using the tensor intrinsics introduced in #16921.
Alongside the SME schedule, the logic of the TE schedule schedule_conv2d_gemm_native() for both non-scalable and scalable vector implementations has also been translated into the new TIR schedule. This means that the TE compute definition compute_conv2d_NHWC_hybrid() is now compatible with both the original TE schedules (e.g. schedule_conv2d_NHWC_hybrid()) and the newly introduced TIR schedule schedule_conv2d_NHWC_hybrid_TIR(). The corresponding TOPI test has been extended to reflect that.
cc @ekalda @lhutton1
@tvm-bot rerun
Failed to re-run CI in https://github.com/apache/tvm/actions/runs/9147913719
Traceback (most recent call last):
File "ci/scripts/github/github_tvmbot.py", line 595, in comment_failure
raise item
File "ci/scripts/github/github_tvmbot.py", line 701, in run
pr.rerun_jenkins_ci()
File "ci/scripts/github/github_tvmbot.py", line 554, in rerun_jenkins_ci
post(url, auth=("tvm-bot", TVM_BOT_JENKINS_TOKEN))
File "/home/runner/work/tvm/tvm/ci/scripts/jenkins/git_utils.py", line 53, in post
with request.urlopen(req, data) as response:
File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/usr/lib/python3.8/urllib/request.py", line 531, in open
response = meth(req, response)
File "/usr/lib/python3.8/urllib/request.py", line 640, in http_response
response = self.parent.error(
File "/usr/lib/python3.8/urllib/request.py", line 569, in error
return self._call_chain(*args)
File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
result = func(*args)
File "/usr/lib/python3.8/urllib/request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 502: Bad Gateway
with response
<html>
<head><title>502 Bad Gateway</title></head>
<body>
<center><h1>502 Bad Gateway</h1></center>
</body>
</html>
Resolved the conflict!
Thanks @Anndrey24 and @lhutton1, this is now merged!
Thanks @Anndrey24 @lhutton1 @ekalda .
Seems we have a breakage/flaky likely related to this pr https://ci.tlcpack.ai/blue/organizations/jenkins/tvm-arm/detail/main/1980/pipeline (in lint,arm, and cpu jobs).
I created a temp revert, https://github.com/apache/tvm/pull/17038 to unblock the ci, if there is an alternative fix that would also be good, eitherway we followup with a redo quickly.