Skip to content

Commit d695b0d

Browse files
author
youxiao
committed
fix USE_ASCEND_DIRECT compile
1 parent 496cecd commit d695b0d

File tree

6 files changed

+209
-197
lines changed

6 files changed

+209
-197
lines changed

mooncake-common/common.cmake

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -160,14 +160,15 @@ if (USE_ASCEND OR USE_ASCEND_DIRECT)
160160
file(GLOB ASCEND_TOOLKIT_ROOT "/usr/local/Ascend/ascend-toolkit/latest/*-linux")
161161
endif()
162162
set(ASCEND_LIB_DIR "${ASCEND_TOOLKIT_ROOT}/lib64")
163-
set(ASCEND_DEVLIB_DIR "${ASCEND_TOOLKIT_ROOT}/devlib")
164163
set(ASCEND_INCLUDE_DIR "${ASCEND_TOOLKIT_ROOT}/include")
165164
add_compile_options(-Wno-ignored-qualifiers)
166-
include_directories(/usr/local/include /usr/include ${ASCEND_INCLUDE_DIR})
167-
link_directories(${ASCEND_LIB_DIR} ${ASCEND_DEVLIB_DIR})
165+
include_directories(/usr/local/include /usr/include ${ASCEND_INCLUDE_DIR} ${ASCEND_INCLUDE_DIR}/experiment/runtime)
166+
link_directories(${ASCEND_LIB_DIR})
168167
endif()
169168

170169
if (USE_ASCEND)
170+
set(ASCEND_DEVLIB_DIR "${ASCEND_TOOLKIT_ROOT}/devlib")
171+
link_directories(${ASCEND_DEVLIB_DIR})
171172
add_compile_definitions(USE_ASCEND)
172173
endif()
173174

mooncake-store/include/utils.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ void* allocate_buffer_allocator_memory(
102102
size_t total_size, const std::string& protocol = "",
103103
size_t alignment = facebook::cachelib::Slab::kSize);
104104

105-
void free_memory(const std::string& protocol, void* ptr);
105+
void free_memory(const std::string& protocol, void* ptr, size_t size);
106106

107107
[[nodiscard]] inline std::string byte_size_to_string(uint64_t bytes) {
108108
const double KB = 1024.0;

mooncake-store/src/client_buffer.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ ClientBufferAllocator::ClientBufferAllocator(size_t size,
2424
ClientBufferAllocator::~ClientBufferAllocator() {
2525
// Free the aligned allocated memory
2626
if (buffer_) {
27-
free_memory(protocol, buffer_);
27+
free_memory(protocol, buffer_, buffer_size_);
2828
}
2929
}
3030

mooncake-store/src/utils.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,9 +92,9 @@ void *allocate_buffer_allocator_memory(size_t total_size,
9292
return aligned_alloc(alignment, total_size);
9393
}
9494

95-
void free_memory(const std::string &protocol, void *ptr) {
95+
void free_memory(const std::string &protocol, void *ptr, size_t size) {
9696
#ifdef USE_ASCEND_DIRECT
97-
if (protocol == "ascend") {
97+
if (protocol == "ascend" && size > 0) {
9898
aclrtFreeHost(ptr);
9999
return;
100100
}

mooncake-transfer-engine/include/transport/ascend_transport/ascend_direct_transport/ascend_direct_transport.h

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
#include <condition_variable>
2929
#include <set>
3030

31-
#include <acl/acl.h>
31+
#include "runtime/rt.h"
32+
//#include <acl/acl.h>
3233
#include "transfer_metadata.h"
3334
#include "transport/transport.h"
3435
#include "adxl/adxl_engine.h"
@@ -81,21 +82,26 @@ class AscendDirectTransport : public Transport {
8182

8283
void processSliceList(const std::vector<Slice *> &slice_list);
8384

85+
void connectAndTransfer(const std::string &target_adxl_engine_name,
86+
adxl::TransferOp operation,
87+
const std::vector<Slice *> &slice_list,
88+
int32_t times = 0);
89+
8490
void localCopy(TransferRequest::OpCode opcode,
8591
const std::vector<Slice *> &slice_list);
8692

87-
aclError copyWithBatch(TransferRequest::OpCode opcode,
88-
const std::vector<Slice *> &slice_list,
89-
aclrtMemcpyKind kind, size_t batch_num,
90-
size_t slice_index) const;
91-
92-
void copyWithSync(TransferRequest::OpCode opcode,
93-
const std::vector<Slice *> &slice_list,
94-
aclrtMemcpyKind kind);
95-
96-
void copyWithAsync(TransferRequest::OpCode opcode,
97-
const std::vector<Slice *> &slice_list,
98-
aclrtMemcpyKind kind);
93+
// aclError copyWithBatch(TransferRequest::OpCode opcode,
94+
// const std::vector<Slice *> &slice_list,
95+
// aclrtMemcpyKind kind, size_t batch_num,
96+
// size_t slice_index) const;
97+
//
98+
// void copyWithSync(TransferRequest::OpCode opcode,
99+
// const std::vector<Slice *> &slice_list,
100+
// aclrtMemcpyKind kind);
101+
//
102+
// void copyWithAsync(TransferRequest::OpCode opcode,
103+
// const std::vector<Slice *> &slice_list,
104+
// aclrtMemcpyKind kind);
99105

100106
uint16_t findAdxlListenPort() const;
101107

@@ -105,7 +111,7 @@ class AscendDirectTransport : public Transport {
105111
int checkAndConnect(const std::string &target_adxl_engine_name);
106112

107113
int disconnect(const std::string &target_adxl_engine_name,
108-
int32_t timeout_in_millis);
114+
int32_t timeout_in_millis, bool force = false);
109115

110116
std::atomic_bool running_;
111117
std::unique_ptr<adxl::AdxlEngine> adxl_;
@@ -123,11 +129,12 @@ class AscendDirectTransport : public Transport {
123129
std::condition_variable queue_cv_;
124130

125131
int32_t device_logic_id_{};
126-
aclrtContext rt_context_{nullptr};
132+
rtContext_t rt_context_{};
133+
// aclrtContext rt_context_{nullptr};
127134
int32_t connect_timeout_ = 10000;
128135
int32_t transfer_timeout_ = 10000;
129136
std::string local_adxl_engine_name_{};
130-
aclrtStream stream_{};
137+
// aclrtStream stream_{};
131138
bool use_buffer_pool_{false};
132139

133140
int32_t base_port_ = 20000;

0 commit comments

Comments
 (0)