apache / tvm

Open deep learning compiler stack for cpu, gpu and specialized accelerators
https://tvm.apache.org/
Apache License 2.0
11.46k stars 3.41k forks source link

[Relax][Bugfix] Annotate ComputePrimValue output as host function #17024

Closed Lunderberg closed 2 months ago

Lunderberg commented 2 months ago

The ComputePrimValue transform is used to compute the value of symbolic expressions that may appear within a Relax function. For example, to compute a boolean condition used for a relax::If node. These functions are used for small host-side computations, prior to launching a device kernel.

This commit updates ComputePrimValue to annotate the generated PrimFunc with tir::attr::kIsHostFunc. This annotation is required for correct behavior in tvm.dlight.ApplyDefaultSchedule, to avoid erroneous scheduling of this function for the GPU, and for tir::transform::BindTarget, to ensure that the function is compiled for execution on the host.

tqchen commented 2 months ago

@tvm-bot rerun

github-actions[bot] commented 2 months ago

Failed to re-run CI in https://github.com/apache/tvm/actions/runs/9245501195

``` 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 404: Not Found ``` with response ``` Error 404 Not Found

HTTP ERROR 404 Not Found

URI:/job/tvm-arm/job/PR-17024/buildWithParameters
STATUS:404
MESSAGE:Not Found
SERVLET:Stapler

Powered by Jetty:// 10.0.11
```
tqchen commented 2 months ago

due to recent ci restart, likely we need to close and re create another pr for the ci to get retriggerd

Lunderberg commented 2 months ago

Thank you for looking into the CI failures, and I'll resubmit as a new PR. Looks like #17022 and #17023 have the similar CI failure, as they were all submitted while the CI was down.