mirror of
https://github.com/Tencent/ncnn.git
synced 2026-10-29 12:39:40 +08:00
enable arm82 fp16sa pack8 test
This commit is contained in:
+40
-4
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user