@@ -639,13 +639,12 @@ __mlu_func__ void MLUMultiKernelDeformRoiPoolBackward(
639639 (int32_t)(c_slice_align % nram_sum_tmp_channel > 0);
640640 __bang_sumpool(nram_sum_tmp, nram_tmp1, nram_sum_tmp_channel, 1,
641641 kernel_width, 1, kernel_width, kernel_width, 1);
642- __bang_reduce_sum(nram_sum_tmp, nram_sum_tmp,
643- nram_sum_tmp_channel);
642+ T tmp_sum = __bang_sum(nram_sum_tmp, nram_sum_tmp_channel);
644643 __bang_atomic_reduce_add(
645644 (T *)(grad_offset +
646645 out_batch * pooled_width * pooled_height * 2 +
647646 out_height * pooled_width + out_width),
648- (T *)nram_sum_tmp , 1);
647+ tmp_sum , 1);
649648 __bang_write_value((T *)nram_sum_tmp, nram_sum_tmp_channel, (T)0);
650649 __bang_mul_scalar(nram_tmp1, nram_ping_input + 3 * c_slice_align,
651650 x - x_low, c_slice_align);
@@ -663,14 +662,13 @@ __mlu_func__ void MLUMultiKernelDeformRoiPoolBackward(
663662 __bang_mul(nram_tmp1, nram_grad_output, nram_tmp1, c_slice_align);
664663 __bang_sumpool(nram_sum_tmp, nram_tmp1, nram_sum_tmp_channel, 1,
665664 kernel_width, 1, kernel_width, kernel_width, 1);
666- __bang_reduce_sum(nram_sum_tmp, nram_sum_tmp,
667- NFU_ALIGN_SIZE / sizeof(T));
665+ tmp_sum = __bang_sum(nram_sum_tmp, NFU_ALIGN_SIZE / sizeof(T));
668666 __bang_atomic_reduce_add(
669667 (T *)(grad_offset +
670668 out_batch * pooled_width * pooled_height * 2 +
671669 pooled_width * pooled_height +
672670 out_height * pooled_width + out_width),
673- (T *)nram_sum_tmp , 1);
671+ tmp_sum , 1);
674672
675673 T *nram_tmp = nram_ping_input;
676674 nram_ping_input = nram_pong_input;
0 commit comments