文件最后提交记录最后更新时间
新增stateless_normal算子 Co-authored-by: gh_M<meiguohan@huawei.com> # message auto-generated for no-merge-commit merge: !2901 merge fullNormal into master 新增stateless_normal算子 Created-by: gh_M Commit-by: gh_M Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增StatelessRandom算子 根据指定的均值(mean)和标准差(stdev)生成服从正态分布的随机数张量 具体实现SIMT模板。 包含算子原型、文档、kernel等 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1739 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 泛化用例验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!29013 天前
新增stateless_normal算子 Co-authored-by: gh_M<meiguohan@huawei.com> # message auto-generated for no-merge-commit merge: !2901 merge fullNormal into master 新增stateless_normal算子 Created-by: gh_M Commit-by: gh_M Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增StatelessRandom算子 根据指定的均值(mean)和标准差(stdev)生成服从正态分布的随机数张量 具体实现SIMT模板。 包含算子原型、文档、kernel等 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1739 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 泛化用例验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!29013 天前
新增stateless_normal算子 Co-authored-by: gh_M<meiguohan@huawei.com> # message auto-generated for no-merge-commit merge: !2901 merge fullNormal into master 新增stateless_normal算子 Created-by: gh_M Commit-by: gh_M Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增StatelessRandom算子 根据指定的均值(mean)和标准差(stdev)生成服从正态分布的随机数张量 具体实现SIMT模板。 包含算子原型、文档、kernel等 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1739 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 泛化用例验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!29013 天前
fix unroll Co-authored-by: zhaozi3<zhaozi3@h-partners.com> # message auto-generated for no-merge-commit merge: !3045 merge master into master fix unroll Created-by: zhaozi3 Commit-by: zhaozi3 Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> random_common中get_unroll影响其他算子,改为前置处理 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 泛化用例测试通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!30451 天前
新增stateless_normal算子 Co-authored-by: gh_M<meiguohan@huawei.com> # message auto-generated for no-merge-commit merge: !2901 merge fullNormal into master 新增stateless_normal算子 Created-by: gh_M Commit-by: gh_M Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增StatelessRandom算子 根据指定的均值(mean)和标准差(stdev)生成服从正态分布的随机数张量 具体实现SIMT模板。 包含算子原型、文档、kernel等 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1739 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 泛化用例验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!29013 天前
新增stateless_normal算子 Co-authored-by: gh_M<meiguohan@huawei.com> # message auto-generated for no-merge-commit merge: !2901 merge fullNormal into master 新增stateless_normal算子 Created-by: gh_M Commit-by: gh_M Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增StatelessRandom算子 根据指定的均值(mean)和标准差(stdev)生成服从正态分布的随机数张量 具体实现SIMT模板。 包含算子原型、文档、kernel等 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1739 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 泛化用例验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!29013 天前
新增stateless_normal算子 Co-authored-by: gh_M<meiguohan@huawei.com> # message auto-generated for no-merge-commit merge: !2901 merge fullNormal into master 新增stateless_normal算子 Created-by: gh_M Commit-by: gh_M Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增StatelessRandom算子 根据指定的均值(mean)和标准差(stdev)生成服从正态分布的随机数张量 具体实现SIMT模板。 包含算子原型、文档、kernel等 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1739 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 泛化用例验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!29013 天前
新增stateless_normal算子 Co-authored-by: gh_M<meiguohan@huawei.com> # message auto-generated for no-merge-commit merge: !2901 merge fullNormal into master 新增stateless_normal算子 Created-by: gh_M Commit-by: gh_M Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> 新增StatelessRandom算子 根据指定的均值(mean)和标准差(stdev)生成服从正态分布的随机数张量 具体实现SIMT模板。 包含算子原型、文档、kernel等 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/ops-math/issues/1739 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> 泛化用例验证通过 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/ops-math!29013 天前
README.md

StatelessNormal

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT
Atlas A3 训练系列产品/Atlas A3 推理系列产品 ×
Atlas A2 训练系列产品/Atlas A2 推理系列产品 ×
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 算子功能:根据指定的均值(mean)和标准差(stdev)生成服从正态分布的随机数张量,使用基于计数器的Philox4x32-10随机数生成算法和Box-Muller变换,严格对标GPU精度(相同seed+offset产生相同随机序列),支持mean和stdev为标量或张量。

  • 计算公式:

    y=BoxMuller(Philox(seed,offset))×stdev+meany = BoxMuller(Philox(seed, offset)) \times stdev + mean

参数说明

参数名 输入/输出/属性 描述 数据类型 数据格式
shape 输入 输出张量的形状。 INT64 ND
seed 输入 Philox随机数生成器的种子。 INT64 ND
offset 输入 Philox随机数生成器的偏移量,必须为4的倍数。 INT64 ND
mean 输入 正态分布的均值,支持标量或与输出同形状的张量。 FLOAT、FLOAT16、BF16 ND
stdev 输入 正态分布的标准差,支持标量或与输出同形状的张量。 FLOAT、FLOAT16、BF16 ND
y 输出 输出指定形状的正态分布随机值。 FLOAT、BF16、FLOAT16 ND

约束说明

  • offset必须为4的倍数。
  • mean和stdev的数据类型与输出y锁步一致。
  • mean和stdev为tensor时,shape必须与输出y的shape一致(不支持广播)。
  • 仅支持SIMT编程模型(Ascend 950系列)。

调用说明

调用方式 样例代码 说明
aclnn调用 test_aclnn_stateless_normal.cpp 通过[aclnnInplaceNormal]接口方式调用StatelessNormal算子,mean和stdev均为标量。