"git@developer.sourcefind.cn:yangql/googletest.git" did not exist on "dff32aff97a682dfc603ac99bedc639b959e24a8"
Commit fd574720 authored by bolun's avatar bolun
Browse files

fix: 修复寒武纪平台 infinirt 编译问题

parent 0c803397
...@@ -6,7 +6,8 @@ ...@@ -6,7 +6,8 @@
namespace infinirt::bang { namespace infinirt::bang {
infiniStatus_t getDeviceCount(int *count) { infiniStatus_t getDeviceCount(int *count) {
CHECK_BANGRT(cnrtGetDeviceCount(count)); unsigned int device_count = static_cast<unsigned int>(*count);
CHECK_BANGRT(cnrtGetDeviceCount(&device_count));
return INFINI_STATUS_SUCCESS; return INFINI_STATUS_SUCCESS;
} }
...@@ -22,7 +23,7 @@ infiniStatus_t deviceSynchronize() { ...@@ -22,7 +23,7 @@ infiniStatus_t deviceSynchronize() {
infiniStatus_t streamCreate(infinirtStream_t *stream_ptr) { infiniStatus_t streamCreate(infinirtStream_t *stream_ptr) {
cnrtQueue_t queue; cnrtQueue_t queue;
CHECK_BANGRT(cnrtQueueCreate(&stream)); CHECK_BANGRT(cnrtQueueCreate(&queue));
*stream_ptr = queue; *stream_ptr = queue;
return INFINI_STATUS_SUCCESS; return INFINI_STATUS_SUCCESS;
} }
...@@ -55,7 +56,7 @@ infiniStatus_t eventRecord(infinirtEvent_t event, infinirtStream_t stream) { ...@@ -55,7 +56,7 @@ infiniStatus_t eventRecord(infinirtEvent_t event, infinirtStream_t stream) {
} }
infiniStatus_t eventQuery(infinirtEvent_t event, infinirtEventStatus_t *status_ptr) { infiniStatus_t eventQuery(infinirtEvent_t event, infinirtEventStatus_t *status_ptr) {
auto status = cnrtQueryNotifier((cnrtQueue_t)stream); auto status = cnrtQueryNotifier((cnrtNotifier_t)event);
if (status == cnrtSuccess) { if (status == cnrtSuccess) {
*status_ptr = INFINIRT_EVENT_COMPLETE; *status_ptr = INFINIRT_EVENT_COMPLETE;
} else if (status == cnrtErrorBusy) { } else if (status == cnrtErrorBusy) {
...@@ -112,12 +113,12 @@ cnrtMemTransDir_t toBangMemcpyKind(infinirtMemcpyKind_t kind) { ...@@ -112,12 +113,12 @@ cnrtMemTransDir_t toBangMemcpyKind(infinirtMemcpyKind_t kind) {
} }
infiniStatus_t memcpy(void *dst, const void *src, size_t size, infinirtMemcpyKind_t kind) { infiniStatus_t memcpy(void *dst, const void *src, size_t size, infinirtMemcpyKind_t kind) {
CHECK_BANGRT(cnrtMemcpy(dst, src, size, toBangMemcpyKind(kind))); CHECK_BANGRT(cnrtMemcpy(dst, (void *)src, size, toBangMemcpyKind(kind)));
return INFINI_STATUS_SUCCESS; return INFINI_STATUS_SUCCESS;
} }
infiniStatus_t memcpyAsync(void *dst, const void *src, size_t size, infinirtMemcpyKind_t kind, infinirtStream_t stream) { infiniStatus_t memcpyAsync(void *dst, const void *src, size_t size, infinirtMemcpyKind_t kind, infinirtStream_t stream) {
CHECK_BANGRT(cnrtMemcpyAsync_V2(dst, src, size, (cnrtQueue_t)stream, toBangMemcpyKind(kind))); CHECK_BANGRT(cnrtMemcpyAsync_V2(dst, (void *)src, size, (cnrtQueue_t)stream, toBangMemcpyKind(kind)));
return INFINI_STATUS_SUCCESS; return INFINI_STATUS_SUCCESS;
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
#include "../infinirt_impl.h" #include "../infinirt_impl.h"
namespace infinirt::bang { namespace infinirt::bang {
#ifdef ENABLE_BANG_API #ifdef ENABLE_CAMBRICON_API
INFINIRT_DEVICE_API_IMPL INFINIRT_DEVICE_API_IMPL
#else #else
INFINIRT_DEVICE_API_NOOP INFINIRT_DEVICE_API_NOOP
......
...@@ -162,6 +162,9 @@ target("infinirt") ...@@ -162,6 +162,9 @@ target("infinirt")
if has_config("nv-gpu") then if has_config("nv-gpu") then
add_deps("infinirt-cuda") add_deps("infinirt-cuda")
end end
if has_config("cambricon-mlu") then
add_deps("infinirt-cambricon")
end
if has_config("ascend-npu") then if has_config("ascend-npu") then
add_deps("infinirt-ascend") add_deps("infinirt-ascend")
end end
......
...@@ -50,3 +50,13 @@ target("infiniop-cambricon") ...@@ -50,3 +50,13 @@ target("infiniop-cambricon")
add_files(mlu_files, {rule = "mlu"}) add_files(mlu_files, {rule = "mlu"})
end end
target_end() target_end()
target("infinirt-cambricon")
set_kind("static")
add_deps("infini-utils")
set_languages("cxx17")
on_install(function (target) end)
-- Add include dirs
add_files("../src/infinirt/bang/*.cc")
add_cxflags("-lstdc++ -Wall -Werror -fPIC")
target_end()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment