CANN/pto-isa通信测试问题诊断手册

CANN/pto-isa通信测试问题诊断手册 问题诊断手册【免费下载链接】pto-isaParallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platforms.项目地址: https://gitcode.com/cann/pto-isa1. 死锁程序挂起症状程序无响应mpirun超时。排查步骤检查项方法典型原因TWAIT 未匹配 TNOTIFY检查每个 TWAIT 是否有对应的 TNOTIFY 发送漏发通知或发送方向错误Barrier 不对称确认所有 rank 都执行 barrier部分 rank 跳过 barrier 路径Signal 地址错误打印 signal 地址确认远端/本地正确远端地址计算错误Block 数不匹配确认 intra-rank 计数器期望值num_comm_blocks - 1与实际不符超时保护模式int timeout 1000000; while (timeout-- 0) { if (comm::TTEST(sig, expected, comm::WaitCmp::GE)) break; } if (timeout 0) { dcci((__gm__ void *)signal_ptr, SINGLE_CACHE_LINE); // 记录异常 }2. 数据错误现象可能原因解决方法全零传输未执行 / 地址错误检查远端地址计算和 kernel 是否启动随机值读到未初始化内存检查信号同步是否正确先写后读部分正确Tiling 边界问题检查 AlignUp 和 Tile 边界处理NaN/InfFP16 溢出检查 AtomicAdd 累积次数和数据范围接近但不精确FP16 精度限制放宽 atol/rtol 阈值3. 信号残留症状第一次运行正确第二次运行结果错误或提前通过 barrier。原因信号矩阵未在每次运行前清零。修复aclrtMemset(signal_matrix, signal_size, 0, signal_size); aclrtSynchronizeStream(stream);4. 编译错误错误信息原因解决MEMORY_BASEundefined编译选项缺少-DMEMORY_BASECMakeLists 添加 target_compile_definitionscomm::符号未找到未包含pto_comm_inst.hpp检查 include 路径__gm__未定义CPU 编译时使用了 NPU 类型检查#ifdef __CCE_AICORE__条件编译link error: runtime未链接 runtime 库CMakeLists 添加target_link_libraries(... runtime)5. TPUT_ASYNC 返回无效 event症状event.valid()返回 falsehandle 0。原因传入的 tensor 不是扁平连续一维BuildAsyncSession 失败workspace 无效A5 平台 MTE fallback 完成时返回 handle0正常行为排查auto event comm::TPUT_ASYNC(dstG, srcG, session); if (!event.valid()) { // 检查 session.valid // 检查 tensor 是否一维连续 // A5 平台下 MTE fallback 已完成无需 Wait }6. dcci 缓存一致性问题症状Device 侧读到陈旧数据。原因AICore 读 GM 可能命中 L1 缓存看不到其他核的写入。解决dcci((__gm__ void *)shared_data, SINGLE_CACHE_LINE); __asm__ __volatile__(); // 编译器屏障 int32_t value shared_data;【免费下载链接】pto-isaParallel Tile Operation (PTO) is a virtual instruction set architecture designed by Ascend CANN, focusing on tile-level operations. This repository offers high-performance, cross-platform tile operations across Ascend platforms.项目地址: https://gitcode.com/cann/pto-isa创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考