已关闭
[Bug-Report|缺陷反馈]: 资料问题 #5821
guijianwei创建于  11 天前关闭于  8 天前
guijianwei
guijianwei
11 天前 创建
序号 项目名 文档名 问题描述(搜示例) 原文片段(同步修改cpp文件) 规则名称 问题类别 严重程度 修改建议
367 nn仓 aclnnDequantSwigluQuantV2.md 2.5 示例中 weightScale 创建后未做返回值检查:相邻 tensor 创建均有 CHECK_RET(ret == ACL_SUCCESS, return ret); 唯独 weightScale 行后直接进入注释与下一次赋值,错误被静默覆盖。 ret = CreateAclTensor(weightScaleData, weightScaleShape, &weightScaleDeviceAddr, aclDataType::ACL_FLOAT, &weightScale);
// 创建activationScale
文档易用性评估-claude-skill-glm5.2 文档易用性-正确性 一般 在 weightScale 创建行后补 CHECK_RET(ret == ACL_SUCCESS, return ret);,与其他 tensor 创建保持一致。
368 nn仓 aclnnDequantSwigluQuantV2.md 2.5 示例中多个 Tensor 的 host 数据元素个数与声明的 shape 不一致:weightScaleData={1.0}(1 个)但 weightScaleShape={1,64}(64 个);biasData={1.0} 但 biasShape={1,64};scaleHostData={1} 但 scaleShape={1,32};activationScaleData={1.0} 但 activationScaleShape={2};outHostData 32 个但 outShape={2,32}=64。CreateAclTensor 内 aclrtMemcpy 的 size 按 shape 计算,会越界读取 host 内存。 std::vector weightScaleData = {1.0}; 文档易用性评估-claude-skill-glm5.2 文档易用性-正确性 一般 将各 host 数据的元素个数补齐至与 shape 一致(如 weightScaleData 至少 64 个、outHostData 至少 64 个),或在 aclrtMemcpy 前对 host 数据做 resize/填充。
369 nn仓 aclnnDequantSwigluQuantV2.md 2.5 调用示例中 gluAlpha 与 gluBias 赋值与文档描述的默认值互换:参数表称 gluAlpha 默认值为 1.702、gluBias 默认值为 1.0,但示例中 gluAlpha=1.0、gluBias=1.702,与文档不一致。 float clampLimit = 7.0;
float gluAlpha = 1.0;
float gluBias = 1.702;
文档易用性评估-claude-skill-glm5.2 文档易用性-正确性 一般 按文档默认值改为 gluAlpha = 1.702; gluBias = 1.0; 或在注释中显式说明此处为非默认测试值,避免与默认值描述混淆。
427 nn仓 aclnnSwiGluQuantV2.md [2.5 示例代码可执行性 FAIL] 示例中 x 的 host 数据为 std::vector,但创建 aclTensor 时数据类型为 ACL_BF16。aclrtMemcpy 按字节复制后,BF16 张量按 2 字节重解释 float 字节,会得到 [0,0,0,1,0,2,0,3,...] 这种偶数位为 0 的错误数值。 ret = CreateAclTensor(xHostData, xShape, &xDeviceAddr, aclDataType::ACL_BF16, &x); 文档易用性评估-claude-skill-glm5.2 文档易用性-正确性 一般 将 xHostData 改为 BF16 类型 host 数据并按 2 字节存储,或调用 float→BF16 转换;亦可将 tensor 类型改为 ACL_FLOAT 以匹配 host 数据。
429 nn仓 aclnnSwiGluQuantV2.md [2.5 示例代码可执行性 FAIL] 示例中 groupIndex 的 host 数据为 std::vector,但创建 aclTensor 时数据类型为 ACL_INT32。aclrtMemcpy 按字节复制不会做数值转换,float 1.0 的字节 0x3F800000 重解释为 int32 得 1065353216 而非 1。 ret = CreateAclTensor(groupIndexHostData, groupIndexShape, &groupIndexDeviceAddr, aclDataType::ACL_INT32, &groupIndex); 文档易用性评估-claude-skill-glm5.2 文档易用性-正确性 一般 将 groupIndexHostData 改为 std::vector<int32_t>,并使 CreateAclTensor 模板以 int32_t 实例化。
430 nn仓 aclnnSwiGluQuantV2.md [2.3 多余空格/标点] 示例代码 aclrtMemcpy 行中 outDeviceAddr 与 size 之间逗号后缺少空格。 ret = aclrtMemcpy(resultData.data(), resultData.size() * sizeof(resultData[0]), outDeviceAddr,size * sizeof(resultData[0]), ACL_MEMCPY_DEVICE_TO_HOST); 文档易用性评估-claude-skill-glm5.2 文档易用性-正确性 一般 在 outDeviceAddr, size 之间补一个空格,即 outDeviceAddr, size。
476 nn仓 aclnnSwiGluQuant.md 2.5 示例代码注释错误:第390行注释为「// 创建scale aclTensor」,但该行实际创建的是smoothScales张量(CreateAclTensor(smoothScalesHostData, smoothScalesShape, &smoothScalesDeviceAddr, aclDataType::ACL_FLOAT, &smoothScales)),注释与代码不符。 // 创建scale aclTensor
ret = CreateAclTensor(smoothScalesHostData, smoothScalesShape, &smoothScalesDeviceAddr, aclDataType::ACL_FLOAT, &smoothScales);
文档易用性评估-claude-skill-glm5.2 文档易用性-正确性 一般 将注释修改为「// 创建smoothScales aclTensor」,与实际创建的变量保持一致。
513 nn仓 aclnnDequantSwigluQuant.md 代码示例中xHostData为float类型,但创建Tensor时指定为ACL_FLOAT16,数据类型不匹配将导致数据解析错误。 ret = CreateAclTensor(xHostData, xShape, &xDeviceAddr, aclDataType::ACL_FLOAT16, &x); 文档检测-综合 代码错误 致命 ret = CreateAclTensor(xHostData, xShape, &xDeviceAddr, aclDataType::ACL_FLOAT, &x);
2087 nn仓 aclnnErfinv&aclnnInplaceErfinv.md 【2.5 命令行/示例代码可执行性 FAIL】调用示例的输入数据 selfHostData 中包含 303.45、40009、-50.1234、60.666、-7.6543、8000、-9.009、1024、-11.23345、12、1356、-14.99、-15.34023 等明显超出 erfinv 数学定义域 [-1,1] 的值。erfinv 在 |x|>1 时返回 NaN/Inf,示例运行将得到大量非法结果,误导用户认为算子行为异常。 std::vector selfHostData = {0, 1.123, -2.001, 303.45, 40009, -50.1234, 60.666, -7.6543,
8000, -9.009, 1024, -11.23345, 12, 1356, -14.99, -15.34023};
文档易用性评估-claude-skill-glm5.2 文档易用性-正确性 一般 将 selfHostData 替换为落在 [-1,1] 内的典型值(如 {-0.95, -0.5, -0.1, 0.0, 0.1, 0.3, 0.5, 0.7, 0.9, 0.99, -0.3, 0.25, -0.8, 0.6, -0.2, 0.45}),或在示例注释中显式提醒输入须在定义域内。
2430 nn仓 aclnnSquaredRelu.md 调用示例代码中PrintInResult函数的日志消息用词错误:第256行LOG_PRINT输出'mean input',该函数用于打印输入张量数据,并非计算均值,'mean'一词使用不当。 LOG_PRINT("mean input[%ld] is: %f\n", i, resultData[i]); claude-qwen36-platform-静态代码检测 C4-01代码内容错误 一般 将'mean input'修改为'input',改为LOG_PRINT("input[%ld] is: %f\n", i, resultData[i]);
2431 nn仓 aclnnSquaredRelu.md 调用示例代码中workspaceSize初始化为硬编码值:第325行将workspaceSize初始化为1610241024(16MB),但文档说明workspace大小应由第一段接口aclnnSquaredReluGetWorkspaceSize计算得出。硬编码初始值与文档说明不一致,容易误导读者认为workspaceSize需要手动设定。 uint64_t workspaceSize = 16 * 1024 * 1024; claude-qwen36-platform-静态代码检测 C4-01代码内容错误 一般 将workspaceSize初始化为0,改为uint64_t workspaceSize = 0;,后续由aclnnSquaredReluGetWorkspaceSize接口返回实际值。
2443 nn仓 aclnnHardswishBackwardV2.md 代码示例中CHECK_RET宏调用存在多余分号,第333行return ret;);中分号位置错误,应为return ret); CHECK_RET(ret == ACL_SUCCESS, LOG_PRINT("allocate workspace failed. ERROR: %d\n", ret); return ret;); claude-qwen36-platform-静态代码检测 C4-01代码内容错误 一般 return ret;);修改为return ret);,去掉return语句末尾多余的分号。
2684 nn仓 aclnnHardShrink.md 示例代码中lambd变量类型为double,但接口要求传入aclScalar*指针,类型不匹配将导致编译失败。 double lambd = 0.5;

