F20000-F3FFFF#

F21001 INVALID_OPERATION#

错误描述:

不允许的操作

可能原因:

  • 尝试执行不被允许的操作

  • 如Tensor二次写入不同数据

  • 操作上下文不正确

处理方式:

  • 检查操作是否在正确的上下文中执行

  • 确保操作符合系统约束

F21002 INVALID_TYPE#

错误描述:

错误的类型

可能原因:

  • 入参类型不匹配

  • 使用了接口不支持的数据类型

处理方式:

  • 检查传入参数的类型是否匹配

  • 使用接口支持的类型

F21003 INVALID_VAL#

错误描述:

无效的值

可能原因:

  • 参数值(shape, offset等维数)不匹配,无法计算

  • 参数值不合法

处理方式:

  • 检查参数格式

  • 使用有效的参数值

F21004 INVALID_PTR#

错误描述:

无效的指针

可能原因:

  • 指针为空

  • 指针未正确初始化

处理方式:

  • 确保指针已正确初始化

  • 使用前,检查指针有效性

F21005 OUT_OF_RANGE#

错误描述:

参数超出范围

可能原因:

  • 索引超出范围

  • 参数值超出有效范围

处理方式:

  • 检查索引范围,使用有效的索引值

  • 使用有效范围内的参数值

F21006 IS_EXIST#

错误描述:

参数/操作已存在

可能原因:

  • 尝试创建已存在的对象

  • 对象名称重复

处理方式:

  • 检查对象是否已存在

  • 使用唯一的对象名称

F21007 NOT_EXIST#

错误描述:

参数/操作不存在

可能原因:

  • 访问不存在的对象

  • 对象未正确注册

处理方式:

  • 检查对象是否存在

  • 确保对象已正确注册

F21008 DYNAMIC_SHAPE_COMPUTE_UNSUPPORTED#

错误描述:

不支持Shape为动态的Tensor直接参与计算

可能原因:

  • 直接使用包含pypto.DYNAMIC维度的Tensor作为operation操作数

  • 未在pypto.loop中通过view切分出静态shape后再进行计算

处理方式:

  • 对动态维度按固定view大小切分

  • pypto.loop中对切分后的静态shape Tensor进行计算表达

F21009 OP_DEPENDENCY_CYCLE#

错误描述:

算子依赖图存在环,GetSortedOperations拓扑排序失败

可能原因:

  • 同一JIT Function内,对同一Tensor槽位写回(如先view/where等读取,再assemble把读取结果写回同一Tensor),导致依赖边首尾相接,图不再是DAG

    # 错误示例 - 先读后写回同一槽位
    tile = pypto.view(buf, ...)           # 读buf
    pypto.assemble(tile, [i, 0], buf)     # 把tile写回buf → 成环
    
  • Python变量改名不改变槽位,框架将Tensor视为整体节点,不区分局部切片

处理方式:

  • 读写分槽:读buf_rd,写buf_wr,结果落到第三个变量

  • 变换前置 / 不再写回:在assemble之前完成where等变换;或先写后读,写缓冲只assemble、读后不再写回同一缓冲

    # 正确示例 - 先写后读,且不再写回
    for i in pypto.loop(M, name="i_loop", idx_name="i"):
        pypto.assemble(tile, [i, 0], buf) # 只写buf
    out = pypto.mul(buf, scale)           # 只读buf,写入新张量
    
  • 拆图:读写无法分离时,拆成两个@jit函数

F29001 BAD_FD#

错误描述:

错误的文件描述符状态

可能原因:

  • 文件描述符状态错误

  • 文件未正确打开或关闭

处理方式:

  • 检查文件描述符状态

  • 确保文件正确打开和关闭

F29002 INVALID_FILE#

错误描述:

无效的文件内容

可能原因:

  • 文件内容格式错误

  • 文件内容不符合预期

处理方式:

  • 检查文件内容格式

  • 使用正确的文件内容

F3FFFF UNKNOWN#

错误描述:

未知错误

可能原因:

  • 错误原因未归类/无法归类

处理方式:

  • 请访问社区提交Issue