====== ERROR: Potential WAW hazard detected at GM :
====== PIPE_MTE3 Write at WAW()+0x12c0c0016000 in block 0 (aiv) at pc current 0x58e8 (serialNo:298)
====== #0 /usr/local/Ascend/ascend-toolkit/8.0.RC3.alpha003/aarch64-linux/tikcpp/tikcfw/impl/dav_c220/kernel_operator_data_copy_impl.h:130:9
====== #1 /usr/local/Ascend/ascend-toolkit/8.0.RC3.alpha003/aarch64-linux/tikcpp/tikcfw/inner_interface/inner_kernel_operator_data_copy_intf.cppm:168:9
====== #2 /usr/local/Ascend/ascend-toolkit/8.0.RC3.alpha003/aarch64-linux/tikcpp/tikcfw/inner_interface/inner_kernel_operator_data_copy_intf.cppm:494:5
====== #3 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/src/nll_loss.cpp:232:13
====== #4 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/kernel_meta_NLLLoss_474f84dd649ef459d8f205471f7a286e/kernel_meta/NLLLoss_474f84dd649ef459d8f205471f7a286e_2954632_kernel.cpp:27:5
====== PIPE_S Write at WAW()+0x12c0c0016000 in block 1 (aiv) at pc current 0x24bc (serialNo:365)
====== #0 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/src/nll_loss.cpp:132:16
====== #1 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/kernel_meta_NLLLoss_474f84dd649ef459d8f205471f7a286e/kernel_meta/NLLLoss_474f84dd649ef459d8f205471f7a286e_2954632_kernel.cpp:27:5
====== ERROR: Potential WAW hazard detected at GM :
====== PIPE_S Write at WAW()+0x12c0c0016000 in block 0 (aiv) at pc current 0x24bc (serialNo:179)
====== #0 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/src/nll_loss.cpp:132:16
====== #1 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/kernel_meta_NLLLoss_474f84dd649ef459d8f205471f7a286e/kernel_meta/NLLLoss_474f84dd649ef459d8f205471f7a286e_2954632_kernel.cpp:27:5
====== PIPE_S Write at WAW()+0x12c0c0016000 in block 1 (aiv) at pc current 0x24bc (serialNo:365)
====== #0 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/src/nll_loss.cpp:132:16
====== #1 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/kernel_meta_NLLLoss_474f84dd649ef459d8f205471f7a286e/kernel_meta/NLLLoss_474f84dd649ef459d8f205471f7a286e_2954632_kernel.cpp:27:5
====== ERROR: Potential WAW hazard detected at GM :
====== PIPE_S Write at WAW()+0x12c0c0016000 in block 0 (aiv) at pc current 0x24bc (serialNo:179)
====== #0 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/src/nll_loss.cpp:132:16
====== #1 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/kernel_meta_NLLLoss_474f84dd649ef459d8f205471f7a286e/kernel_meta/NLLLoss_474f84dd649ef459d8f205471f7a286e_2954632_kernel.cpp:27:5
====== PIPE_MTE3 Write at WAW()+0x12c0c0016000 in block 1 (aiv) at pc current 0x58e8 (serialNo:484)
====== #0 /usr/local/Ascend/ascend-toolkit/8.0.RC3.alpha003/aarch64-linux/tikcpp/tikcfw/impl/dav_c220/kernel_operator_data_copy_impl.h:130:9
====== #1 /usr/local/Ascend/ascend-toolkit/8.0.RC3.alpha003/aarch64-linux/tikcpp/tikcfw/inner_interface/inner_kernel_operator_data_copy_intf.cppm:168:9
====== #2 /usr/local/Ascend/ascend-toolkit/8.0.RC3.alpha003/aarch64-linux/tikcpp/tikcfw/inner_interface/inner_kernel_operator_data_copy_intf.cppm:494:5
====== #3 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/src/nll_loss.cpp:232:13
====== #4 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/kernel_meta_NLLLoss_474f84dd649ef459d8f205471f7a286e/kernel_meta/NLLLoss_474f84dd649ef459d8f205471f7a286e_2954632_kernel.cpp:27:5
这两行分别是(对所有AIV都是):
PIPE_S ygm(0) = 0;
PIPE_MTE3 DataCopy(ygm, outTensor, 8);
想使用原子累加,累加前需要将待累加GM清空,不知该如何处理才能既不引入 SyncAll 又没有同步问题。
====== ERROR: Potential WAW hazard detected at GM :
====== PIPE_MTE3 Write at WAW()+0x12c0c0016000 in block 0 (aiv) at pc current 0x58e8 (serialNo:298)
====== #0 /usr/local/Ascend/ascend-toolkit/8.0.RC3.alpha003/aarch64-linux/tikcpp/tikcfw/impl/dav_c220/kernel_operator_data_copy_impl.h:130:9
====== #1 /usr/local/Ascend/ascend-toolkit/8.0.RC3.alpha003/aarch64-linux/tikcpp/tikcfw/inner_interface/inner_kernel_operator_data_copy_intf.cppm:168:9
====== #2 /usr/local/Ascend/ascend-toolkit/8.0.RC3.alpha003/aarch64-linux/tikcpp/tikcfw/inner_interface/inner_kernel_operator_data_copy_intf.cppm:494:5
====== #3 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/src/nll_loss.cpp:232:13
====== #4 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/kernel_meta_NLLLoss_474f84dd649ef459d8f205471f7a286e/kernel_meta/NLLLoss_474f84dd649ef459d8f205471f7a286e_2954632_kernel.cpp:27:5
====== PIPE_S Write at WAW()+0x12c0c0016000 in block 1 (aiv) at pc current 0x24bc (serialNo:365)
====== #0 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/src/nll_loss.cpp:132:16
====== #1 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/kernel_meta_NLLLoss_474f84dd649ef459d8f205471f7a286e/kernel_meta/NLLLoss_474f84dd649ef459d8f205471f7a286e_2954632_kernel.cpp:27:5
====== ERROR: Potential WAW hazard detected at GM :
====== PIPE_S Write at WAW()+0x12c0c0016000 in block 0 (aiv) at pc current 0x24bc (serialNo:179)
====== #0 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/src/nll_loss.cpp:132:16
====== #1 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/kernel_meta_NLLLoss_474f84dd649ef459d8f205471f7a286e/kernel_meta/NLLLoss_474f84dd649ef459d8f205471f7a286e_2954632_kernel.cpp:27:5
====== PIPE_S Write at WAW()+0x12c0c0016000 in block 1 (aiv) at pc current 0x24bc (serialNo:365)
====== #0 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/src/nll_loss.cpp:132:16
====== #1 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/kernel_meta_NLLLoss_474f84dd649ef459d8f205471f7a286e/kernel_meta/NLLLoss_474f84dd649ef459d8f205471f7a286e_2954632_kernel.cpp:27:5
====== ERROR: Potential WAW hazard detected at GM :
====== PIPE_S Write at WAW()+0x12c0c0016000 in block 0 (aiv) at pc current 0x24bc (serialNo:179)
====== #0 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/src/nll_loss.cpp:132:16
====== #1 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/kernel_meta_NLLLoss_474f84dd649ef459d8f205471f7a286e/kernel_meta/NLLLoss_474f84dd649ef459d8f205471f7a286e_2954632_kernel.cpp:27:5
====== PIPE_MTE3 Write at WAW()+0x12c0c0016000 in block 1 (aiv) at pc current 0x58e8 (serialNo:484)
====== #0 /usr/local/Ascend/ascend-toolkit/8.0.RC3.alpha003/aarch64-linux/tikcpp/tikcfw/impl/dav_c220/kernel_operator_data_copy_impl.h:130:9
====== #1 /usr/local/Ascend/ascend-toolkit/8.0.RC3.alpha003/aarch64-linux/tikcpp/tikcfw/inner_interface/inner_kernel_operator_data_copy_intf.cppm:168:9
====== #2 /usr/local/Ascend/ascend-toolkit/8.0.RC3.alpha003/aarch64-linux/tikcpp/tikcfw/inner_interface/inner_kernel_operator_data_copy_intf.cppm:494:5
====== #3 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/src/nll_loss.cpp:232:13
====== #4 /home/cx/perf/NLLLoss2/build_out/op_kernel/binary/ascend910b/kernel_meta_NLLLoss_474f84dd649ef459d8f205471f7a286e/kernel_meta/NLLLoss_474f84dd649ef459d8f205471f7a286e_2954632_kernel.cpp:27:5
这两行分别是(对所有AIV都是):
PIPE_S ygm(0) = 0;
PIPE_MTE3 DataCopy(ygm, outTensor, 8);
想使用原子累加,累加前需要将待累加GM清空,不知该如何处理才能既不引入 SyncAll 又没有同步问题。