// 3. 调用 aclnnHardShrink 第一段接口
uint64_t workspaceSize = 0;
aclOpExecutor* executor = nullptr;
ret = aclnnHardShrinkGetWorkspaceSize(self, lambd, out, &workspaceSize, &executor);
文档检测-综合 代码错误 严重 // lambd 标量参数
double lambdVal = 0.5;
aclTensor lambdTensor = nullptr;
aclCreateScalar(&lambdTensor, &lambdVal, aclDataType::ACL_FLOAT);

// 3. 调用 aclnnHardShrink 第一段接口
uint64_t workspaceSize = 0;
aclOpExecutor
executor = nullptr;
ret = aclnnHardShrinkGetWorkspaceSize(self, lambdTensor, out, &workspaceSize, &executor);
2685 nn仓 aclnnHardShrink.md 2.5 命令行/示例代码可执行性 FAIL(关键违规):函数原型第二参数为 const aclScalar lambd(行 33-34),但示例代码第 287 行声明 double lambd = 0.5;,第 292 行直接 aclnnHardShrinkGetWorkspaceSize(self, lambd, out, &workspaceSize, &executor) 传 double 给 aclScalar,类型不匹配会导致 C++ 编译失败;文档亦未说明如何由 double 构造 aclScalar*(如 aclCreateScalar)。 // lambd 标量参数(double 类型)
double lambd = 0.5;

