Skip to content

feat: add bool datatype#165

Merged
kilinchange merged 2 commits into
masterfrom
feat/bool-datatype
Jun 12, 2026
Merged

feat: add bool datatype#165
kilinchange merged 2 commits into
masterfrom
feat/bool-datatype

Conversation

@kilinchange

@kilinchange kilinchange commented Jun 3, 2026

Copy link
Copy Markdown
Collaborator

#153 前置 pr,主要内容:添加 Bool DataType 类型。

@kilinchange kilinchange force-pushed the feat/bool-datatype branch from f8e89a6 to 88f46bd Compare June 3, 2026 02:05
@kilinchange

Copy link
Copy Markdown
Collaborator Author

精度测试:
image
性能测试:
image
CTest 测试:
image

@kilinchange kilinchange requested a review from chen2021673 June 3, 2026 08:54
Comment thread infini_train/src/kernels/cuda/transform.cu Outdated
@chen2021673

Copy link
Copy Markdown
Contributor

kNcclDtypeMap 也需要加一下 DataType::kBOOL

@chen2021673

Copy link
Copy Markdown
Contributor

感觉 Fill、Slice、Concat、Split、Stack 这几个算子应该支持 bool。这个可以单独另提 PR 修改。

@kilinchange

kilinchange commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator Author

kNcclDtypeMap 也需要加一下 DataType::kBOOL

nccl 没有 bool 对应的类型,这里暂时先不加,等之后支持 ep 时再看下是通信前 cast 成 numerical type 还是按 uint8 做通信。

@kilinchange

Copy link
Copy Markdown
Collaborator Author

感觉 Fill、Slice、Concat、Split、Stack 这几个算子应该支持 bool。这个可以单独另提 PR 修改。

理论上这类不涉及数值计算的算子确实都应该支持 bool。不过目前还没有模型路径覆盖到这些场景(mask 相关逻辑可能用到,但同时也需要配套修改上层模型实现),因此暂时没有一起放进这个 PR。

当前这个 PR 只为 Cast Kernel 增加了 bool 支持,因为 MoE 流程依赖对 bool 类型的 cast 转换,并且相关功能已经完成验证。其余算子的 bool 支持可以后续需要时单独提交 PR 补齐。

…alid dtype dispatch macro for scatter forward
@kilinchange

kilinchange commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator Author

补充了 #164 合入后本 pr 需要对 scatter.cu 同步的修改。

@kilinchange

Copy link
Copy Markdown
Collaborator Author

更新精度测试:
image
性能测试:
image

@kilinchange kilinchange merged commit 52bde0d into master Jun 12, 2026
2 checks passed
@kilinchange kilinchange deleted the feat/bool-datatype branch June 12, 2026 07:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants