| Files | Last commit | Last update |
|---|---|---|
fix(stateless_bernoulli): 标量场景对齐竞品 bernoulli kernel 的随机数映射与比较语义 Co-authored-by: liangtongxue<lianglihui@h-partners.com> # message auto-generated for no-merge-commit merge: !5714 merge fix/bernoulli-scalar-philox-align into master fix(stateless_bernoulli): 标量场景对齐竞品 bernoulli kernel 的随机数映射与比较语义 Created-by: liangtongxue Commit-by: liangtongxue Merged-by: cann-robot Description: ## 描述 arch35 标量 prob 场景(prob 为单元素 tensor)与竞品(PyTorch 标量 bernoulli CUDA kernel)存在两处不一致: 1. 元素→随机数映射为连续映射(线程 t 处理 4 个连续元素),竞品标量 kernel 为交织映射(步长=总线程数 T,元素 li 由虚拟线程 li%T 的第 li/(T*4) 次 philox 调用生成,取第 (li/T)%4 个分量); 2. 比较使用 results <= p(竞品张量版语义),竞品标量版为严格小于 rand < p(transformation::bernoulli)。 修复:标量场景改用 PhiloxSimtKernelDiscontinuous 交织映射模板(与 sim_thread_exponential 接入方式一致),新增 BernoulliScalarTransform 完成 u 换算(与 curand_uniform 同式:(0,1])与 u < p 严格比较;张量场景保持原实现不变(连续映射 + <=,恰与竞品张量版语义一致)。 注意:同一 (seed, offset) 下标量场景输出与旧版本不同,属对齐性行为变更;offset 换算逻辑(PhiloxAlgParsInit)与消耗总量公式不变。 ## 关联的Issue 无 ## 测试 - pre-commit 门禁(clang-format / OAT 合规)全部通过 - UT 单测运行级用例(prob=0.5,tests/ut/op_kernel/test_stateless_bernoulli.cpp) - 上板 ST:与 GPU golden 对比(fp16/bf16/fp32 × p∈{0, 1, 0.25, 0.5}、numel%4≠0 尾部、numel>2^31 分支)——待上卡验证 ## 文档更新 无需更新(接口契约不变,文档无映射/输出流相关描述) ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: --- 关联 issue: fixes #4188 (完整问题背景/修改方案/验证记录见 issue #4188) See merge request: cann/ops-math!5714 | 12 days ago | |
fix(stateless_bernoulli): 标量场景对齐竞品 bernoulli kernel 的随机数映射与比较语义 Co-authored-by: liangtongxue<lianglihui@h-partners.com> # message auto-generated for no-merge-commit merge: !5714 merge fix/bernoulli-scalar-philox-align into master fix(stateless_bernoulli): 标量场景对齐竞品 bernoulli kernel 的随机数映射与比较语义 Created-by: liangtongxue Commit-by: liangtongxue Merged-by: cann-robot Description: ## 描述 arch35 标量 prob 场景(prob 为单元素 tensor)与竞品(PyTorch 标量 bernoulli CUDA kernel)存在两处不一致: 1. 元素→随机数映射为连续映射(线程 t 处理 4 个连续元素),竞品标量 kernel 为交织映射(步长=总线程数 T,元素 li 由虚拟线程 li%T 的第 li/(T*4) 次 philox 调用生成,取第 (li/T)%4 个分量); 2. 比较使用 results <= p(竞品张量版语义),竞品标量版为严格小于 rand < p(transformation::bernoulli)。 修复:标量场景改用 PhiloxSimtKernelDiscontinuous 交织映射模板(与 sim_thread_exponential 接入方式一致),新增 BernoulliScalarTransform 完成 u 换算(与 curand_uniform 同式:(0,1])与 u < p 严格比较;张量场景保持原实现不变(连续映射 + <=,恰与竞品张量版语义一致)。 注意:同一 (seed, offset) 下标量场景输出与旧版本不同,属对齐性行为变更;offset 换算逻辑(PhiloxAlgParsInit)与消耗总量公式不变。 ## 关联的Issue 无 ## 测试 - pre-commit 门禁(clang-format / OAT 合规)全部通过 - UT 单测运行级用例(prob=0.5,tests/ut/op_kernel/test_stateless_bernoulli.cpp) - 上板 ST:与 GPU golden 对比(fp16/bf16/fp32 × p∈{0, 1, 0.25, 0.5}、numel%4≠0 尾部、numel>2^31 分支)——待上卡验证 ## 文档更新 无需更新(接口契约不变,文档无映射/输出流相关描述) ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: --- 关联 issue: fixes #4188 (完整问题背景/修改方案/验证记录见 issue #4188) See merge request: cann/ops-math!5714 | 12 days ago | |
fix(stateless_bernoulli): 适配 Ascend960DT/960PR 融合规则 Co-authored-by: liangtongxue<lianglihui@h-partners.com> # message auto-generated for no-merge-commit merge: !7109 merge fix/bernoulli-fusion-960-platforms into master fix(stateless_bernoulli): 适配 Ascend960DT/960PR 融合规则 Created-by: liangtongxue Commit-by: liangtongxue Merged-by: cann-robot Description: ## 描述 修复 StatelessBernoulli 融合规则未适配 Ascend960DT / Ascend960PR 的问题。CheckPlatform 白名单增加两个平台,保留 Ascend910_93 / Ascend950 和现有 GE 版本、dtype、shape 限制。 新增 960DT / 960PR 各 FP16、FP32 共 4 条 UT,检查 StatelessBernoulliV2 被移除,且恰好生成一个 StatelessBernoulli 节点。 ## 关联的Issue 关联的Issue:#4512 ## 测试 - git diff --check 通过。 - 使用仓库 compile_commands.json 编译融合 pass 和 UT,独立链接本机 CANN 9.3.0 GE/ES 库,BernoulliFusionPassTest 全部 13 条通过。 - 使用未修复 master 的 pass 与同一组新增 UT 对照,4 条新增用例全部失败,确认回归覆盖有效。 - 标准命令 bash build.sh -u --opgraph --ops=stateless_bernoulli --gtest_filter=BernoulliFusionPassTest* -j8 被现有环境依赖阻断:opbase 的 op_arch_helper.cpp 引用 DAV_5162,但本机 CANN 9.3.0 头文件未定义该枚举;未改动该依赖。 - 未执行 960DT / 960PR 硬件端到端测试。 ## 文档更新 无。 ## 类型标签 - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!7109 | 5 days ago | |
fix: compile with opbase source Co-authored-by: wangrui<wangrui124@huawei.com> # message auto-generated for no-merge-commit merge: !1193 merge br_reduce into master fix: compile with opbase source Created-by: wangrui_ Commit-by: wangrui Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> compile with opbase source 1. 本仓下载opbase仓源码 2. 查找头文件,优先使用本地下载的路径 3. 不查找lib库,并移除lib库依赖 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!1193 | 8 months ago |