Skip to content

Commit

Permalink
fix
Browse files Browse the repository at this point in the history
  • Loading branch information
momo609 committed Jan 30, 2024
1 parent d8a208f commit b224039
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 29 deletions.
30 changes: 15 additions & 15 deletions mmcv/ops/csrc/pytorch/npu/chamfer_distance_npu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ using namespace NPU_NAME_SPACE;
using namespace std;

void chamfer_distance_forward_npu(Tensor XYZ1, Tensor XYZ2, Tensor dist1,
Tensor dist2, Tensor idx1, Tensor idx2) {
Tensor dist2, Tensor idx1, Tensor idx2) {
at::Tensor xyz1 = at::ones_like(XYZ1);
at::Tensor xyz2 = at::ones_like(XYZ2);
xyz1 = XYZ1.transpose(1,2).transpose(0,1);
xyz2 = XYZ2.transpose(1,2).transpose(0,1);
xyz1 = XYZ1.transpose(1, 2).transpose(0, 1);
xyz2 = XYZ2.transpose(1, 2).transpose(0, 1);
OpCommand cmd;
cmd.Name("ChamferDistance")
.Input(xyz1)
Expand All @@ -21,20 +21,20 @@ void chamfer_distance_forward_npu(Tensor XYZ1, Tensor XYZ2, Tensor dist1,
.Run();
}

void chamfer_distance_backward_npu(Tensor xyz1, Tensor xyz2,
Tensor idx1, Tensor idx2, Tensor grad_dist1, Tensor grad_dist2,
Tensor grad_xyz1, Tensor grad_xyz2) {
EXEC_NPU_CMD(aclnnChamferDistanceBackward, xyz1, xyz2, idx1, idx2,
grad_dist1, grad_dist2, grad_xyz1, grad_xyz2);
}
void chamfer_distance_backward_npu(Tensor xyz1, Tensor xyz2, Tensor idx1,
Tensor idx2, Tensor grad_dist1,
Tensor grad_dist2, Tensor grad_xyz1,
Tensor grad_xyz2) {
EXEC_NPU_CMD(aclnnChamferDistanceBackward, xyz1, xyz2, idx1, idx2, grad_dist1,
grad_dist2, grad_xyz1, grad_xyz2);

void chamfer_distance_forward_impl(Tensor XYZ1, Tensor XYZ2, Tensor dist1,
Tensor dist2, Tensor idx1, Tensor idx2);
REGISTER_NPU_IMPL(chamfer_distance_forward_impl,
chamfer_distance_forward_npu);
Tensor dist2, Tensor idx1, Tensor idx2);
REGISTER_NPU_IMPL(chamfer_distance_forward_impl, chamfer_distance_forward_npu);

void chamfer_distance_backward_impl(Tensor xyz1, Tensor xyz2, Tensor idx1, Tensor idx2,
Tensor grad_dist1, Tensor grad_dist2,
Tensor grad_xyz1, Tensor grad_xyz2);
void chamfer_distance_backward_impl(Tensor xyz1, Tensor xyz2, Tensor idx1,
Tensor idx2, Tensor grad_dist1,
Tensor grad_dist2, Tensor grad_xyz1,
Tensor grad_xyz2);
REGISTER_NPU_IMPL(chamfer_distance_backward_impl,
chamfer_distance_backward_npu);
11 changes: 5 additions & 6 deletions mmcv/ops/csrc/pytorch/npu/common_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,11 @@
const int SIZE = 8;

c10::SmallVector<int64_t, SIZE> array_to_vector(c10::IntArrayRef shape) {
c10::SmallVector<int64_t, SIZE> shape_small_vec;
for (uint64_t i = 0; i < shape.size(); i++) {
shape_small_vec.emplace_back(shape[i]);
}

return shape_small_vec;
c10::SmallVector<int64_t, SIZE> shape_small_vec;
for (uint64_t i = 0; i < shape.size(); i++) {
shape_small_vec.emplace_back(shape[i]);
}
return shape_small_vec;
}

#endif // MMCV_OPS_CSRC_COMMON__UTIL_HPP_
4 changes: 2 additions & 2 deletions mmcv/ops/csrc/pytorch/npu/focal_loss_npu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,11 @@ void softmax_focal_loss_forward_npu(Tensor input, Tensor target, Tensor weight,
at::IntArrayRef size_array = at::IntArrayRef(sizes);
c10::SmallVector<int64_t, 8> offsetVec;
for (uint64_t i = 0; i < offset.size(); i++) {
offsetVec.emplace_back(offset[i]);
offsetVec.emplace_back(offset[i]);
}
c10::SmallVector<int64_t, 8> sizeVec;
for (uint64_t i = 0; i < size_array.size(); i++) {
sizeVec.emplace_back(size_array[i]);
sizeVec.emplace_back(size_array[i]);
}
OpCommand cmd2;
cmd2.Name("Slice")
Expand Down
2 changes: 1 addition & 1 deletion mmcv/ops/csrc/pytorch/npu/fused_bias_leakyrelu_npu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Tensor fused_bias_leakyrelu_npu(const Tensor &input, const Tensor &bias,
int input_length = input_size.size();
c10::SmallVector<int64_t, SIZE> input_size_tmp;
for (uint64_t i = 0; i < input_size.size(); i++) {
input_size_tmp.emplace_back(input_size[i]);
input_size_tmp.emplace_back(input_size[i]);
}
if (input_length > 1) {
for (int i = 0; i < input_length; i++) {
Expand Down
2 changes: 1 addition & 1 deletion mmcv/ops/csrc/pytorch/npu/gather_points_npu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ void gather_points_backward_npu(int b, int c, int n, int npoints,
auto shape = idx.sizes();
c10::SmallVector<int64_t, 8> pad_size;
for (uint64_t i = 0; i < shape.size(); i++) {
pad_size.emplace_back(shape[i]);
pad_size.emplace_back(shape[i]);
}
at::Tensor trans_grad_points = grad_points.transpose(1, 2).contiguous();
at::Tensor grad_points_view = trans_grad_points.view(
Expand Down
2 changes: 1 addition & 1 deletion mmcv/ops/csrc/pytorch/npu/roi_align_npu.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ void roi_align_backward_npu(Tensor grad_output, Tensor rois, Tensor argmax_y,
auto shape = grad_input.sizes();
c10::SmallVector<int64_t, SIZE> xdiff_shape;
for (uint64_t i = 0; i < shape.size(); i++) {
xdiff_shape.emplace_back(shape[i]);
xdiff_shape.emplace_back(shape[i]);
}
OpCommand cmd;
cmd.Name("ROIAlignGrad")
Expand Down
2 changes: 1 addition & 1 deletion mmcv/ops/csrc/pytorch/npu/three_interpolate_npu.cpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
#include "pytorch_npu_helper.hpp"
#include "torch_npu/csrc/framework/utils/OpAdapter.h"
#include "torch_npu/csrc/aten/NPUNativeFunctions.h"
#include "torch_npu/csrc/framework/utils/OpAdapter.h"

using namespace NPU_NAME_SPACE;
using namespace std;
Expand Down
5 changes: 3 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -425,14 +425,15 @@ def get_mluops_version(file_path):
elif (os.getenv('FORCE_NPU', '0') == '1'):
print(f'Compiling {ext_name} only with CPU and NPU')
try:
import imp
import importlib

from torch_npu.utils.cpp_extension import NpuExtension
extra_compile_args['cxx'] += [
'-D__FILENAME__=\"$$(notdir $$(abspath $$<))\"'
]
extra_compile_args['cxx'] += [
'-I' + imp.find_module('torch_npu')[1] +
'-I' + importlib.util.find_spec(
'torch_npu').submodule_search_locations[0] +
'/include/third_party/acl/inc'
]
define_macros += [('MMCV_WITH_NPU', None)]
Expand Down

0 comments on commit b224039

Please sign in to comment.