This commit is contained in:
luoliang
2022-10-10 20:30:17 +08:00
parent afe9141dab
commit e47e5f027b
7 changed files with 115 additions and 81 deletions

View File

@@ -13,17 +13,19 @@ void PERF_TEST::Test_Abs(aclCxt *acl_context) {
int cycle_index = 10;
double begin, end, time, acltime;
Common_Test test;
constexpr int base = 2;
constexpr int s_val_2 = -2, s_val_4 = -4, s_val_6 = -6;
constexpr int start_val = 8;
constexpr int min_format_flag = 128;
vector<int> type{CV_32FC1, CV_32SC1};
for (size_t i = 0; i < type.size(); ++i) {
test.PrintLog("Perf test : Function: Abs()", type[i]);
for (val = start_val; val <= valmax; val *= 2) {
for (val = start_val; val <= valmax; val *= base) {
n = cycle_index;
Mat mat_src(val, val, type[i], Scalar{-2});
Mat mat_dest(val, val, type[i], Scalar{-4});
Mat mat_dest1(val, val, type[i], Scalar{-6});
Mat mat_src(val, val, type[i], Scalar{s_val_2});
Mat mat_dest(val, val, type[i], Scalar{s_val_4});
Mat mat_dest1(val, val, type[i], Scalar{s_val_6});
aclMat aclmat_src(val, val, type[i], mat_src.data, acl_context);
aclMat aclmat_dest(val, val, type[i], mat_dest.data, acl_context);
@@ -61,20 +63,22 @@ void PERF_TEST::Test_Pow(aclCxt *acl_context) {
int cycle_index = 10;
double begin, end, time, acltime;
Common_Test test;
constexpr int base = 2;
constexpr int start_val = 8;
constexpr int rand_data_range = 32;
constexpr int min_format_flag = 128;
vector<int> type{CV_8UC1, CV_32FC1, CV_32SC1};
for (size_t i = 0; i < type.size(); ++i) {
test.PrintLog("Perf test : Function: Pow()", type[i]);
for (val = start_val; val <= valmax; val *= 2) {
for (val = start_val; val <= valmax; val *= base) {
n = cycle_index;
int power = test.RandDom_(6);
Mat mat_src(val, val, type[i]);
Mat mat_dest(val, val, type[i]);
Mat mat_dest1(val, val, type[i]);
test.SetDataRange(mat_src, 32);
test.SetDataRange(mat_src, rand_data_range);
aclMat aclmat_src(val, val, type[i], mat_src.data, acl_context);
aclMat aclmat_dest(val, val, type[i], mat_dest.data, acl_context);
@@ -110,19 +114,21 @@ void PERF_TEST::Test_Sqrt(aclCxt *acl_context) {
int cycle_index = 10;
double begin, end, time, acltime;
Common_Test test;
constexpr int base = 2;
constexpr int start_val = 8;
constexpr int min_format_flag = 128;
constexpr int rand_data_range = 32;
vector<int> type{CV_32FC1, CV_64FC1};
for (size_t i = 0; i < type.size(); ++i) {
for (val = start_val; val <= valmax; val *= 2) {
for (val = start_val; val <= valmax; val *= base) {
n = cycle_index;
Mat mat_src(val, val, type[i]);
Mat mat_dest(val, val, type[i]);
Mat mat_dest1(val, val, type[i]);
test.SetDataRange(mat_src, 32);
test.SetDataRange(mat_dest, 32);
test.SetDataRange(mat_src, rand_data_range);
test.SetDataRange(mat_dest, rand_data_range);
aclMat aclmat_src(val, val, type[i], mat_src.data, acl_context);
aclMat aclmat_dest(val, val, type[i], mat_dest.data, acl_context);
@@ -158,21 +164,23 @@ void PERF_TEST::Test_Add(aclCxt *acl_context) {
int cycle_index = 10;
double begin, end, time, acltime;
Common_Test test;
constexpr int base = 2;
constexpr int start_val = 8;
constexpr int min_format_flag = 128;
constexpr int rand_data_range = 32;
vector<int> type{CV_8UC1, CV_32FC1, CV_32SC1, CV_64FC1};
for (size_t i = 0; i < type.size(); ++i) {
for (val = start_val; val <= valmax; val *= 2) {
for (val = start_val; val <= valmax; val *= base) {
n = cycle_index;
Mat mat_src1(val, val, type[i]);
Mat mat_src2(val, val, type[i]);
Mat mat_dest(val, val, type[i]);
Mat mat_dest1(val, val, type[i]);
test.SetDataRange(mat_src1, 32);
test.SetDataRange(mat_src2, 32);
test.SetDataRange(mat_dest, 32);
test.SetDataRange(mat_src1, rand_data_range);
test.SetDataRange(mat_src2, rand_data_range);
test.SetDataRange(mat_dest, rand_data_range);
aclMat aclmat_src1(val, val, type[i], mat_src1.data, acl_context);
aclMat aclmat_src2(val, val, type[i], mat_src2.data, acl_context);
@@ -211,21 +219,24 @@ void PERF_TEST::Test_Divide(aclCxt *acl_context) {
int cycle_index = 10;
double begin, end, time, acltime;
Common_Test test;
constexpr int base = 2;
constexpr int start_val = 8;
constexpr int min_format_flag = 128;
constexpr int rand_data_range1 = 32;
constexpr int rand_data_range2 = 4;
vector<int> type{CV_8UC1, CV_32FC1, CV_32SC1};
for (size_t i = 0; i < type.size(); ++i) {
for (val = start_val; val <= valmax; val *= 2) {
for (val = start_val; val <= valmax; val *= base) {
n = cycle_index;
Mat mat_src1(val, val, type[i]);
Mat mat_src2(val, val, type[i]);
Mat mat_dest(val, val, type[i]);
Mat mat_dest1(val, val, type[i]);
test.SetDataRange(mat_src1, 32);
test.SetDataRange(mat_src2, 4);
test.SetDataRange(mat_dest, 32);
test.SetDataRange(mat_src1, rand_data_range1);
test.SetDataRange(mat_src2, rand_data_range2);
test.SetDataRange(mat_dest, rand_data_range1);
aclMat aclmat_src1(val, val, type[i], mat_src1.data, acl_context);
aclMat aclmat_src2(val, val, type[i], mat_src2.data, acl_context);
@@ -262,19 +273,22 @@ void PERF_TEST::Test_Exp(aclCxt *acl_context) {
int cycle_index = 10;
double begin, end, time, acltime;
Common_Test test;
constexpr int base = 2;
constexpr int start_val = 8;
constexpr int min_format_flag = 128;
constexpr int rand_data_range1 = 32;
constexpr int rand_data_range2 = 2;
vector<int> type{CV_32FC1, CV_64FC1};
for (size_t i = 0; i < type.size(); ++i) {
for (val = start_val; val <= valmax; val *= 2) {
for (val = start_val; val <= valmax; val *= base) {
n = cycle_index;
Mat mat_src(val, val, type[i]);
Mat mat_dest(val, val, type[i]);
Mat mat_dest1(val, val, type[i]);
test.SetDataRange(mat_src, 32);
test.SetDataRange(mat_dest, 2);
test.SetDataRange(mat_src, rand_data_range1);
test.SetDataRange(mat_dest, rand_data_range2);
aclMat aclmat_src(val, val, type[i], mat_src.data, acl_context);
aclMat aclmat_dest(val, val, type[i], mat_dest.data, acl_context);
@@ -310,19 +324,21 @@ void PERF_TEST::Test_Log(aclCxt *acl_context) {
int cycle_index = 10;
double begin, end, time, acltime;
Common_Test test;
constexpr int base = 2;
constexpr int start_val = 8;
constexpr int min_format_flag = 128;
constexpr int rand_data_range = 32;
vector<int> type{CV_32FC1, CV_64FC1};
for (size_t i = 0; i < type.size(); ++i) {
for (val = start_val; val <= valmax; val *= 2) {
for (val = start_val; val <= valmax; val *= base) {
n = cycle_index;
Mat mat_src(val, val, type[i]);
Mat mat_dest(val, val, type[i]);
Mat mat_dest1(val, val, type[i]);
test.SetDataRange(mat_src, 32);
test.SetDataRange(mat_dest, 32);
test.SetDataRange(mat_src, rand_data_range);
test.SetDataRange(mat_dest, rand_data_range);
aclMat aclmat_src(val, val, type[i], mat_src.data, acl_context);
aclMat aclmat_dest(val, val, type[i], mat_dest.data, acl_context);
@@ -358,21 +374,23 @@ void PERF_TEST::Test_Max(aclCxt *acl_context) {
int cycle_index = 10;
double begin, end, time, acltime;
Common_Test test;
constexpr int base = 2;
constexpr int start_val = 8;
constexpr int min_format_flag = 128;
constexpr int rand_data_range = 32;
vector<int> type{CV_32FC2, CV_32SC2, CV_64FC2};
for (size_t i = 0; i < type.size(); ++i) {
for (val = start_val; val <= valmax; val *= 2) {
for (val = start_val; val <= valmax; val *= base) {
n = cycle_index;
Mat mat_src1(val, val, type[i]);
Mat mat_src2(val, val, type[i]);
Mat mat_dest(val, val, type[i]);
Mat mat_dest1(val, val, type[i]);
test.SetDataRange(mat_src1, 32);
test.SetDataRange(mat_src2, 32);
test.SetDataRange(mat_dest, 32);
test.SetDataRange(mat_src1, rand_data_range);
test.SetDataRange(mat_src2, rand_data_range);
test.SetDataRange(mat_dest, rand_data_range);
aclMat aclmat_src1(val, val, type[i], mat_src2.data, acl_context);
aclMat aclmat_src2(val, val, type[i], mat_src1.data, acl_context);
@@ -411,21 +429,23 @@ void PERF_TEST::Test_Min(aclCxt *acl_context) {
int cycle_index = 10;
double begin, end, time, acltime;
Common_Test test;
constexpr int base = 2;
constexpr int start_val = 8;
constexpr int min_format_flag = 128;
constexpr int rand_data_range = 32;
vector<int> type{CV_32FC3, CV_32SC3, CV_64FC3};
for (size_t i = 0; i < type.size(); ++i) {
for (val = start_val; val <= valmax; val *= 2) {
for (val = start_val; val <= valmax; val *= base) {
n = cycle_index;
Mat mat_src1(val, val, type[i]);
Mat mat_src2(val, val, type[i]);
Mat mat_dest(val, val, type[i]);
Mat mat_dest1(val, val, type[i]);
test.SetDataRange(mat_src1, 32);
test.SetDataRange(mat_src2, 32);
test.SetDataRange(mat_dest, 32);
test.SetDataRange(mat_src1, rand_data_range);
test.SetDataRange(mat_src2, rand_data_range);
test.SetDataRange(mat_dest, rand_data_range);
aclMat aclmat_src1(val, val, type[i], mat_src2.data, acl_context);
aclMat aclmat_src2(val, val, type[i], mat_src1.data, acl_context);