ops-rand API 实现状态【免费下载链接】ops-randops-rand是CANN Compute Architecture for Neural Networks算子库中提供的随机数生成库。项目地址: https://gitcode.com/cann/ops-rand版本信息当前版本: v1.0.0更新日期: 2026-03-21开发阶段: Phase 1 - Generator Uniform✅ 已实现接口 (Phase 1)1. 版本管理aclrandGetVersion- 获取库版本号2. 生成器管理aclrandCreateGenerator- 创建随机数生成器aclrandDestroyGenerator- 销毁生成器3. 生成器配置aclrandSetGeneratorSeed- 设置生成器种子aclrandSetGeneratorOffset- 设置生成器偏移量aclrandSetGeneratorStream- 设置 ACL 流4. 随机数生成aclrandGenerateUniform- 生成均匀分布随机数 (FP32)5. 辅助工具aclrandGetErrorString- 获取错误字符串待验证6. 已实现算子stateless_random_uniform_v2(无状态均匀分布) -src/stateless_random_uniform_v2/7. 支持范围生成器类型:ACLRAND_RNG_PSEUDO_DEFAULT,ACLRAND_RNG_PSEUDO_PHILOX4_32_10数据类型: FP32 (float)芯片: Ascend 950⏸️ 待实现接口Phase 2 - 分布扩展必须实现aclrandGenerateUniformDouble- 双精度均匀分布aclrandGenerateUniformHalf- 半精度均匀分布 (FP16)aclrandGenerateNormal- 单精度正态分布aclrandGenerate- 32 位原始随机数重要功能aclrandGenerateNormalDouble- 双精度正态分布aclrandGenerateNormalHalf- 半精度正态分布aclrandGenerateLogNormal- 对数正态分布aclrandGenerateLogNormalDouble- 双精度对数正态aclrandGenerateLogNormalHalf- 半精度对数正态aclrandGenerateLongLong- 64 位原始随机数Phase 3 - 引擎扩展必须实现aclrandGeneratePoisson- 泊松分布aclrandCreateDiscreteDistribution- 创建离散分布aclrandDestroyDistribution- 销毁离散分布aclrandGenerateDiscrete- 离散分布采样重要功能aclrandSetQuasiRandomDimensions- 设置准随机维度aclrandGetDirectionVectors32- 获取 Sobol 方向向量 (32位)aclrandGetDirectionVectors64- 获取 Sobol 方向向量 (64位)新增生成器类型ACLRAND_RNG_PSEUDO_XORWOWACLRAND_RNG_PSEUDO_MRG32K3AACLRAND_RNG_PSEUDO_MTGP32ACLRAND_RNG_PSEUDO_LFSR113ACLRAND_RNG_PSEUDO_THREEFRY2_32_20ACLRAND_RNG_QUASI_SOBOL32ACLRAND_RNG_QUASI_SOBOL64Phase 4 - 高级特性可选功能aclrandCreateGeneratorHost- Host 端生成器ops_rand_state_philox4x32_10- Device API 状态结构ops_rand_init- Device API 初始化ops_rand_uniform- Device API 均匀分布ops_rand_uniform4- Device API 批量生成ops_rand_normal- Device API 正态分布aclrandSetOrdering- 设置排序方式⏸️ 待支持数据类型必须实现FP16 (aclFloat16)FP64 (double)重要功能BF16 (bfloat16)可选功能INT32, UINT32INT64, UINT64 实现进度统计类别已实现待实现总计API 接口72229生成器类型2911分布类型178数据类型145算子1--总体完成度: Phase 1 (Generator Uniform) ✅ 开发路线图Phase 1: Generator Uniform ✅ (已完成)基础架构搭建生成器管理接口Philox 生成器实现Uniform 分布生成 (FP32)stateless_random_uniform_v2 算子打包流程Phase 2: 分布扩展 (下一步)多数据类型支持 (FP16/FP64)正态分布对数正态分布原始随机数生成 (32/64位)Box-Muller 变换算法Phase 3: 引擎扩展泊松分布离散分布XORWOW 生成器Sobol 准随机生成器MRG32K3A 生成器Phase 4: 高级特性Host 端生成器Device API (AscendC 内部调用)性能优化多流并行支持 当前限制数据类型: 仅支持 FP32分布类型: 仅支持 Uniform (均匀分布)生成器: 仅支持 Philox4x32_10算子: 仅实现 stateless_random_uniform_v2不支持: 正态分布、泊松分布、离散分布、准随机序列 设计参考API 设计: 参考 rocrand/cuRAND生成器算法: Philox4x32_10 (计数器模式)测试框架: 自研轻量级测试框架文档维护: 请在实现新接口时及时更新本文档【免费下载链接】ops-randops-rand是CANN Compute Architecture for Neural Networks算子库中提供的随机数生成库。项目地址: https://gitcode.com/cann/ops-rand创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考