// 3. 调用 aclnnHardShrink 第一段接口
uint64_t workspaceSize = 0;
aclOpExecutor* executor = nullptr;
ret = aclnnHardShrinkGetWorkspaceSize(self, lambd, out, &workspaceSize, &executor);
文档易用性评估-claude-skill-glm5.2 文档易用性-正确性 一般 在示例代码中先 aclCreateScalar(0.5, ACL_FLOAT) 创建 aclScalar* 再传入,并在「调用示例」补充由 double/float 构造 aclScalar 的步骤说明;或修改函数原型/参数表使 lambd 支持原生数值类型。
likedislike
yuning_chenyuning_chen成员
11 天前 将 guijianwei 设为负责人
guijianwei
guijianwei
10 天前 评论:

/assign

likedislike
不喜欢雨天ༀ不喜欢雨天ༀ
9 天前 关联了pull request:docs: 修复调用示例中的 host 数据类型/shape 不一致及编译级错误
guijianweiguijianwei
9 天前 修改了issue 的描述
guijianweiguijianwei
9 天前 修改了issue 的描述
guijianweiguijianwei
9 天前 关联了pull request:fix example code and aclnn md
guijianweiguijianwei
8 天前 issue状态由 进行中 改变为 已解决
guijianweiguijianwei
8 天前 关闭了 issue