Skip to content

Commit 4dd3c07

Browse files
committed
CANN: resolve review comments
1 parent 8981848 commit 4dd3c07

File tree

2 files changed

+9
-37
lines changed

2 files changed

+9
-37
lines changed

ggml/src/ggml-cann/acl_tensor.h

Lines changed: 9 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -44,46 +44,19 @@
4444
*/
4545
aclDataType ggml_cann_type_mapping(ggml_type type);
4646

47-
// Deleter for aclTensor.
48-
struct acl_tensor_deleter {
49-
void operator()(aclTensor * ptr) const noexcept {
50-
if (ptr != nullptr) {
51-
ACL_CHECK(aclDestroyTensor(ptr));
47+
// Deleter for acl objects.
48+
template <typename T, aclError (*DestroyFunc)(const T *)> struct acl_deleter {
49+
void operator()(T * ptr) const noexcept {
50+
if (ptr) {
51+
ACL_CHECK(DestroyFunc(ptr));
5252
}
5353
}
5454
};
5555

56-
// Deleter for aclIntArray.
57-
struct acl_int_array_deleter {
58-
void operator()(aclIntArray * ptr) const noexcept {
59-
if (ptr != nullptr) {
60-
ACL_CHECK(aclDestroyIntArray(ptr));
61-
}
62-
}
63-
};
64-
65-
// Deleter for aclScalar.
66-
struct acl_scalar_deleter {
67-
void operator()(aclScalar * ptr) const noexcept {
68-
if (ptr != nullptr) {
69-
ACL_CHECK(aclDestroyScalar(ptr));
70-
}
71-
}
72-
};
73-
74-
// Deleter for aclTensorList.
75-
struct acl_tensor_list_deleter {
76-
void operator()(aclTensorList * ptr) const noexcept {
77-
if (ptr != nullptr) {
78-
ACL_CHECK(aclDestroyTensorList(ptr));
79-
}
80-
}
81-
};
82-
83-
using acl_tensor_ptr = std::unique_ptr<aclTensor, acl_tensor_deleter>;
84-
using acl_int_array_ptr = std::unique_ptr<aclIntArray, acl_int_array_deleter>;
85-
using acl_scalar_ptr = std::unique_ptr<aclScalar, acl_scalar_deleter>;
86-
using acl_tensor_list_ptr = std::unique_ptr<aclTensorList, acl_tensor_list_deleter>;
56+
using acl_tensor_ptr = std::unique_ptr<aclTensor, acl_deleter<aclTensor, aclDestroyTensor>>;
57+
using acl_int_array_ptr = std::unique_ptr<aclIntArray, acl_deleter<aclIntArray, aclDestroyIntArray>>;
58+
using acl_scalar_ptr = std::unique_ptr<aclScalar, acl_deleter<aclScalar, aclDestroyScalar>>;
59+
using acl_tensor_list_ptr = std::unique_ptr<aclTensorList, acl_deleter<aclTensorList, aclDestroyTensorList>>;
8760

8861
/**
8962
* @brief Creates an ACL tensor from a ggml_tensor with optional shape.

ggml/src/ggml-cann/aclnn_ops.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2790,7 +2790,6 @@ void ggml_cann_count_equal(ggml_backend_cann_context & ctx, ggml_tensor * dst) {
27902790

27912791
GGML_CANN_CALL_ACLNN_OP(ctx, InplaceEqTensor, acl_self.get(), acl_other.get());
27922792

2793-
// TODO
27942793
ggml_cann_sum(ctx, dst);
27952794
}
27962795

0 commit comments

Comments
 (0)