SuperAPI AI 工具集

tripy-debugging

测试与质量

查看项目

更新于 10-16 02:34

技能介绍

用途:调试和诊断 nvtripy 代码中的错误,包括解读 TripyException 错误信息与堆栈、开启 MLIR 或 TensorRT 编译调试输出、理解 stack info 精确定位系统、为新算子或模块添加错误处理,以及排查编译或运行时失败。

主要能力:错误上报以 nvtripy.common.exception 的 raise_error 为核心,第一个参数为主错误信息,details 可传字符串或张量,张量会渲染其创建位置的 stack info。每个张量通过 _stack_info 记录创建堆栈,由 nvtripy/utils/stack_info.py 管理;Tensor.from_trace_tensor 的 include_code_index 设置堆栈深度,create_op 默认 STACK_DEPTH_OF_FROM_TRACE_TENSOR = 4,stack_depth_offset 可补偿包装函数。

调试配置:环境变量 TRIPY_MLIR_DEBUG_ENABLED(默认 "0")、TRIPY_MLIR_DEBUG_TYPES(默认 "-translate-to-tensorrt")、TRIPY_MLIR_DEBUG_PATH(默认 "/tripy/mlir-dumps")、TRIPY_TRT_DEBUG_ENABLED(默认 "0")、TRIPY_TRT_DEBUG_PATH(默认 "/tripy/tensorrt-dumps")、TRIPY_EXTRA_ERROR_INFORMATION。运行时配置见 nvtripy/config.py,如 tp.config.timing_cache_file_path(默认 /tmp/tripy-cache)、tp.config.enable_input_validation、tp.config.extra_error_information。测试中可用 tests.helper 的 helper.config 上下文临时修改配置。日志系统位于 nvtripy/logging/,通过 tp.logger 与 logger.verbosity_trie.set 按模块路径设置详细级别。

常见问题排查:约束校验错误检查 @wrappers.interface 的 input_requirements 与实际 dtype;编译错误用 TRIPY_MLIR_DEBUG_ENABLED=1 python my_script.py 并查看 dumps;形状不匹配检查 trace 算子的 infer_rank 策略、广播与动态维度(DYNAMIC_DIM = -1);运行时错误用 TRIPY_TRT_DEBUG_ENABLED=1 python my_script.py,检查输入形状是否在 InputInfo 范围内及动态形状 min/opt/max 配置。

添加错误处理:前端算子与模块中应使用 raise_error 而非裸 raise,并在 details 中传入相关张量以渲染创建位置。测试错误用 helper.raises(tp.TripyException, match=...),支持 ExcType、match 正则与 has_stack_info_for。

限制:资料未提供安装方式、版本要求、平台支持与性能数据,暂未提供。