Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(dipu): support ForceFallbackToCPU #929

Merged
merged 9 commits into from
Oct 10, 2024

Conversation

wiryls
Copy link
Collaborator

@wiryls wiryls commented Aug 8, 2024

当前 PR 包括以下内容:

  1. 更新 DIOPI 使其包含 diopiForceFallbackToCPU 的枚举类型
  2. 部分重构 auto compare 的生成逻辑,使得 fallback 代码能共用 auto compare 的生成逻辑
  3. 新增 fallback cpu 的生成逻辑,包括调用以及拷贝 host tensor 至 device
  4. 重构 to host 的 copy 方法,使其支持大部分 tensor 数组类型,简化生成逻辑
  5. 重新命名 YAML 的参数及类型,包括
    • autocompare: disableenable_autocompare: false (YAML 1.2 中仅 false、true 是合法的 boolean 类型)
    • register_op: Falseregister_operator: false
  6. 新增 YAML 配置参数 enable_fallback_cpu: false,主动禁止生成 fallback cpu 代码
    • 当前实现方式下,有部分算子较难适配自动生成 fallback cpu 代码,因此暂时禁止
  7. 修复部分 bug
    1. YAML 中 schema 错误(漏掉逗号)
    2. 删除了存在类型错误且不再使用的 wrap_diopi_cast_dtype
    3. 新增 TensorList 类型至 tensor array 解析逻辑,使其正确生成 auto compare 代码

注意事项:

  • 这个 PR 包含的修改较多,难以验证正确性,也很容易 break 掉 auto compare 相关代码
  • 并且后续其它模块的更新也可能悄悄 break 掉当前模块

@wiryls wiryls added enhancement New feature or request DIPU DIPU related refactor just better coding labels Aug 8, 2024
@wiryls
Copy link
Collaborator Author

wiryls commented Aug 19, 2024

突然想起来还有个问题,这个 PR 包含了一些 Python3.9 的东西,是否需要兼容 3.8?

@fandaoyi
Copy link
Collaborator

突然想起来还有个问题,这个 PR 包含了一些 Python3.9 的东西,是否需要兼容 3.8?
需要兼容,但是 ci我记的就是 python 3.8 的?

@mrdanielw mrdanielw merged commit 0caf4c8 into DeepLink-org:main Oct 10, 2024
32 checks passed
@wiryls wiryls deleted the feat/w/fallback_to_cpu branch October 12, 2024 06:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
DIPU DIPU related enhancement New feature or request refactor just better coding
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants