Browse Source

enable arm82 fp16sa pack8 test

tags/20200916
nihuini 5 years ago
parent
commit
df5a7f32d4
1 changed files with 40 additions and 4 deletions
  1. +40
    -4
      tests/testutil.h

+ 40
- 4
tests/testutil.h View File

@@ -299,11 +299,29 @@ int test_layer_cpu(int typeindex, const ncnn::ParamDict& pd, const std::vector<n
{
for (size_t i = 0; i < a.size(); i++)
{
// resolve dst_elempack
int dims = a[i].dims;
int elemcount = 0;
if (dims == 1) elemcount = a[i].elempack * a[i].w;
if (dims == 2) elemcount = a[i].elempack * a[i].h;
if (dims == 3) elemcount = a[i].elempack * a[i].c;

int dst_elempack = 1;

#if NCNN_AVX2
ncnn::convert_packing(a[i], a4[i], 8, opt);
if (elemcount % 8 == 0)
dst_elempack = 8;
#elif NCNN_ARM82
if (elemcount % 8 == 0 && opt.use_fp16_arithmetic)
dst_elempack = 8;
else if (elemcount % 4 == 0)
dst_elempack = 4;
#else
ncnn::convert_packing(a[i], a4[i], 4, opt);
if (elemcount % 4 == 0)
dst_elempack = 4;
#endif

ncnn::convert_packing(a[i], a4[i], dst_elempack, opt);
}
}
else
@@ -696,11 +714,29 @@ int test_layer_cpu(int typeindex, const ncnn::ParamDict& pd, const std::vector<n
ncnn::Mat a4;
if (opt.use_packing_layout)
{
// resolve dst_elempack
int dims = a.dims;
int elemcount = 0;
if (dims == 1) elemcount = a.elempack * a.w;
if (dims == 2) elemcount = a.elempack * a.h;
if (dims == 3) elemcount = a.elempack * a.c;

int dst_elempack = 1;

#if NCNN_AVX2
ncnn::convert_packing(a, a4, 8, opt);
if (elemcount % 8 == 0)
dst_elempack = 8;
#elif NCNN_ARM82
if (elemcount % 8 == 0 && opt.use_fp16_arithmetic)
dst_elempack = 8;
else if (elemcount % 4 == 0)
dst_elempack = 4;
#else
ncnn::convert_packing(a, a4, 4, opt);
if (elemcount % 4 == 0)
dst_elempack = 4;
#endif

ncnn::convert_packing(a, a4, dst_elempack, opt);
}
else
{


Loading…
Cancel
Save