Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Xts Acts
提交
9851c0c6
X
Xts Acts
项目概览
OpenHarmony
/
Xts Acts
1 年多 前同步成功
通知
9
Star
22
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
X
Xts Acts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
9851c0c6
编写于
1月 07, 2023
作者:
O
openharmony_ci
提交者:
Gitee
1月 07, 2023
浏览文件
操作
浏览文件
下载
差异文件
!7126 AI子系统稳定性用例修改
Merge pull request !7126 from 汤石华/master
上级
cc7e3165
8fbb8d63
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
4 addition
and
42 deletion
+4
-42
ai/neural_network_runtime/stability/src/MultiThreadTest.cpp
ai/neural_network_runtime/stability/src/MultiThreadTest.cpp
+4
-42
未找到文件。
ai/neural_network_runtime/stability/src/MultiThreadTest.cpp
浏览文件 @
9851c0c6
...
...
@@ -41,20 +41,10 @@ protected:
OHNNGraphArgs
graphArgs
=
addModel
.
graphArgs
;
};
void
CompileModel
(
OH_NNCompilation
*
compilation
,
const
OHNNCompileParam
&
compileParam
)
{
ASSERT_EQ
(
OH_NN_SUCCESS
,
CompileGraphMock
(
compilation
,
compileParam
));
}
void
ExecuteModel
(
OH_NNExecutor
*
executor
,
const
OHNNGraphArgs
&
graphArgs
)
{
ASSERT_EQ
(
OH_NN_SUCCESS
,
ExecuteGraphMock
(
executor
,
graphArgs
,
nullptr
));
}
/**
* @tc.number : SUB_AI_NNR_Reliability_North_Stress_0100
* @tc.name : 模型编译
多线程
并发长稳测试
* @tc.name : 模型编译并发长稳测试
* @tc.desc : [C- SOFTWARE -0200]
*/
HWTEST_F
(
MultiThreadTest
,
SUB_AI_NNR_Reliability_North_Stress_0100
,
Reliability
|
MediumTest
|
Level2
)
...
...
@@ -64,21 +54,11 @@ HWTEST_F(MultiThreadTest, SUB_AI_NNR_Reliability_North_Stress_0100, Reliability
ASSERT_NE
(
nullptr
,
model1
);
ASSERT_EQ
(
OH_NN_SUCCESS
,
BuildSingleOpGraph
(
model1
,
graphArgs
));
OH_NNModel
*
model2
=
OH_NNModel_Construct
();
ASSERT_NE
(
nullptr
,
model2
);
ASSERT_EQ
(
OH_NN_SUCCESS
,
BuildSingleOpGraph
(
model2
,
graphArgs
));
OH_NNCompilation
*
compilation1
=
OH_NNCompilation_Construct
(
model1
);
ASSERT_NE
(
nullptr
,
compilation1
);
OH_NNCompilation
*
compilation2
=
OH_NNCompilation_Construct
(
model2
);
ASSERT_NE
(
nullptr
,
compilation2
);
ASSERT_EQ
(
OH_NN_SUCCESS
,
CompileGraphMock
(
compilation1
,
compileParam
));
std
::
thread
th1
(
CompileModel
,
compilation1
,
compileParam
);
std
::
thread
th2
(
CompileModel
,
compilation2
,
compileParam
);
th1
.
join
();
th2
.
join
();
Free
(
model1
,
compilation1
);
Free
(
model2
,
compilation2
);
if
(
i
%
PRINT_FREQ
==
0
)
{
printf
(
"[NnrtTest] SUB_AI_NNR_Reliability_North_Stress_0100 times: %d/%d
\n
"
,
i
,
STRESS_COUNT
);
}
...
...
@@ -87,7 +67,7 @@ HWTEST_F(MultiThreadTest, SUB_AI_NNR_Reliability_North_Stress_0100, Reliability
/**
* @tc.number : SUB_AI_NNR_Reliability_North_Stress_0200
* @tc.name : 模型推理
多线程
并发长稳测试
* @tc.name : 模型推理并发长稳测试
* @tc.desc : [C- SOFTWARE -0200]
*/
HWTEST_F
(
MultiThreadTest
,
SUB_AI_NNR_Reliability_North_Stress_0200
,
Reliability
|
MediumTest
|
Level2
)
...
...
@@ -96,37 +76,19 @@ HWTEST_F(MultiThreadTest, SUB_AI_NNR_Reliability_North_Stress_0200, Reliability
ASSERT_NE
(
nullptr
,
model1
);
ASSERT_EQ
(
OH_NN_SUCCESS
,
BuildSingleOpGraph
(
model1
,
graphArgs
));
OH_NNModel
*
model2
=
OH_NNModel_Construct
();
ASSERT_NE
(
nullptr
,
model2
);
ASSERT_EQ
(
OH_NN_SUCCESS
,
BuildSingleOpGraph
(
model2
,
graphArgs
));
OH_NNCompilation
*
compilation1
=
OH_NNCompilation_Construct
(
model1
);
ASSERT_NE
(
nullptr
,
compilation1
);
ASSERT_EQ
(
OH_NN_SUCCESS
,
CompileGraphMock
(
compilation1
,
compileParam
));
OH_NNCompilation
*
compilation2
=
OH_NNCompilation_Construct
(
model2
);
ASSERT_NE
(
nullptr
,
compilation2
);
ASSERT_EQ
(
OH_NN_SUCCESS
,
CompileGraphMock
(
compilation2
,
compileParam
));
for
(
int
i
=
0
;
i
<
STRESS_COUNT
;
i
++
)
{
OH_NNExecutor
*
executor1
=
OH_NNExecutor_Construct
(
compilation1
);
ASSERT_NE
(
nullptr
,
executor1
);
OH_NNExecutor
*
executor2
=
OH_NNExecutor_Construct
(
compilation2
);
ASSERT_NE
(
nullptr
,
executor2
);
std
::
thread
th1
(
ExecuteModel
,
executor1
,
graphArgs
);
std
::
thread
th2
(
ExecuteModel
,
executor2
,
graphArgs
);
th1
.
join
();
th2
.
join
();
ASSERT_EQ
(
OH_NN_SUCCESS
,
ExecuteGraphMock
(
executor1
,
graphArgs
,
nullptr
));
OH_NNExecutor_Destroy
(
&
executor1
);
ASSERT_EQ
(
nullptr
,
executor1
);
OH_NNExecutor_Destroy
(
&
executor2
);
ASSERT_EQ
(
nullptr
,
executor2
);
if
(
i
%
PRINT_FREQ
==
0
)
{
printf
(
"[NnrtTest] SUB_AI_NNR_Reliability_North_Stress_0200 times: %d/%d
\n
"
,
i
,
STRESS_COUNT
);
}
}
Free
(
model1
,
compilation1
);
Free
(
model2
,
compilation2
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录