add-uint-support
更新 PyTorch AT_DISPATCH_V2 宏,为运算符和内核启用 uint16、uint32 与 uint64 支持。
简介
此技能旨在自动化扩展 PyTorch 运算符类型覆盖范围的过程,通过修改 AT_DISPATCH_V2 宏以包含无符号整数类型。它专为处理 PyTorch 核心代码库的软件工程师设计,协助将 uint16、uint32 和 uint64 支持集成到现有内核中。通过确保 AT_DISPATCH_V2 定义中的类型一致性,该技能有助于防止调度错误,并确保无符号数据类型在调度器框架内能够被正确处理。
该技能提供了一套系统化的方法,用以识别运算符是否使用了现代的 V2 调度宏,或者是否需要进行迁移。它处理多种场景,包括添加基础的无符号类型、替换整数类型组,以及更新结合了浮点数与整数类型的复杂调度站点。当您遇到与缺失类型支持相关的构建错误,或是需要扩展库以更好地支持张量运算中的无符号整数输入时,此技能特别有用。
-
启用对 C++ PyTorch 内核中 kUInt16、kUInt32 和 kUInt64 的支持。
-
自动将传统的 AT_DISPATCH 宏迁移到现代的 AT_DISPATCH_V2 标准。
-
将 AT_BAREBONES_UNSIGNED_TYPES 或 AT_INTEGRAL_TYPES_V2 集成到调度逻辑中,以确保类型安全。
-
更新文件中的所有调度站点,以确保 CPU 和 CUDA 实现的类型支持一致性。
-
与现有的 AT_ALL_TYPES、AT_INTEGRAL_TYPES 及浮点类型组保持兼容。
-
修改前务必验证当前的调度配置;若可行,建议使用方法 2 (以 AT_INTEGRAL_TYPES_V2 替换) 以获得更简洁的代码。
-
确保文件中所有调度器的出现位置均已一致更新,以避免运行时发生不匹配的情况。
-
输入通常涉及包含 C++ 调度宏的源代码文件;输出则是符合 PyTorch V2 类型调度标准的转换后代码块。
-
需要熟悉 AT_EXPAND 宏以及整数与浮点类型组定义之间的差异。
-
若运算符使用较旧的 AT_DISPATCH 格式,在应用无符号类型增强功能之前,必须先将其重构为 AT_DISPATCH_V2。
仓库统计
- Star 数
- 99,514
- Fork 数
- 27,619
- Open Issue 数
- 18,535
- 主要语言
- Python
- 默认分支
- main
- 同步状态
- 同步中
- 最近同步时间
- 2026年4月29日 07:01