@@ -131,7 +131,7 @@ Status AiCoreOpTask::RegisterKernelHandle(const OpDesc &op_desc) { | |||||
} | } | ||||
void *bin_handle = nullptr; | void *bin_handle = nullptr; | ||||
GELOGD("Start to register kernel for node[%s].", op_desc.GetName().c_str()); | |||||
GELOGD("Start to register kernel for node: [%s].", op_desc.GetName().c_str()); | |||||
rtDevBinary_t binary; | rtDevBinary_t binary; | ||||
std::string json_string; | std::string json_string; | ||||
GE_IF_BOOL_EXEC(AttrUtils::GetStr(&op_desc, TVM_ATTR_NAME_MAGIC, json_string), | GE_IF_BOOL_EXEC(AttrUtils::GetStr(&op_desc, TVM_ATTR_NAME_MAGIC, json_string), | ||||
@@ -149,7 +149,7 @@ Status AiCoreOpTask::RegisterKernelHandle(const OpDesc &op_desc) { | |||||
binary.version = 0; | binary.version = 0; | ||||
binary.data = tbe_kernel->GetBinData(); | binary.data = tbe_kernel->GetBinData(); | ||||
binary.length = tbe_kernel->GetBinDataSize(); | binary.length = tbe_kernel->GetBinDataSize(); | ||||
GELOGI("TBE: binary.length: %lu.", binary.length); | |||||
GELOGI("TBE: binary.length: %lu", binary.length); | |||||
GE_CHK_RT_RET(rtRegisterAllKernel(&binary, &bin_handle)); | GE_CHK_RT_RET(rtRegisterAllKernel(&binary, &bin_handle)); | ||||
handle_ = bin_handle; | handle_ = bin_handle; | ||||
auto holder = std::unique_ptr<TbeHandleHolder>(new (std::nothrow) TbeHandleHolder(handle_)); | auto holder = std::unique_ptr<TbeHandleHolder>(new (std::nothrow) TbeHandleHolder(handle_)); | ||||
@@ -760,6 +760,10 @@ set(GENERATOR_TEST_FILES | |||||
"generator/ge_generator_unittest.cc" | "generator/ge_generator_unittest.cc" | ||||
) | ) | ||||
set(EXECUTOR_TEST_FILES | |||||
"exeutor/ge_exeutor_unittest.cc" | |||||
) | |||||
set(SINGLE_OP_TEST_FILES | set(SINGLE_OP_TEST_FILES | ||||
"single_op/single_op_model_unittest.cc" | "single_op/single_op_model_unittest.cc" | ||||
"single_op/single_op_manager_unittest.cc" | "single_op/single_op_manager_unittest.cc" | ||||
@@ -1066,6 +1070,7 @@ target_link_libraries(ut_libge_kernel_utest | |||||
add_executable(ut_libge_distinct_load_utest | add_executable(ut_libge_distinct_load_utest | ||||
${COMMON_TEST_FILES} | ${COMMON_TEST_FILES} | ||||
${GENERATOR_TEST_FILES} | ${GENERATOR_TEST_FILES} | ||||
${EXECUTOR_TEST_FILES} | |||||
${DISTINCT_GRAPH_LOAD_TEST_FILES} | ${DISTINCT_GRAPH_LOAD_TEST_FILES} | ||||
${DISTINCT_GRAPH_LOAD_SRC_FILES} | ${DISTINCT_GRAPH_LOAD_SRC_FILES} | ||||
${SINGLE_OP_TEST_FILES} | ${SINGLE_OP_TEST_FILES} | ||||
@@ -0,0 +1,43 @@ | |||||
/** | |||||
* Copyright 2019-2020 Huawei Technologies Co., Ltd | |||||
* | |||||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||||
* you may not use this file except in compliance with the License. | |||||
* You may obtain a copy of the License at | |||||
* | |||||
* http://www.apache.org/licenses/LICENSE-2.0 | |||||
* | |||||
* Unless required by applicable law or agreed to in writing, software | |||||
* distributed under the License is distributed on an "AS IS" BASIS, | |||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
* See the License for the specific language governing permissions and | |||||
* limitations under the License. | |||||
*/ | |||||
#include <gtest/gtest.h> | |||||
#define private public | |||||
#define protected public | |||||
#include "generator/ge_executor.h" | |||||
#include "graph/utils/tensor_utils.h" | |||||
using namespace std; | |||||
namespace ge { | |||||
class UtestGeExecutor : public testing::Test { | |||||
protected: | |||||
void SetUp() {} | |||||
void TearDown() {} | |||||
}; | |||||
TEST_F(UtestGeExecutor, test_single_op_exec) { | |||||
GeExecutor exeutor; | |||||
ModelData model_data; | |||||
string model_name = "1234"; | |||||
void *stream = nullptr; | |||||
SingleOp *single_op = nullptr; | |||||
exeutor.LoadSingleOp(model_name, model_data, stream, single_op); | |||||
} | |||||
} // namespace ge |
@@ -98,4 +98,16 @@ TEST_F(UtestGeHybrid, aicore_op_task_init_success) { | |||||
aicore_task->handle_ = handle; | aicore_task->handle_ = handle; | ||||
aicore_task->tiling_key_ = 1; | aicore_task->tiling_key_ = 1; | ||||
ASSERT_EQ(aicore_task->LaunchKernel(stream), SUCCESS); | ASSERT_EQ(aicore_task->LaunchKernel(stream), SUCCESS); | ||||
} | |||||
TEST_F(UtestGeHybrid, task_update_tiling_info) { | |||||
auto aicore_task = std::unique_ptr<hybrid::AiCoreOpTask>(new(std::nothrow)hybrid::AiCoreOpTask()); | |||||
aicore_task->is_single_op_ = true; | |||||
auto graph = make_shared<ComputeGraph>("graph"); | |||||
OpDescPtr op_desc = CreateOpDesc("Add", "Add"); | |||||
ge::AttrUtils::SetStr(op_desc, "compile_info_key", "key"); | |||||
ge::AttrUtils::SetStr(op_desc, "compile_info_json", "json"); | |||||
auto node = graph->AddNode(op_desc); | |||||
optiling::OpRunInfo tiling_info; | |||||
ASSERT_EQ(aicore_task->CalcTilingInfo(node, tiling_info), SUCCESS) | |||||
} | } |