|
|
@@ -0,0 +1,71 @@ |
|
|
|
/** |
|
|
|
* 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 "graph/load/model_manager/davinci_model.h" |
|
|
|
|
|
|
|
#include "graph/load/model_manager/task_info/profiler_trace_task_info" |
|
|
|
#include "cce/aicpu_engine_struct.h" |
|
|
|
#include "tests/depends/runtime/src/runtime_stub.h" |
|
|
|
|
|
|
|
namespace ge { |
|
|
|
extern OpDescPtr CreateOpDesc(string name, string type); |
|
|
|
|
|
|
|
class UtestProfTraceTaskInfo : public testing::Test { |
|
|
|
protected: |
|
|
|
void SetUp() { |
|
|
|
RTS_STUB_SETUP(); |
|
|
|
} |
|
|
|
|
|
|
|
void TearDown() { |
|
|
|
RTS_STUB_TEARDOWN(); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
// test KernelTaskInfo Init. |
|
|
|
TEST_F(UtestKernelTaskInfo, success_kernel_taskInfo_not_te) { |
|
|
|
DavinciModel model(0, nullptr); |
|
|
|
domi::ModelTaskDef model_task_def; |
|
|
|
domi::TaskDef *task = model_task_def.add_task(); |
|
|
|
task->set_type(RT_MODEL_TASK_KERNEL); |
|
|
|
TaskInfoPtr task_info = TaskInfoFactory::Instance().Create(static_cast<rtModelTaskType_t>(task->type())); |
|
|
|
|
|
|
|
task->stream_id_ = 0; |
|
|
|
rtStream_t stream = nullptr; |
|
|
|
rtStreamCreate(&stream, 0); |
|
|
|
model.stream_list_ = { stream }; |
|
|
|
|
|
|
|
domi::KernelDef *kernel_def = task->mutable_kernel(); |
|
|
|
domi::KernelContext *ctx = kernel_def->mutable_context(); |
|
|
|
model.op_list_[0] = CreateOpDesc("relu", RELU); |
|
|
|
ctx->set_op_index(0); |
|
|
|
|
|
|
|
EXPECT_EQ(task_info->Init(*task, &model), FAILED); |
|
|
|
|
|
|
|
kernel_def->set_block_dim(10); |
|
|
|
kernel_def->set_args("args111111", 10); |
|
|
|
kernel_def->set_args_size(10); |
|
|
|
|
|
|
|
ctx->set_kernel_type(0); |
|
|
|
EXPECT_EQ(task_info->Init(*task, &model), INTERNAL_ERROR); |
|
|
|
|
|
|
|
task_info->Release(); |
|
|
|
} |
|
|
|
} // namespace ge |