f8bc1f44cb
This PR removes the old “Development Guides” bucket and folds its remaining pages into more appropriate parts of the documentation.
74 lines
3.1 KiB
ReStructuredText
74 lines
3.1 KiB
ReStructuredText
.. Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
.. http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
.. Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
|
|
|
|
TVM Errors
|
|
==========
|
|
|
|
TVM may raise errors from Python code, from C++ code reached through the
|
|
FFI, or from generated runtime modules. Error messages usually include
|
|
a Python stack trace, and may also include a C++ stack trace when the
|
|
error crosses the TVM FFI boundary.
|
|
|
|
Some errors report invalid user input, unsupported operators, missing
|
|
runtime features, or unavailable hardware. Others report a failed
|
|
internal check, usually raised by ``TVM_FFI_ICHECK`` or
|
|
``TVM_FFI_THROW`` in C++ code. Internal check failures often indicate
|
|
that TVM reached a state that the implementation did not expect.
|
|
|
|
What to Check First
|
|
-------------------
|
|
|
|
- Make sure the TVM Python package and native libraries come from the
|
|
same build. A common symptom of a mismatched environment is importing
|
|
Python files from one checkout while loading ``libtvm`` from another.
|
|
- Check that the required runtime is enabled in ``config.cmake``. For
|
|
example, CUDA tests and CUDA compilation require a TVM build with
|
|
CUDA support enabled.
|
|
- Check that the target hardware is available to the process. GPU
|
|
tests may be skipped or fail if the device is not visible inside the
|
|
current container or environment.
|
|
- If the error occurs while importing or converting a model, reduce the
|
|
input to the smallest model, operator, or shape that reproduces the
|
|
issue.
|
|
|
|
Reporting an Issue
|
|
------------------
|
|
|
|
Search the `Apache TVM Discuss Forum <https://discuss.tvm.apache.org/>`_
|
|
and the `TVM issue tracker <https://github.com/apache/tvm/issues>`_
|
|
for the exact error message first. If you do not find an existing
|
|
report, include the following details when starting a new discussion or
|
|
filing an issue:
|
|
|
|
- The TVM version or git commit hash.
|
|
- The Python version, operating system, and hardware.
|
|
- The target and runtime being used, such as LLVM, CUDA, Vulkan, or RPC.
|
|
- The relevant build configuration from ``config.cmake``.
|
|
- A minimal script, model, input shape, or IR module that reproduces the
|
|
failure.
|
|
- The full error message, including both Python and C++ stack traces
|
|
when present.
|
|
|
|
Developer Notes
|
|
---------------
|
|
|
|
For guidance on raising typed errors from TVM code, see
|
|
:ref:`error-handling-guide`. That guide covers when to use specific
|
|
error types, how C++ error prefixes map to Python exceptions, and how
|
|
``TVM_FFI_ICHECK`` interacts with TVM's error handling.
|