aclnnRotaryPositionEmbeddingV2
non_contig
l0op::Contiguous()
CheckViewCopyParams errno[161002] OpName:[aclnnRotaryPositionEmbeddingV2_N_ViewCopy] Output tensor should not from workspace
测试框架复核(F1~F7):通过
代码排查(ops-transformer/posembedding/rotary_position_embedding/op_host/op_api/aclnn_rotary_position_embedding.cpp)
PreProcess
TensorContiguousProcess
l0op::Contiguous(tensor, executor)
RotaryPositionEmbeddingCommonProcess
l0op::RotaryPositionEmbedding
l0op::Contiguous(out)
l0op::ViewCopy(result, outContiguous, executor)
contiguous.cpp:636 CheckViewCopyParams errno[161002] "Output tensor should not from workspace"
定位分析
Output tensor should not from workspace
一、问题描述(必填)
aclnnRotaryPositionEmbeddingV2;测试场景:non_contig(multithread 场景同根因复现);压测日期:2026-11-13;执行卡号:1(Ascend 950 / CANN 9.3.0)l0op::Contiguous()物化非连续输入时,ViewCopy 算子报CheckViewCopyParams errno[161002] OpName:[aclnnRotaryPositionEmbeddingV2_N_ViewCopy] Output tensor should not from workspace,随后 561103 kernel 选型失败二、问题复现步骤(必填)
(观察 plog 中 aclnnRotaryPositionEmbeddingV2_*_ViewCopy 的 CheckViewCopyParams "Output tensor should not from workspace" 报错)
三、附件与证据(必填)
💡 该问题由 fuzz 自动化压测平台发现;如需更多上下文请下载上方附件压缩件。
🔍 代码bug点定位(2026-11-13,结合 ops-* git 仓源码复核)
测试框架复核(F1~F7):通过
代码排查(ops-transformer/posembedding/rotary_position_embedding/op_host/op_api/aclnn_rotary_position_embedding.cpp)
PreProcess(:102-110):对 x/cos/sin/rotate 逐一调用TensorContiguousProcess→l0op::Contiguous(tensor, executor)(:70-78)——aclnn 层设计上对全部非连续输入做连续化RotaryPositionEmbeddingCommonProcess(:112-141):Contiguous 后经l0op::RotaryPositionEmbedding计算,再l0op::Contiguous(out)+l0op::ViewCopy(result, outContiguous, executor)(:139)contiguous.cpp:636 CheckViewCopyParams errno[161002] "Output tensor should not from workspace",全场景 98.5% 复现定位分析
Output tensor should not from workspace),或绕过 ViewCopy 直接物化输出