Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
O
opencv
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
submodule
opencv
Commits
f33cbe94
Commit
f33cbe94
authored
Aug 31, 2018
by
Alexander Alekhin
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #12142 from alalek:dnn_ocl_fix_convolution_perf_tests
parents
e13f6ded
c557193b
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
743 additions
and
272 deletions
+743
-272
perf_convolution.cpp
modules/dnn/perf/opencl/perf_convolution.cpp
+0
-107
perf_convolution.cpp
modules/dnn/perf/perf_convolution.cpp
+649
-67
perf_net.cpp
modules/dnn/perf/perf_net.cpp
+2
-21
perf_precomp.hpp
modules/dnn/perf/perf_precomp.hpp
+2
-0
test_backends.cpp
modules/dnn/test/test_backends.cpp
+1
-16
test_common.hpp
modules/dnn/test/test_common.hpp
+87
-0
test_halide_layers.cpp
modules/dnn/test/test_halide_layers.cpp
+2
-16
test_precomp.hpp
modules/dnn/test/test_precomp.hpp
+0
-45
No files found.
modules/dnn/perf/opencl/perf_convolution.cpp
deleted
100644 → 0
View file @
e13f6ded
#include "../perf_precomp.hpp"
#include "opencv2/ts/ocl_perf.hpp"
#include <opencv2/dnn/shape_utils.hpp>
#ifdef HAVE_OPENCL
namespace
opencv_test
{
namespace
ocl
{
using
namespace
::
perf
;
namespace
{
enum
{
STRIDE_OFF
=
1
,
STRIDE_ON
=
2
};
CV_ENUM
(
StrideSize
,
STRIDE_OFF
,
STRIDE_ON
);
enum
{
GROUP_OFF
=
1
,
GROUP_2
=
2
};
CV_ENUM
(
GroupSize
,
GROUP_OFF
,
GROUP_2
);
}
// namespace
//Squared Size
#define SSZ(n) cv::Size(n, n)
typedef
std
::
pair
<
MatShape
,
int
>
InpShapeNumOut
;
typedef
tuple
<
Size
,
InpShapeNumOut
,
GroupSize
,
StrideSize
>
ConvParam
;
//kernel_size, inp shape, groups, stride
typedef
TestBaseWithParam
<
ConvParam
>
ConvolutionPerfTest
;
static
inline
MatShape
blobShape
(
int
count
,
int
nplanes
,
int
height
,
int
width
)
{
int
data
[]
=
{
count
,
nplanes
,
height
,
width
};
return
MatShape
(
data
,
data
+
4
);
}
OCL_PERF_TEST_P
(
ConvolutionPerfTest
,
perf
,
Combine
(
Values
(
Size
(
1
,
1
),
Size
(
3
,
3
),
Size
(
5
,
5
),
Size
(
11
,
11
)),
Values
(
make_pair
(
blobShape
(
1
,
4
,
224
,
224
),
64
),
make_pair
(
blobShape
(
1
,
64
,
112
,
122
),
128
),
make_pair
(
blobShape
(
1
,
256
,
28
,
28
),
512
)),
GroupSize
::
all
(),
StrideSize
::
all
())
)
{
RNG
rng
(
0
);
ConvParam
params
=
GetParam
();
int
ksz
=
get
<
0
>
(
params
).
width
;
MatShape
inpShape
=
get
<
1
>
(
params
).
first
;
int
outCn
=
get
<
1
>
(
params
).
second
;
int
groups
=
get
<
2
>
(
params
);
int
stride
=
(
ksz
>=
11
)
?
4
:
(
int
)
get
<
3
>
(
params
);
int
inpCn
=
inpShape
[
1
];
int
wgtSize
[]
=
{
outCn
,
inpCn
/
groups
,
ksz
,
ksz
};
int
biasSize
[]
=
{
outCn
,
1
,
1
,
1
};
const
int
wtype
=
CV_32F
;
Mat
wgtBlob
(
4
,
wgtSize
,
wtype
),
biasBlob
(
4
,
biasSize
,
wtype
);
Mat
inpBlob
(
4
,
&
inpShape
[
0
],
wtype
);
rng
.
fill
(
biasBlob
,
RNG
::
UNIFORM
,
-
1
,
+
1
);
rng
.
fill
(
wgtBlob
,
RNG
::
UNIFORM
,
-
1
,
+
1
);
rng
.
fill
(
inpBlob
,
RNG
::
UNIFORM
,
-
1
,
+
1
);
LayerParams
lp
;
lp
.
set
(
"num_output"
,
outCn
);
lp
.
set
(
"group"
,
groups
);
lp
.
set
(
"stride"
,
stride
);
lp
.
set
(
"kernel_size"
,
ksz
);
lp
.
blobs
.
reserve
(
2
);
lp
.
blobs
.
push_back
(
wgtBlob
);
lp
.
blobs
.
push_back
(
biasBlob
);
std
::
vector
<
Mat
*>
inpBlobs
(
1
,
&
inpBlob
);
std
::
vector
<
Mat
>
outBlobs
,
internalBlobs
;
Ptr
<
Layer
>
layer
=
cv
::
dnn
::
LayerFactory
::
createLayerInstance
(
"Convolution"
,
lp
);
std
::
vector
<
MatShape
>
inputShapes
(
1
,
shape
(
inpBlob
)),
outShapes
,
internals
;
layer
->
getMemoryShapes
(
inputShapes
,
0
,
outShapes
,
internals
);
for
(
size_t
i
=
0
;
i
<
outShapes
.
size
();
i
++
)
{
outBlobs
.
push_back
(
Mat
(
outShapes
[
i
],
CV_32F
));
}
for
(
size_t
i
=
0
;
i
<
internals
.
size
();
i
++
)
{
internalBlobs
.
push_back
(
Mat
());
if
(
total
(
internals
[
i
]))
internalBlobs
.
back
().
create
(
internals
[
i
],
CV_32F
);
}
layer
->
finalize
(
inpBlobs
,
outBlobs
);
layer
->
preferableTarget
=
DNN_TARGET_OPENCL
;
Mat
inpBlob2D
=
inpBlob
.
reshape
(
1
,
outCn
);
Mat
wgtBlob2D
=
wgtBlob
.
reshape
(
1
,
outCn
*
(
inpCn
/
groups
));
Mat
outBlob2D
=
outBlobs
[
0
].
reshape
(
1
,
outBlobs
[
0
].
size
[
0
]);
declare
.
in
(
inpBlob2D
,
wgtBlob2D
,
WARMUP_RNG
).
out
(
outBlob2D
);
// warmup
layer
->
forward
(
inpBlobs
,
outBlobs
,
internalBlobs
);
TEST_CYCLE
()
{
layer
->
forward
(
inpBlobs
,
outBlobs
,
internalBlobs
);
}
SANITY_CHECK_NOTHING
();
}
}
}
#endif
modules/dnn/perf/perf_convolution.cpp
View file @
f33cbe94
// This file is part of OpenCV project.
// It is subject to the license terms in the LICENSE file found in the top-level directory
// of this distribution and at http://opencv.org/license.html.
#include "perf_precomp.hpp"
#include <opencv2/dnn/shape_utils.hpp>
namespace
opencv_test
{
enum
{
STRIDE_OFF
=
1
,
STRIDE_ON
=
2
};
CV_ENUM
(
StrideSize
,
STRIDE_OFF
,
STRIDE_ON
);
// Flops_Kernel_Input_OutCN_Group_Stride_Pad_Dilation_PadAdjust_PadMode_Bias
struct
TestSize_
{
int
width
,
height
;
operator
Size
()
const
{
return
Size
(
width
,
height
);
}
};
struct
ConvParam_t
{
struct
TestSize_
kernel
;
struct
BlobShape
{
int
dims
[
4
];
}
shapeIn
;
int
outCN
;
int
groups
;
struct
TestSize_
stride
;
struct
TestSize_
dilation
;
struct
TestSize_
pad
;
struct
TestSize_
padAdjust
;
const
char
*
padMode
;
bool
hasBias
;
double
declared_flops
;
};
// Details: #12142
static
const
ConvParam_t
testConvolutionConfigs
[]
=
{
/* GFLOPS 10.087 x 1 = 10.087 */
{{
3
,
3
},
{{
1
,
576
,
38
,
50
}},
512
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
10086963200.
},
/* GFLOPS 1.704 x 5 = 8.518 */
{{
3
,
3
},
{{
1
,
512
,
19
,
19
}},
512
,
512
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
1703596544.
},
/* GFLOPS 1.704 x 5 = 8.518 */
{{
3
,
3
},
{{
1
,
512
,
19
,
19
}},
512
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
1703596544.
},
/* GFLOPS 6.641 x 1 = 6.641 */
{{
3
,
3
},
{{
1
,
64
,
150
,
200
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
6641280000.
},
/* GFLOPS 1.659 x 3 = 4.977 */
{{
3
,
3
},
{{
1
,
960
,
10
,
10
}},
960
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
1658976000.
},
/* GFLOPS 2.156 x 2 = 4.312 */
{{
3
,
3
},
{{
1
,
576
,
19
,
19
}},
576
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
2156088384.
},
/* GFLOPS 0.958 x 4 = 3.833 */
{{
3
,
3
},
{{
1
,
384
,
19
,
19
}},
384
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
958307712.
},
/* GFLOPS 0.830 x 4 = 3.321 */
{{
3
,
3
},
{{
1
,
64
,
75
,
100
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
830160000.
},
/* GFLOPS 1.245 x 2 = 2.490 */
{{
3
,
3
},
{{
1
,
96
,
75
,
100
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
1244880000.
},
/* GFLOPS 2.100 x 1 = 2.100 */
{{
3
,
3
},
{{
1
,
144
,
75
,
75
}},
144
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
2100330000.
},
/* GFLOPS 1.022 x 2 = 2.044 */
{{
3
,
3
},
{{
1
,
576
,
19
,
19
}},
273
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
1021896057.
},
/* GFLOPS 0.958 x 2 = 1.917 */
{{
3
,
3
},
{{
1
,
192
,
38
,
38
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
958446336.
},
/* GFLOPS 1.888 x 1 = 1.888 */
{{
3
,
3
},
{{
1
,
1024
,
10
,
10
}},
1024
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
1887539200.
},
/* GFLOPS 1.888 x 1 = 1.888 */
{{
3
,
3
},
{{
1
,
1024
,
10
,
10
}},
1024
,
1024
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
1887539200.
},
/* GFLOPS 1.704 x 1 = 1.704 */
{{
3
,
3
},
{{
1
,
256
,
38
,
38
}},
256
,
256
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
1703781376.
},
/* GFLOPS 1.704 x 1 = 1.704 */
{{
3
,
3
},
{{
1
,
256
,
38
,
38
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
1703781376.
},
/* GFLOPS 1.660 x 1 = 1.660 */
{{
3
,
3
},
{{
1
,
128
,
75
,
75
}},
128
,
128
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
1659600000.
},
/* GFLOPS 1.660 x 1 = 1.660 */
{{
3
,
3
},
{{
1
,
128
,
75
,
75
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
1659600000.
},
/* GFLOPS 0.280 x 5 = 1.402 */
{{
1
,
1
},
{{
1
,
576
,
38
,
50
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
280409600.
},
/* GFLOPS 0.701 x 2 = 1.401 */
{{
3
,
3
},
{{
1
,
128
,
38
,
50
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
700720000.
},
/* GFLOPS 0.231 x 6 = 1.388 */
{{
3
,
3
},
{{
1
,
128
,
56
,
56
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
231311360.
},
/* GFLOPS 0.231 x 6 = 1.388 */
{{
3
,
3
},
{{
1
,
256
,
14
,
14
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
231261184.
},
/* GFLOPS 0.210 x 6 = 1.262 */
{{
1
,
1
},
{{
1
,
576
,
38
,
50
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
210307200.
},
/* GFLOPS 0.420 x 3 = 1.261 */
{{
3
,
3
},
{{
1
,
96
,
38
,
50
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
420492800.
},
/* GFLOPS 1.261 x 1 = 1.261 */
{{
3
,
3
},
{{
1
,
192
,
38
,
50
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
1261113600.
},
/* GFLOPS 1.258 x 1 = 1.258 */
{{
3
,
3
},
{{
1
,
1280
,
10
,
10
}},
546
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
1258038600.
},
/* GFLOPS 1.245 x 1 = 1.245 */
{{
3
,
3
},
{{
1
,
64
,
75
,
75
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
1245240000.
},
/* GFLOPS 0.561 x 2 = 1.121 */
{{
3
,
3
},
{{
1
,
128
,
38
,
50
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
560576000.
},
/* GFLOPS 1.051 x 1 = 1.051 */
{{
3
,
3
},
{{
1
,
160
,
38
,
50
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
1050988800.
},
/* GFLOPS 1.006 x 1 = 1.006 */
{{
3
,
3
},
{{
1
,
1024
,
10
,
10
}},
546
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
1006441800.
},
/* GFLOPS 0.246 x 4 = 0.985 */
{{
1
,
1
},
{{
1
,
256
,
75
,
100
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
246240000.
},
/* GFLOPS 0.189 x 5 = 0.947 */
{{
1
,
1
},
{{
1
,
512
,
19
,
19
}},
512
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
189452800.
},
/* GFLOPS 0.189 x 5 = 0.947 */
{{
1
,
1
},
{{
1
,
512
,
19
,
19
}},
512
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
189452800.
},
/* GFLOPS 0.934 x 1 = 0.934 */
{{
3
,
3
},
{{
1
,
96
,
150
,
150
}},
96
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
933660000.
},
/* GFLOPS 0.231 x 4 = 0.925 */
{{
3
,
3
},
{{
1
,
128
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
231311360.
},
/* GFLOPS 0.896 x 1 = 0.896 */
{{
5
,
5
},
{{
1
,
96
,
27
,
27
}},
256
,
2
,
{
1
,
1
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
895981824.
},
/* GFLOPS 0.876 x 1 = 0.876 */
{{
3
,
3
},
{{
1
,
160
,
38
,
50
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
875824000.
},
/* GFLOPS 0.850 x 1 = 0.850 */
{{
7
,
7
},
{{
1
,
3
,
600
,
800
}},
24
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
849600000.
},
/* GFLOPS 0.841 x 1 = 0.841 */
{{
3
,
3
},
{{
1
,
128
,
38
,
50
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
840864000.
},
/* GFLOPS 0.415 x 2 = 0.831 */
{{
3
,
3
},
{{
1
,
32
,
150
,
150
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
415440000.
},
/* GFLOPS 0.351 x 2 = 0.701 */
{{
1
,
1
},
{{
1
,
576
,
38
,
50
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
350512000.
},
/* GFLOPS 0.701 x 1 = 0.701 */
{{
3
,
3
},
{{
1
,
128
,
75
,
100
}},
160
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
700720000.
},
/* GFLOPS 0.694 x 1 = 0.694 */
{{
3
,
3
},
{{
1
,
64
,
56
,
56
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
694235136.
},
/* GFLOPS 0.694 x 1 = 0.694 */
{{
3
,
3
},
{{
1
,
64
,
56
,
56
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
694235136.
},
/* GFLOPS 0.231 x 3 = 0.694 */
{{
3
,
3
},
{{
1
,
64
,
56
,
56
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
231411712.
},
/* GFLOPS 0.058 x 12 = 0.694 */
{{
3
,
3
},
{{
1
,
128
,
28
,
28
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
57827840.
},
/* GFLOPS 0.231 x 3 = 0.694 */
{{
3
,
3
},
{{
1
,
512
,
7
,
7
}},
512
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
231236096.
},
/* GFLOPS 0.160 x 4 = 0.639 */
{{
3
,
3
},
{{
1
,
64
,
38
,
38
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
159833472.
},
/* GFLOPS 0.103 x 6 = 0.618 */
{{
1
,
1
},
{{
1
,
256
,
14
,
14
}},
1024
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
102961152.
},
/* GFLOPS 0.615 x 1 = 0.615 */
{{
1
,
1
},
{{
1
,
320
,
75
,
100
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
615360000.
},
/* GFLOPS 0.597 x 1 = 0.597 */
{{
3
,
3
},
{{
1
,
576
,
19
,
19
}},
576
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
597254400.
},
/* GFLOPS 0.185 x 3 = 0.554 */
{{
1
,
1
},
{{
1
,
192
,
75
,
100
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
184800000.
},
/* GFLOPS 0.553 x 1 = 0.553 */
{{
3
,
3
},
{{
1
,
64
,
75
,
100
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
553440000.
},
/* GFLOPS 0.539 x 1 = 0.539 */
{{
3
,
3
},
{{
1
,
144
,
75
,
75
}},
144
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
539178048.
},
/* GFLOPS 0.103 x 5 = 0.514 */
{{
1
,
1
},
{{
1
,
1024
,
14
,
14
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
102810624.
},
/* GFLOPS 0.491 x 1 = 0.491 */
{{
1
,
1
},
{{
1
,
576
,
38
,
50
}},
224
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
490716800.
},
/* GFLOPS 0.240 x 2 = 0.479 */
{{
3
,
3
},
{{
1
,
96
,
38
,
38
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
239680896.
},
/* GFLOPS 0.237 x 2 = 0.474 */
{{
7
,
7
},
{{
1
,
3
,
224
,
224
}},
64
,
1
,
{
2
,
2
},
{
1
,
1
},
{
3
,
3
},
{
0
,
0
},
""
,
true
,
236830720.
},
/* GFLOPS 0.472 x 1 = 0.472 */
{{
3
,
3
},
{{
1
,
512
,
19
,
19
}},
512
,
512
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
471910400.
},
/* GFLOPS 0.472 x 1 = 0.472 */
{{
3
,
3
},
{{
1
,
512
,
19
,
19
}},
512
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
471910400.
},
/* GFLOPS 0.449 x 1 = 0.449 */
{{
3
,
3
},
{{
1
,
384
,
13
,
13
}},
384
,
2
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
448626048.
},
/* GFLOPS 0.426 x 1 = 0.426 */
{{
3
,
3
},
{{
1
,
128
,
75
,
75
}},
128
,
128
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
426037760.
},
/* GFLOPS 0.426 x 1 = 0.426 */
{{
3
,
3
},
{{
1
,
128
,
75
,
75
}},
128
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
426037760.
},
/* GFLOPS 0.426 x 1 = 0.426 */
{{
3
,
3
},
{{
1
,
128
,
38
,
38
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
426037760.
},
/* GFLOPS 0.426 x 1 = 0.426 */
{{
3
,
3
},
{{
1
,
256
,
38
,
38
}},
256
,
256
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
425945344.
},
/* GFLOPS 0.426 x 1 = 0.426 */
{{
3
,
3
},
{{
1
,
256
,
38
,
38
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
425945344.
},
/* GFLOPS 0.426 x 1 = 0.426 */
{{
3
,
3
},
{{
1
,
256
,
19
,
19
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
425945344.
},
/* GFLOPS 0.421 x 1 = 0.421 */
{{
1
,
1
},
{{
1
,
576
,
38
,
50
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
420614400.
},
/* GFLOPS 0.415 x 1 = 0.415 */
{{
3
,
3
},
{{
1
,
32
,
150
,
150
}},
32
,
32
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
415440000.
},
/* GFLOPS 0.415 x 1 = 0.415 */
{{
3
,
3
},
{{
1
,
64
,
150
,
150
}},
64
,
64
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
415080000.
},
/* GFLOPS 0.415 x 1 = 0.415 */
{{
3
,
3
},
{{
1
,
64
,
150
,
150
}},
64
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
415080000.
},
/* GFLOPS 0.104 x 4 = 0.414 */
{{
1
,
1
},
{{
1
,
64
,
56
,
56
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
103563264.
},
/* GFLOPS 0.103 x 4 = 0.413 */
{{
1
,
1
},
{{
1
,
128
,
28
,
28
}},
512
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
103161856.
},
/* GFLOPS 0.376 x 1 = 0.376 */
{{
1
,
1
},
{{
1
,
24
,
300
,
400
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"VALID"
,
true
,
376320000.
},
/* GFLOPS 0.347 x 1 = 0.347 */
{{
3
,
3
},
{{
1
,
128
,
28
,
28
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
346967040.
},
/* GFLOPS 0.347 x 1 = 0.347 */
{{
3
,
3
},
{{
1
,
128
,
28
,
28
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
346967040.
},
/* GFLOPS 0.014 x 24 = 0.347 */
{{
3
,
3
},
{{
1
,
128
,
14
,
14
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
14456960.
},
/* GFLOPS 0.053 x 6 = 0.320 */
{{
1
,
1
},
{{
1
,
576
,
19
,
19
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
53277824.
},
/* GFLOPS 0.319 x 1 = 0.319 */
{{
3
,
3
},
{{
1
,
192
,
19
,
19
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
319482112.
},
/* GFLOPS 0.315 x 1 = 0.315 */
{{
3
,
3
},
{{
1
,
96
,
75
,
100
}},
96
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
315369600.
},
/* GFLOPS 0.103 x 3 = 0.309 */
{{
1
,
1
},
{{
1
,
512
,
7
,
7
}},
2048
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
102860800.
},
/* GFLOPS 0.103 x 3 = 0.309 */
{{
1
,
1
},
{{
1
,
512
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
102860800.
},
/* GFLOPS 0.308 x 1 = 0.308 */
{{
1
,
1
},
{{
1
,
320
,
75
,
100
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
307680000.
},
/* GFLOPS 0.299 x 1 = 0.299 */
{{
3
,
3
},
{{
1
,
256
,
13
,
13
}},
384
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
299105664.
},
/* GFLOPS 0.299 x 1 = 0.299 */
{{
3
,
3
},
{{
1
,
384
,
13
,
13
}},
256
,
2
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
299084032.
},
/* GFLOPS 0.017 x 17 = 0.290 */
{{
1
,
1
},
{{
1
,
32
,
32
,
64
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
17039360.
},
/* GFLOPS 0.017 x 16 = 0.269 */
{{
1
,
1
},
{{
1
,
128
,
32
,
64
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
16842752.
},
/* GFLOPS 0.133 x 2 = 0.266 */
{{
3
,
3
},
{{
1
,
128
,
19
,
19
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
133136800.
},
/* GFLOPS 0.038 x 7 = 0.265 */
{{
3
,
3
},
{{
1
,
16
,
64
,
128
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
37879808.
},
/* GFLOPS 0.126 x 2 = 0.252 */
{{
3
,
3
},
{{
1
,
512
,
5
,
5
}},
546
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
125812050.
},
/* GFLOPS 0.248 x 1 = 0.248 */
{{
1
,
1
},
{{
1
,
64
,
150
,
200
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
247680000.
},
/* GFLOPS 0.040 x 6 = 0.240 */
{{
1
,
1
},
{{
1
,
576
,
19
,
19
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
39958368.
},
/* GFLOPS 0.080 x 3 = 0.240 */
{{
3
,
3
},
{{
1
,
96
,
19
,
19
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
79893632.
},
/* GFLOPS 0.240 x 1 = 0.240 */
{{
3
,
3
},
{{
1
,
192
,
38
,
38
}},
192
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
239611584.
},
/* GFLOPS 0.240 x 1 = 0.240 */
{{
3
,
3
},
{{
1
,
192
,
19
,
19
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
239611584.
},
/* GFLOPS 0.237 x 1 = 0.237 */
{{
7
,
7
},
{{
1
,
3
,
224
,
224
}},
64
,
1
,
{
2
,
2
},
{
1
,
1
},
{
3
,
3
},
{
0
,
0
},
""
,
false
,
236830720.
},
/* GFLOPS 0.237 x 1 = 0.237 */
{{
7
,
7
},
{{
1
,
3
,
224
,
224
}},
64
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
236830720.
},
/* GFLOPS 0.111 x 2 = 0.221 */
{{
3
,
3
},
{{
1
,
192
,
10
,
10
}},
320
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
110624000.
},
/* GFLOPS 0.213 x 1 = 0.213 */
{{
3
,
3
},
{{
1
,
128
,
38
,
38
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
213018880.
},
/* GFLOPS 0.213 x 1 = 0.213 */
{{
3
,
3
},
{{
1
,
128
,
19
,
19
}},
256
,
1
,
{
1
,
1
},
{
2
,
2
},
{
2
,
2
},
{
0
,
0
},
""
,
false
,
213018880.
},
/* GFLOPS 0.107 x 2 = 0.213 */
{{
3
,
3
},
{{
1
,
128
,
19
,
19
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
106509440.
},
/* GFLOPS 0.213 x 1 = 0.213 */
{{
3
,
3
},
{{
1
,
256
,
19
,
19
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
212972672.
},
/* GFLOPS 0.212 x 1 = 0.212 */
{{
7
,
7
},
{{
1
,
3
,
300
,
300
}},
32
,
1
,
{
2
,
2
},
{
1
,
1
},
{
3
,
3
},
{
0
,
0
},
""
,
true
,
212400000.
},
/* GFLOPS 0.211 x 1 = 0.211 */
{{
11
,
11
},
{{
1
,
3
,
227
,
227
}},
96
,
1
,
{
4
,
4
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
211120800.
},
/* GFLOPS 0.210 x 1 = 0.210 */
{{
3
,
3
},
{{
1
,
64
,
38
,
50
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
210307200.
},
/* GFLOPS 0.210 x 1 = 0.210 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
1024
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
209817600.
},
/* GFLOPS 0.210 x 1 = 0.210 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
1024
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
209817600.
},
/* GFLOPS 0.104 x 2 = 0.208 */
{{
3
,
3
},
{{
1
,
32
,
75
,
75
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
103860000.
},
/* GFLOPS 0.206 x 1 = 0.206 */
{{
1
,
1
},
{{
1
,
256
,
56
,
56
}},
512
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
205922304.
},
/* GFLOPS 0.206 x 1 = 0.206 */
{{
1
,
1
},
{{
1
,
256
,
56
,
56
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
205922304.
},
/* GFLOPS 0.103 x 2 = 0.206 */
{{
1
,
1
},
{{
1
,
256
,
56
,
56
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
102961152.
},
/* GFLOPS 0.206 x 1 = 0.206 */
{{
1
,
1
},
{{
1
,
512
,
28
,
28
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
205721600.
},
/* GFLOPS 0.206 x 1 = 0.206 */
{{
1
,
1
},
{{
1
,
512
,
28
,
28
}},
1024
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
205721600.
},
/* GFLOPS 0.206 x 1 = 0.206 */
{{
1
,
1
},
{{
1
,
1024
,
14
,
14
}},
512
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
205621248.
},
/* GFLOPS 0.206 x 1 = 0.206 */
{{
1
,
1
},
{{
1
,
1024
,
14
,
14
}},
2048
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
205621248.
},
/* GFLOPS 0.103 x 2 = 0.206 */
{{
1
,
1
},
{{
1
,
2048
,
7
,
7
}},
512
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
102785536.
},
/* GFLOPS 0.201 x 1 = 0.201 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
1000
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
200900000.
},
/* GFLOPS 0.200 x 1 = 0.200 */
{{
3
,
3
},
{{
1
,
160
,
19
,
19
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
199687872.
},
/* GFLOPS 0.190 x 1 = 0.190 */
{{
1
,
1
},
{{
1
,
256
,
38
,
38
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
189637632.
},
/* GFLOPS 0.190 x 1 = 0.190 */
{{
1
,
1
},
{{
1
,
256
,
38
,
38
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
189637632.
},
/* GFLOPS 0.047 x 4 = 0.190 */
{{
1
,
1
},
{{
1
,
256
,
38
,
38
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
47409408.
},
/* GFLOPS 0.038 x 5 = 0.189 */
{{
3
,
3
},
{{
1
,
32
,
32
,
64
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
37814272.
},
/* GFLOPS 0.185 x 1 = 0.185 */
{{
1
,
1
},
{{
1
,
128
,
75
,
75
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
185040000.
},
/* GFLOPS 0.185 x 1 = 0.185 */
{{
1
,
1
},
{{
1
,
128
,
75
,
75
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
185040000.
},
/* GFLOPS 0.181 x 1 = 0.181 */
{{
3
,
3
},
{{
1
,
160
,
14
,
14
}},
320
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
180696320.
},
/* GFLOPS 0.181 x 1 = 0.181 */
{{
3
,
3
},
{{
1
,
160
,
14
,
14
}},
320
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
180696320.
},
/* GFLOPS 0.090 x 2 = 0.181 */
{{
3
,
3
},
{{
1
,
224
,
10
,
10
}},
224
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
90339200.
},
/* GFLOPS 0.180 x 1 = 0.180 */
{{
1
,
1
},
{{
1
,
224
,
56
,
56
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
180232192.
},
/* GFLOPS 0.174 x 1 = 0.174 */
{{
3
,
3
},
{{
1
,
96
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
173508608.
},
/* GFLOPS 0.174 x 1 = 0.174 */
{{
3
,
3
},
{{
1
,
96
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
173508608.
},
/* GFLOPS 0.166 x 1 = 0.166 */
{{
3
,
3
},
{{
1
,
160
,
19
,
19
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
166406560.
},
/* GFLOPS 0.080 x 2 = 0.160 */
{{
1
,
1
},
{{
1
,
576
,
19
,
19
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
79916736.
},
/* GFLOPS 0.160 x 1 = 0.160 */
{{
3
,
3
},
{{
1
,
128
,
19
,
19
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
159764160.
},
/* GFLOPS 0.159 x 1 = 0.159 */
{{
7
,
7
},
{{
1
,
3
,
300
,
300
}},
24
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
159300000.
},
/* GFLOPS 0.155 x 1 = 0.155 */
{{
1
,
1
},
{{
1
,
192
,
56
,
56
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
154542080.
},
/* GFLOPS 0.146 x 1 = 0.146 */
{{
3
,
3
},
{{
1
,
144
,
14
,
14
}},
288
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
146369664.
},
/* GFLOPS 0.146 x 1 = 0.146 */
{{
3
,
3
},
{{
1
,
144
,
14
,
14
}},
288
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
146369664.
},
/* GFLOPS 0.072 x 2 = 0.144 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
352
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
72124800.
},
/* GFLOPS 0.140 x 1 = 0.140 */
{{
1
,
1
},
{{
1
,
576
,
38
,
50
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
140204800.
},
/* GFLOPS 0.017 x 8 = 0.138 */
{{
1
,
1
},
{{
1
,
16
,
64
,
128
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
17301504.
},
/* GFLOPS 0.067 x 2 = 0.133 */
{{
1
,
1
},
{{
1
,
576
,
19
,
19
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
66597280.
},
/* GFLOPS 0.133 x 1 = 0.133 */
{{
3
,
3
},
{{
1
,
128
,
38
,
38
}},
160
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
133136800.
},
/* GFLOPS 0.129 x 1 = 0.129 */
{{
1
,
1
},
{{
1
,
160
,
56
,
56
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
128851968.
},
/* GFLOPS 0.128 x 1 = 0.128 */
{{
3
,
3
},
{{
1
,
64
,
24
,
24
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
127512576.
},
/* GFLOPS 0.120 x 1 = 0.120 */
{{
5
,
5
},
{{
1
,
32
,
28
,
28
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
120497664.
},
/* GFLOPS 0.120 x 1 = 0.120 */
{{
5
,
5
},
{{
1
,
32
,
28
,
28
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
120497664.
},
/* GFLOPS 0.040 x 3 = 0.120 */
{{
1
,
1
},
{{
1
,
96
,
19
,
19
}},
576
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
40131648.
},
/* GFLOPS 0.118 x 1 = 0.118 */
{{
1
,
1
},
{{
1
,
320
,
38
,
38
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
118477312.
},
/* GFLOPS 0.017 x 7 = 0.118 */
{{
1
,
1
},
{{
1
,
64
,
64
,
128
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
16908288.
},
/* GFLOPS 0.039 x 3 = 0.118 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
39340800.
},
/* GFLOPS 0.118 x 1 = 0.118 */
{{
3
,
3
},
{{
1
,
256
,
19
,
19
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
117990400.
},
/* GFLOPS 0.058 x 2 = 0.116 */
{{
3
,
3
},
{{
1
,
16
,
56
,
56
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
58003456.
},
/* GFLOPS 0.058 x 2 = 0.116 */
{{
3
,
3
},
{{
1
,
32
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
57903104.
},
/* GFLOPS 0.058 x 2 = 0.116 */
{{
3
,
3
},
{{
1
,
64
,
14
,
14
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
57852928.
},
/* GFLOPS 0.116 x 1 = 0.116 */
{{
3
,
3
},
{{
1
,
128
,
14
,
14
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
115655680.
},
/* GFLOPS 0.116 x 1 = 0.116 */
{{
3
,
3
},
{{
1
,
128
,
14
,
14
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
115655680.
},
/* GFLOPS 0.112 x 1 = 0.112 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
546
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
111875400.
},
/* GFLOPS 0.036 x 3 = 0.107 */
{{
1
,
1
},
{{
1
,
192
,
38
,
38
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
35580160.
},
/* GFLOPS 0.107 x 1 = 0.107 */
{{
3
,
3
},
{{
1
,
32
,
75
,
75
}},
128
,
1
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
106648064.
},
/* GFLOPS 0.107 x 1 = 0.107 */
{{
3
,
3
},
{{
1
,
64
,
38
,
38
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
106555648.
},
/* GFLOPS 0.105 x 1 = 0.105 */
{{
1
,
1
},
{{
1
,
512
,
10
,
10
}},
1024
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
104960000.
},
/* GFLOPS 0.105 x 1 = 0.105 */
{{
1
,
1
},
{{
1
,
512
,
10
,
10
}},
1024
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
104960000.
},
/* GFLOPS 0.103 x 1 = 0.103 */
{{
1
,
1
},
{{
1
,
128
,
56
,
56
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
103161856.
},
/* GFLOPS 0.051 x 2 = 0.103 */
{{
1
,
1
},
{{
1
,
256
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
51480576.
},
/* GFLOPS 0.051 x 2 = 0.103 */
{{
1
,
1
},
{{
1
,
256
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
51480576.
},
/* GFLOPS 0.101 x 1 = 0.101 */
{{
1
,
1
},
{{
1
,
512
,
19
,
19
}},
273
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
101016825.
},
/* GFLOPS 0.096 x 1 = 0.096 */
{{
1
,
1
},
{{
1
,
480
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
96438272.
},
/* GFLOPS 0.095 x 1 = 0.095 */
{{
1
,
1
},
{{
1
,
128
,
38
,
38
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
95003648.
},
/* GFLOPS 0.095 x 1 = 0.095 */
{{
1
,
1
},
{{
1
,
128
,
38
,
38
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
95003648.
},
/* GFLOPS 0.095 x 1 = 0.095 */
{{
1
,
1
},
{{
1
,
256
,
19
,
19
}},
512
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
94818816.
},
/* GFLOPS 0.095 x 1 = 0.095 */
{{
1
,
1
},
{{
1
,
256
,
19
,
19
}},
512
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
94818816.
},
/* GFLOPS 0.094 x 1 = 0.094 */
{{
1
,
1
},
{{
1
,
32
,
150
,
150
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
93600000.
},
/* GFLOPS 0.094 x 1 = 0.094 */
{{
1
,
1
},
{{
1
,
32
,
150
,
150
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
93600000.
},
/* GFLOPS 0.093 x 1 = 0.093 */
{{
1
,
1
},
{{
1
,
512
,
38
,
50
}},
48
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
93480000.
},
/* GFLOPS 0.093 x 1 = 0.093 */
{{
1
,
1
},
{{
1
,
576
,
19
,
19
}},
224
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
93236192.
},
/* GFLOPS 0.093 x 1 = 0.093 */
{{
1
,
1
},
{{
1
,
64
,
75
,
75
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
92880000.
},
/* GFLOPS 0.093 x 1 = 0.093 */
{{
1
,
1
},
{{
1
,
64
,
75
,
75
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
92880000.
},
/* GFLOPS 0.031 x 3 = 0.092 */
{{
1
,
1
},
{{
1
,
160
,
10
,
10
}},
960
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
30816000.
},
/* GFLOPS 0.092 x 1 = 0.092 */
{{
1
,
1
},
{{
1
,
192
,
75
,
100
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
92400000.
},
/* GFLOPS 0.090 x 1 = 0.090 */
{{
1
,
1
},
{{
1
,
448
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
90015744.
},
/* GFLOPS 0.045 x 2 = 0.090 */
{{
3
,
3
},
{{
1
,
576
,
19
,
19
}},
12
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
44918508.
},
/* GFLOPS 0.089 x 1 = 0.089 */
{{
3
,
3
},
{{
1
,
112
,
14
,
14
}},
224
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
88554368.
},
/* GFLOPS 0.089 x 1 = 0.089 */
{{
3
,
3
},
{{
1
,
112
,
14
,
14
}},
224
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
88554368.
},
/* GFLOPS 0.021 x 4 = 0.084 */
{{
5
,
1
},
{{
1
,
32
,
32
,
64
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
2
,
0
},
{
0
,
0
},
""
,
false
,
21037056.
},
/* GFLOPS 0.021 x 4 = 0.084 */
{{
1
,
5
},
{{
1
,
32
,
32
,
64
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
2
},
{
0
,
0
},
""
,
true
,
21037056.
},
/* GFLOPS 0.084 x 1 = 0.084 */
{{
1
,
1
},
{{
1
,
416
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
83593216.
},
/* GFLOPS 0.082 x 1 = 0.082 */
{{
1
,
1
},
{{
1
,
320
,
10
,
10
}},
1280
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
82048000.
},
/* GFLOPS 0.040 x 2 = 0.080 */
{{
1
,
1
},
{{
1
,
576
,
19
,
19
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
39958368.
},
/* GFLOPS 0.040 x 2 = 0.079 */
{{
1
,
1
},
{{
1
,
24
,
75
,
75
}},
144
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
39690000.
},
/* GFLOPS 0.040 x 2 = 0.079 */
{{
3
,
3
},
{{
1
,
3
,
300
,
300
}},
32
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
39600000.
},
/* GFLOPS 0.077 x 1 = 0.077 */
{{
1
,
1
},
{{
1
,
96
,
56
,
56
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
77471744.
},
/* GFLOPS 0.077 x 1 = 0.077 */
{{
3
,
3
},
{{
1
,
192
,
10
,
10
}},
224
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
77436800.
},
/* GFLOPS 0.077 x 1 = 0.077 */
{{
1
,
1
},
{{
1
,
384
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
77170688.
},
/* GFLOPS 0.038 x 2 = 0.076 */
{{
3
,
3
},
{{
1
,
32
,
32
,
64
}},
32
,
1
,
{
1
,
1
},
{
8
,
8
},
{
8
,
8
},
{
0
,
0
},
""
,
true
,
37814272.
},
/* GFLOPS 0.038 x 2 = 0.076 */
{{
3
,
3
},
{{
1
,
32
,
32
,
64
}},
32
,
1
,
{
1
,
1
},
{
4
,
4
},
{
4
,
4
},
{
0
,
0
},
""
,
true
,
37814272.
},
/* GFLOPS 0.038 x 2 = 0.076 */
{{
3
,
3
},
{{
1
,
32
,
32
,
64
}},
32
,
1
,
{
1
,
1
},
{
2
,
2
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
37814272.
},
/* GFLOPS 0.038 x 2 = 0.076 */
{{
3
,
3
},
{{
1
,
32
,
32
,
64
}},
32
,
1
,
{
1
,
1
},
{
16
,
16
},
{
16
,
16
},
{
0
,
0
},
""
,
true
,
37814272.
},
/* GFLOPS 0.018 x 4 = 0.072 */
{{
1
,
1
},
{{
1
,
64
,
19
,
19
}},
384
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
17882496.
},
/* GFLOPS 0.071 x 1 = 0.071 */
{{
1
,
1
},
{{
1
,
16
,
150
,
150
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
71280000.
},
/* GFLOPS 0.071 x 1 = 0.071 */
{{
1
,
1
},
{{
1
,
352
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
70748160.
},
/* GFLOPS 0.071 x 1 = 0.071 */
{{
1
,
1
},
{{
1
,
24
,
150
,
150
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"VALID"
,
true
,
70560000.
},
/* GFLOPS 0.070 x 1 = 0.070 */
{{
3
,
3
},
{{
1
,
96
,
14
,
14
}},
208
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
70487872.
},
/* GFLOPS 0.069 x 1 = 0.069 */
{{
3
,
3
},
{{
1
,
96
,
14
,
14
}},
204
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
69132336.
},
/* GFLOPS 0.066 x 1 = 0.066 */
{{
1
,
1
},
{{
1
,
1280
,
10
,
10
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
65561600.
},
/* GFLOPS 0.033 x 2 = 0.065 */
{{
3
,
3
},
{{
1
,
48
,
14
,
14
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
32551680.
},
/* GFLOPS 0.065 x 1 = 0.065 */
{{
3
,
3
},
{{
1
,
192
,
7
,
7
}},
384
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
65046912.
},
/* GFLOPS 0.065 x 1 = 0.065 */
{{
3
,
3
},
{{
1
,
192
,
7
,
7
}},
384
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
65046912.
},
/* GFLOPS 0.065 x 1 = 0.065 */
{{
3
,
3
},
{{
1
,
160
,
10
,
10
}},
224
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
64534400.
},
/* GFLOPS 0.064 x 1 = 0.064 */
{{
1
,
1
},
{{
1
,
320
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
64325632.
},
/* GFLOPS 0.032 x 2 = 0.064 */
{{
3
,
3
},
{{
1
,
96
,
12
,
12
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
31868928.
},
/* GFLOPS 0.061 x 1 = 0.061 */
{{
1
,
1
},
{{
1
,
960
,
10
,
10
}},
320
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
61472000.
},
/* GFLOPS 0.031 x 2 = 0.061 */
{{
1
,
1
},
{{
1
,
960
,
10
,
10
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
30736000.
},
/* GFLOPS 0.060 x 1 = 0.060 */
{{
3
,
3
},
{{
1
,
96
,
38
,
38
}},
96
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
59920224.
},
/* GFLOPS 0.059 x 1 = 0.059 */
{{
1
,
1
},
{{
1
,
320
,
38
,
38
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
59238656.
},
/* GFLOPS 0.059 x 1 = 0.059 */
{{
3
,
3
},
{{
1
,
128
,
19
,
19
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
59008000.
},
/* GFLOPS 0.059 x 1 = 0.059 */
{{
3
,
3
},
{{
1
,
256
,
10
,
10
}},
512
,
1
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
58995200.
},
/* GFLOPS 0.059 x 1 = 0.059 */
{{
3
,
3
},
{{
1
,
256
,
10
,
10
}},
512
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
58995200.
},
/* GFLOPS 0.059 x 1 = 0.059 */
{{
3
,
3
},
{{
1
,
256
,
10
,
10
}},
512
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
58995200.
},
/* GFLOPS 0.058 x 1 = 0.058 */
{{
1
,
1
},
{{
1
,
288
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
57903104.
},
/* GFLOPS 0.004 x 16 = 0.058 */
{{
3
,
3
},
{{
1
,
128
,
7
,
7
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
false
,
3614240.
},
/* GFLOPS 0.055 x 1 = 0.055 */
{{
3
,
3
},
{{
1
,
1280
,
10
,
10
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
55298400.
},
/* GFLOPS 0.018 x 3 = 0.054 */
{{
1
,
1
},
{{
1
,
32
,
38
,
38
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
18021120.
},
/* GFLOPS 0.018 x 3 = 0.053 */
{{
1
,
1
},
{{
1
,
384
,
19
,
19
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
17766976.
},
/* GFLOPS 0.053 x 1 = 0.053 */
{{
3
,
3
},
{{
1
,
128
,
38
,
38
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
53254720.
},
/* GFLOPS 0.053 x 1 = 0.053 */
{{
1
,
1
},
{{
1
,
528
,
14
,
14
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
53036032.
},
/* GFLOPS 0.053 x 1 = 0.053 */
{{
1
,
1
},
{{
1
,
528
,
14
,
14
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
53036032.
},
/* GFLOPS 0.052 x 1 = 0.052 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
52454400.
},
/* GFLOPS 0.052 x 1 = 0.052 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
52454400.
},
/* GFLOPS 0.052 x 1 = 0.052 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
52454400.
},
/* GFLOPS 0.026 x 2 = 0.052 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
26227200.
},
/* GFLOPS 0.052 x 1 = 0.052 */
{{
1
,
1
},
{{
1
,
64
,
56
,
56
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
51781632.
},
/* GFLOPS 0.051 x 1 = 0.051 */
{{
1
,
1
},
{{
1
,
256
,
56
,
56
}},
128
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
51480576.
},
/* GFLOPS 0.051 x 1 = 0.051 */
{{
1
,
1
},
{{
1
,
256
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
51480576.
},
/* GFLOPS 0.051 x 1 = 0.051 */
{{
1
,
1
},
{{
1
,
512
,
28
,
28
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
51430400.
},
/* GFLOPS 0.026 x 2 = 0.051 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
25715200.
},
/* GFLOPS 0.026 x 2 = 0.051 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
25715200.
},
/* GFLOPS 0.013 x 4 = 0.051 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
12857600.
},
/* GFLOPS 0.051 x 1 = 0.051 */
{{
1
,
1
},
{{
1
,
1024
,
14
,
14
}},
512
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
51405312.
},
/* GFLOPS 0.050 x 1 = 0.050 */
{{
1
,
1
},
{{
1
,
992
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
49799680.
},
/* GFLOPS 0.048 x 1 = 0.048 */
{{
1
,
1
},
{{
1
,
960
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
48194048.
},
/* GFLOPS 0.047 x 1 = 0.047 */
{{
1
,
1
},
{{
1
,
256
,
19
,
19
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
47409408.
},
/* GFLOPS 0.047 x 1 = 0.047 */
{{
1
,
1
},
{{
1
,
512
,
38
,
50
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
46740000.
},
/* GFLOPS 0.047 x 1 = 0.047 */
{{
1
,
1
},
{{
1
,
928
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
46588416.
},
/* GFLOPS 0.046 x 1 = 0.046 */
{{
1
,
1
},
{{
1
,
64
,
75
,
75
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
46440000.
},
/* GFLOPS 0.023 x 2 = 0.045 */
{{
3
,
3
},
{{
1
,
256
,
3
,
3
}},
546
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
22648626.
},
/* GFLOPS 0.045 x 1 = 0.045 */
{{
3
,
3
},
{{
1
,
160
,
7
,
7
}},
320
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
45174080.
},
/* GFLOPS 0.045 x 1 = 0.045 */
{{
3
,
3
},
{{
1
,
160
,
7
,
7
}},
320
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
45174080.
},
/* GFLOPS 0.045 x 1 = 0.045 */
{{
1
,
1
},
{{
1
,
224
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
45058048.
},
/* GFLOPS 0.023 x 2 = 0.045 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
112
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
22500800.
},
/* GFLOPS 0.045 x 1 = 0.045 */
{{
1
,
1
},
{{
1
,
896
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
44982784.
},
/* GFLOPS 0.045 x 1 = 0.045 */
{{
3
,
3
},
{{
1
,
3
,
227
,
227
}},
64
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
44946880.
},
/* GFLOPS 0.044 x 1 = 0.044 */
{{
3
,
3
},
{{
1
,
128
,
19
,
19
}},
192
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
44256000.
},
/* GFLOPS 0.044 x 1 = 0.044 */
{{
3
,
3
},
{{
1
,
1024
,
10
,
10
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
44239200.
},
/* GFLOPS 0.043 x 1 = 0.043 */
{{
7
,
7
},
{{
1
,
3
,
96
,
96
}},
64
,
1
,
{
2
,
2
},
{
1
,
1
},
{
3
,
3
},
{
0
,
0
},
""
,
true
,
43499520.
},
/* GFLOPS 0.043 x 1 = 0.043 */
{{
1
,
1
},
{{
1
,
864
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
43377152.
},
/* GFLOPS 0.042 x 1 = 0.042 */
{{
1
,
1
},
{{
1
,
832
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
41771520.
},
/* GFLOPS 0.040 x 1 = 0.040 */
{{
5
,
5
},
{{
1
,
32
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
40165888.
},
/* GFLOPS 0.040 x 1 = 0.040 */
{{
5
,
5
},
{{
1
,
32
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
40165888.
},
/* GFLOPS 0.040 x 1 = 0.040 */
{{
1
,
1
},
{{
1
,
800
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
40165888.
},
/* GFLOPS 0.040 x 1 = 0.040 */
{{
3
,
3
},
{{
1
,
64
,
19
,
19
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
39958368.
},
/* GFLOPS 0.040 x 1 = 0.040 */
{{
3
,
3
},
{{
1
,
256
,
19
,
19
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
39932376.
},
/* GFLOPS 0.040 x 1 = 0.040 */
{{
3
,
3
},
{{
1
,
3
,
300
,
300
}},
32
,
1
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
39600000.
},
/* GFLOPS 0.039 x 1 = 0.039 */
{{
1
,
1
},
{{
1
,
144
,
75
,
75
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
39015000.
},
/* GFLOPS 0.039 x 1 = 0.039 */
{{
1
,
1
},
{{
1
,
192
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
38635520.
},
/* GFLOPS 0.039 x 1 = 0.039 */
{{
1
,
1
},
{{
1
,
768
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
38560256.
},
/* GFLOPS 0.037 x 1 = 0.037 */
{{
1
,
1
},
{{
1
,
736
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
36954624.
},
/* GFLOPS 0.036 x 1 = 0.036 */
{{
1
,
1
},
{{
1
,
480
,
14
,
14
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
36164352.
},
/* GFLOPS 0.036 x 1 = 0.036 */
{{
1
,
1
},
{{
1
,
480
,
14
,
14
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
36164352.
},
/* GFLOPS 0.018 x 2 = 0.036 */
{{
1
,
1
},
{{
1
,
192
,
38
,
38
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
17790080.
},
/* GFLOPS 0.035 x 1 = 0.035 */
{{
1
,
1
},
{{
1
,
704
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
35348992.
},
/* GFLOPS 0.034 x 1 = 0.034 */
{{
1
,
1
},
{{
1
,
672
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
33743360.
},
/* GFLOPS 0.034 x 1 = 0.034 */
{{
1
,
1
},
{{
1
,
128
,
32
,
64
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
33685504.
},
/* GFLOPS 0.034 x 1 = 0.034 */
{{
2
,
2
},
{{
1
,
64
,
64
,
128
}},
32
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
33619968.
},
/* GFLOPS 0.033 x 1 = 0.033 */
{{
1
,
1
},
{{
1
,
528
,
14
,
14
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
33147520.
},
/* GFLOPS 0.033 x 1 = 0.033 */
{{
1
,
1
},
{{
1
,
528
,
14
,
14
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
33147520.
},
/* GFLOPS 0.033 x 1 = 0.033 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
32784000.
},
/* GFLOPS 0.032 x 1 = 0.032 */
{{
1
,
1
},
{{
1
,
160
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
32212992.
},
/* GFLOPS 0.032 x 1 = 0.032 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
32144000.
},
/* GFLOPS 0.032 x 1 = 0.032 */
{{
1
,
1
},
{{
1
,
640
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
32137728.
},
/* GFLOPS 0.032 x 1 = 0.032 */
{{
1
,
1
},
{{
1
,
508
,
14
,
14
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
31893120.
},
/* GFLOPS 0.031 x 1 = 0.031 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
384
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
31328640.
},
/* GFLOPS 0.031 x 1 = 0.031 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
384
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
31328640.
},
/* GFLOPS 0.031 x 1 = 0.031 */
{{
1
,
1
},
{{
1
,
608
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
30532096.
},
/* GFLOPS 0.015 x 2 = 0.030 */
{{
5
,
5
},
{{
1
,
24
,
14
,
14
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
15065344.
},
/* GFLOPS 0.015 x 2 = 0.030 */
{{
5
,
5
},
{{
1
,
24
,
14
,
14
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
15065344.
},
/* GFLOPS 0.015 x 2 = 0.030 */
{{
5
,
5
},
{{
1
,
48
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
15059072.
},
/* GFLOPS 0.029 x 1 = 0.029 */
{{
3
,
3
},
{{
1
,
256
,
10
,
10
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
29497600.
},
/* GFLOPS 0.029 x 1 = 0.029 */
{{
1
,
1
},
{{
1
,
192
,
28
,
28
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
28976640.
},
/* GFLOPS 0.029 x 1 = 0.029 */
{{
1
,
1
},
{{
1
,
192
,
28
,
28
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
28976640.
},
/* GFLOPS 0.029 x 1 = 0.029 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
144
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
28929600.
},
/* GFLOPS 0.029 x 1 = 0.029 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
144
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
28929600.
},
/* GFLOPS 0.029 x 1 = 0.029 */
{{
1
,
1
},
{{
1
,
576
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
28926464.
},
/* GFLOPS 0.027 x 1 = 0.027 */
{{
1
,
1
},
{{
1
,
544
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
27320832.
},
/* GFLOPS 0.027 x 1 = 0.027 */
{{
1
,
1
},
{{
1
,
384
,
19
,
19
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
26650464.
},
/* GFLOPS 0.027 x 1 = 0.027 */
{{
1
,
1
},
{{
1
,
576
,
19
,
19
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
26638912.
},
/* GFLOPS 0.027 x 1 = 0.027 */
{{
3
,
3
},
{{
1
,
128
,
38
,
38
}},
8
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
26627360.
},
/* GFLOPS 0.027 x 1 = 0.027 */
{{
1
,
1
},
{{
1
,
528
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
26518016.
},
/* GFLOPS 0.027 x 1 = 0.027 */
{{
1
,
1
},
{{
1
,
528
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
26518016.
},
/* GFLOPS 0.026 x 1 = 0.026 */
{{
1
,
1
},
{{
1
,
96
,
75
,
75
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
26055000.
},
/* GFLOPS 0.026 x 1 = 0.026 */
{{
1
,
1
},
{{
1
,
64
,
56
,
56
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"VALID"
,
true
,
25890816.
},
/* GFLOPS 0.026 x 1 = 0.026 */
{{
1
,
1
},
{{
1
,
64
,
56
,
56
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
25890816.
},
/* GFLOPS 0.026 x 1 = 0.026 */
{{
1
,
1
},
{{
1
,
64
,
56
,
56
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
25890816.
},
/* GFLOPS 0.026 x 1 = 0.026 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
126
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
25817400.
},
/* GFLOPS 0.026 x 1 = 0.026 */
{{
1
,
1
},
{{
1
,
128
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
25790464.
},
/* GFLOPS 0.026 x 1 = 0.026 */
{{
1
,
1
},
{{
1
,
256
,
28
,
28
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
25740288.
},
/* GFLOPS 0.026 x 1 = 0.026 */
{{
1
,
1
},
{{
1
,
256
,
28
,
28
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
25740288.
},
/* GFLOPS 0.013 x 2 = 0.026 */
{{
1
,
1
},
{{
1
,
256
,
28
,
28
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
12870144.
},
/* GFLOPS 0.026 x 1 = 0.026 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
25715200.
},
/* GFLOPS 0.013 x 2 = 0.026 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
12857600.
},
/* GFLOPS 0.024 x 1 = 0.024 */
{{
1
,
1
},
{{
1
,
480
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
24109568.
},
/* GFLOPS 0.024 x 1 = 0.024 */
{{
1
,
1
},
{{
1
,
128
,
38
,
38
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
23750912.
},
/* GFLOPS 0.024 x 1 = 0.024 */
{{
1
,
1
},
{{
1
,
256
,
19
,
19
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
23704704.
},
/* GFLOPS 0.023 x 1 = 0.023 */
{{
3
,
3
},
{{
1
,
3
,
256
,
512
}},
13
,
1
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
23429120.
},
/* GFLOPS 0.023 x 1 = 0.023 */
{{
1
,
1
},
{{
1
,
32
,
150
,
150
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
23400000.
},
/* GFLOPS 0.023 x 1 = 0.023 */
{{
1
,
1
},
{{
1
,
512
,
19
,
19
}},
63
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
23311575.
},
/* GFLOPS 0.023 x 1 = 0.023 */
{{
1
,
1
},
{{
1
,
448
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
22503936.
},
/* GFLOPS 0.023 x 1 = 0.023 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
112
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
22500800.
},
/* GFLOPS 0.022 x 1 = 0.022 */
{{
1
,
1
},
{{
1
,
508
,
14
,
14
}},
112
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
22325184.
},
/* GFLOPS 0.021 x 1 = 0.021 */
{{
3
,
3
},
{{
1
,
128
,
12
,
12
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
21242880.
},
/* GFLOPS 0.021 x 1 = 0.021 */
{{
1
,
1
},
{{
1
,
416
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
20898304.
},
/* GFLOPS 0.021 x 1 = 0.021 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
20885760.
},
/* GFLOPS 0.021 x 1 = 0.021 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
20885760.
},
/* GFLOPS 0.010 x 2 = 0.021 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
10442880.
},
/* GFLOPS 0.010 x 2 = 0.021 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
10442880.
},
/* GFLOPS 0.010 x 2 = 0.020 */
{{
3
,
3
},
{{
1
,
256
,
2
,
2
}},
546
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
10066056.
},
/* GFLOPS 0.020 x 1 = 0.020 */
{{
5
,
5
},
{{
1
,
16
,
28
,
28
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
20095488.
},
/* GFLOPS 0.020 x 1 = 0.020 */
{{
5
,
5
},
{{
1
,
16
,
28
,
28
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
20095488.
},
/* GFLOPS 0.020 x 1 = 0.020 */
{{
5
,
5
},
{{
1
,
32
,
14
,
14
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
20082944.
},
/* GFLOPS 0.020 x 1 = 0.020 */
{{
5
,
5
},
{{
1
,
32
,
14
,
14
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
20082944.
},
/* GFLOPS 0.020 x 1 = 0.020 */
{{
3
,
3
},
{{
1
,
256
,
19
,
19
}},
12
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
19966188.
},
/* GFLOPS 0.019 x 1 = 0.019 */
{{
1
,
1
},
{{
1
,
192
,
28
,
28
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
19317760.
},
/* GFLOPS 0.019 x 1 = 0.019 */
{{
1
,
1
},
{{
1
,
192
,
28
,
28
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
19317760.
},
/* GFLOPS 0.019 x 1 = 0.019 */
{{
1
,
1
},
{{
1
,
384
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
19292672.
},
/* GFLOPS 0.018 x 1 = 0.018 */
{{
1
,
1
},
{{
1
,
576
,
10
,
10
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
18448000.
},
/* GFLOPS 0.018 x 1 = 0.018 */
{{
1
,
1
},
{{
1
,
480
,
14
,
14
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
18082176.
},
/* GFLOPS 0.018 x 1 = 0.018 */
{{
1
,
1
},
{{
1
,
480
,
14
,
14
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
18082176.
},
/* GFLOPS 0.018 x 1 = 0.018 */
{{
1
,
1
},
{{
1
,
192
,
38
,
38
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
17790080.
},
/* GFLOPS 0.018 x 1 = 0.018 */
{{
1
,
1
},
{{
1
,
352
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
17687040.
},
/* GFLOPS 0.017 x 1 = 0.017 */
{{
2
,
2
},
{{
1
,
16
,
128
,
256
}},
16
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
16908288.
},
/* GFLOPS 0.016 x 1 = 0.016 */
{{
1
,
1
},
{{
1
,
320
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
16081408.
},
/* GFLOPS 0.016 x 1 = 0.016 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
15664320.
},
/* GFLOPS 0.016 x 1 = 0.016 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
15664320.
},
/* GFLOPS 0.015 x 1 = 0.015 */
{{
5
,
5
},
{{
1
,
48
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
15059072.
},
/* GFLOPS 0.015 x 1 = 0.015 */
{{
5
,
5
},
{{
1
,
32
,
12
,
12
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
14754816.
},
/* GFLOPS 0.014 x 1 = 0.014 */
{{
1
,
1
},
{{
1
,
288
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
14475776.
},
/* GFLOPS 0.014 x 1 = 0.014 */
{{
1
,
1
},
{{
1
,
512
,
5
,
5
}},
546
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
13991250.
},
/* GFLOPS 0.013 x 1 = 0.013 */
{{
1
,
1
},
{{
1
,
144
,
38
,
38
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
13354112.
},
/* GFLOPS 0.007 x 2 = 0.013 */
{{
1
,
1
},
{{
1
,
16
,
56
,
56
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
6623232.
},
/* GFLOPS 0.013 x 1 = 0.013 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
13053600.
},
/* GFLOPS 0.013 x 1 = 0.013 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
13053600.
},
/* GFLOPS 0.007 x 2 = 0.013 */
{{
1
,
1
},
{{
1
,
32
,
28
,
28
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
6522880.
},
/* GFLOPS 0.006 x 2 = 0.013 */
{{
1
,
1
},
{{
1
,
64
,
14
,
14
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
6472704.
},
/* GFLOPS 0.013 x 1 = 0.013 */
{{
1
,
1
},
{{
1
,
128
,
56
,
56
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
12895232.
},
/* GFLOPS 0.013 x 1 = 0.013 */
{{
1
,
1
},
{{
1
,
256
,
28
,
28
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
12870144.
},
/* GFLOPS 0.013 x 1 = 0.013 */
{{
1
,
1
},
{{
1
,
256
,
14
,
14
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
12870144.
},
/* GFLOPS 0.013 x 1 = 0.013 */
{{
1
,
1
},
{{
1
,
508
,
14
,
14
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
12757248.
},
/* GFLOPS 0.012 x 1 = 0.012 */
{{
1
,
1
},
{{
1
,
992
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
12449920.
},
/* GFLOPS 0.012 x 1 = 0.012 */
{{
1
,
1
},
{{
1
,
480
,
14
,
14
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
12054784.
},
/* GFLOPS 0.012 x 1 = 0.012 */
{{
1
,
1
},
{{
1
,
480
,
14
,
14
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
12054784.
},
/* GFLOPS 0.012 x 1 = 0.012 */
{{
1
,
1
},
{{
1
,
960
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
12048512.
},
/* GFLOPS 0.012 x 1 = 0.012 */
{{
1
,
1
},
{{
1
,
32
,
75
,
75
}},
128
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
12014080.
},
/* GFLOPS 0.012 x 1 = 0.012 */
{{
3
,
3
},
{{
1
,
96
,
6
,
6
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
11950848.
},
/* GFLOPS 0.006 x 2 = 0.012 */
{{
3
,
3
},
{{
1
,
96
,
3
,
3
}},
384
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
5975424.
},
/* GFLOPS 0.012 x 1 = 0.012 */
{{
1
,
1
},
{{
1
,
320
,
12
,
12
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
11814912.
},
/* GFLOPS 0.012 x 1 = 0.012 */
{{
1
,
1
},
{{
1
,
640
,
6
,
6
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
11805696.
},
/* GFLOPS 0.012 x 1 = 0.012 */
{{
1
,
1
},
{{
1
,
928
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
11647104.
},
/* GFLOPS 0.011 x 1 = 0.011 */
{{
1
,
1
},
{{
1
,
896
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
11245696.
},
/* GFLOPS 0.011 x 1 = 0.011 */
{{
3
,
3
},
{{
1
,
256
,
10
,
10
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
11061600.
},
/* GFLOPS 0.006 x 2 = 0.011 */
{{
3
,
3
},
{{
1
,
512
,
5
,
5
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
5530200.
},
/* GFLOPS 0.011 x 1 = 0.011 */
{{
1
,
1
},
{{
1
,
864
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
10844288.
},
/* GFLOPS 0.010 x 1 = 0.010 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
10442880.
},
/* GFLOPS 0.010 x 1 = 0.010 */
{{
5
,
5
},
{{
1
,
32
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
10041472.
},
/* GFLOPS 0.010 x 1 = 0.010 */
{{
1
,
1
},
{{
1
,
800
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
10041472.
},
/* GFLOPS 0.010 x 1 = 0.010 */
{{
1
,
1
},
{{
1
,
192
,
28
,
28
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
9658880.
},
/* GFLOPS 0.010 x 1 = 0.010 */
{{
1
,
1
},
{{
1
,
192
,
28
,
28
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
9658880.
},
/* GFLOPS 0.010 x 1 = 0.010 */
{{
1
,
1
},
{{
1
,
384
,
14
,
14
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
9646336.
},
/* GFLOPS 0.005 x 2 = 0.010 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
4821600.
},
/* GFLOPS 0.010 x 1 = 0.010 */
{{
1
,
1
},
{{
1
,
768
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
9640064.
},
/* GFLOPS 0.010 x 1 = 0.010 */
{{
3
,
3
},
{{
1
,
4
,
128
,
256
}},
4
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
9568256.
},
/* GFLOPS 0.005 x 2 = 0.009 */
{{
1
,
1
},
{{
1
,
4
,
128
,
256
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
4718592.
},
/* GFLOPS 0.009 x 1 = 0.009 */
{{
1
,
1
},
{{
1
,
736
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
9238656.
},
/* GFLOPS 0.009 x 1 = 0.009 */
{{
1
,
1
},
{{
1
,
192
,
19
,
19
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
8895040.
},
/* GFLOPS 0.009 x 1 = 0.009 */
{{
1
,
1
},
{{
1
,
704
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
8837248.
},
/* GFLOPS 0.008 x 1 = 0.008 */
{{
1
,
1
},
{{
1
,
672
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
8435840.
},
/* GFLOPS 0.008 x 1 = 0.008 */
{{
1
,
1
},
{{
1
,
128
,
32
,
64
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
8421376.
},
/* GFLOPS 0.008 x 1 = 0.008 */
{{
1
,
1
},
{{
1
,
640
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
8034432.
},
/* GFLOPS 0.004 x 2 = 0.008 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
48
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
3916080.
},
/* GFLOPS 0.008 x 1 = 0.008 */
{{
1
,
1
},
{{
1
,
608
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
7633024.
},
/* GFLOPS 0.008 x 1 = 0.008 */
{{
5
,
5
},
{{
1
,
16
,
14
,
14
}},
48
,
1
,
{
1
,
1
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
7535808.
},
/* GFLOPS 0.008 x 1 = 0.008 */
{{
5
,
5
},
{{
1
,
16
,
14
,
14
}},
48
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
7535808.
},
/* GFLOPS 0.004 x 2 = 0.007 */
{{
3
,
3
},
{{
1
,
64
,
5
,
5
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
3689600.
},
/* GFLOPS 0.007 x 1 = 0.007 */
{{
1
,
1
},
{{
1
,
640
,
6
,
6
}},
160
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
7378560.
},
/* GFLOPS 0.004 x 2 = 0.007 */
{{
1
,
1
},
{{
1
,
48
,
14
,
14
}},
192
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
3650304.
},
/* GFLOPS 0.007 x 1 = 0.007 */
{{
1
,
1
},
{{
1
,
384
,
14
,
14
}},
48
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
7234752.
},
/* GFLOPS 0.007 x 1 = 0.007 */
{{
1
,
1
},
{{
1
,
576
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
7231616.
},
/* GFLOPS 0.007 x 1 = 0.007 */
{{
1
,
1
},
{{
1
,
256
,
12
,
12
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
7091712.
},
/* GFLOPS 0.007 x 1 = 0.007 */
{{
1
,
1
},
{{
1
,
544
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
6830208.
},
/* GFLOPS 0.007 x 1 = 0.007 */
{{
3
,
3
},
{{
1
,
160
,
6
,
6
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
6637824.
},
/* GFLOPS 0.007 x 1 = 0.007 */
{{
1
,
1
},
{{
1
,
528
,
14
,
14
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
6629504.
},
/* GFLOPS 0.007 x 1 = 0.007 */
{{
1
,
1
},
{{
1
,
528
,
14
,
14
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
6629504.
},
/* GFLOPS 0.007 x 1 = 0.007 */
{{
1
,
1
},
{{
1
,
256
,
5
,
5
}},
512
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
6566400.
},
/* GFLOPS 0.003 x 2 = 0.007 */
{{
1
,
1
},
{{
1
,
512
,
5
,
5
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
3280000.
},
/* GFLOPS 0.006 x 1 = 0.006 */
{{
1
,
1
},
{{
1
,
64
,
56
,
56
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
6472704.
},
/* GFLOPS 0.006 x 1 = 0.006 */
{{
1
,
1
},
{{
1
,
128
,
28
,
28
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
6447616.
},
/* GFLOPS 0.006 x 1 = 0.006 */
{{
1
,
1
},
{{
1
,
512
,
7
,
7
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
6428800.
},
/* GFLOPS 0.006 x 1 = 0.006 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
6428800.
},
/* GFLOPS 0.006 x 1 = 0.006 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
6428800.
},
/* GFLOPS 0.006 x 1 = 0.006 */
{{
3
,
3
},
{{
1
,
256
,
10
,
10
}},
12
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
5530800.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
1
,
1
},
{{
1
,
192
,
12
,
12
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
5322240.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
3
,
3
},
{{
1
,
128
,
5
,
5
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
5310720.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
3
,
3
},
{{
1
,
128
,
5
,
5
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
5310720.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
3
,
3
},
{{
1
,
128
,
5
,
5
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
5310720.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
4917600.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
1
,
1
},
{{
1
,
1024
,
10
,
10
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
4917600.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
1
,
1
},
{{
1
,
192
,
28
,
28
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
4829440.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
1
,
1
},
{{
1
,
192
,
28
,
28
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
4829440.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
1
,
1
},
{{
1
,
256
,
14
,
14
}},
48
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
4826304.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
1
,
1
},
{{
1
,
512
,
14
,
14
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
4821600.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
1
,
1
},
{{
1
,
508
,
14
,
14
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
4783968.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
1
,
1
},
{{
1
,
64
,
24
,
24
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
4755456.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
1
,
1
},
{{
1
,
256
,
12
,
12
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
4727808.
},
/* GFLOPS 0.005 x 1 = 0.005 */
{{
1
,
1
},
{{
1
,
1024
,
3
,
3
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
4720896.
},
/* GFLOPS 0.004 x 1 = 0.004 */
{{
1
,
1
},
{{
1
,
512
,
19
,
19
}},
12
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
4440300.
},
/* GFLOPS 0.004 x 1 = 0.004 */
{{
1
,
1
},
{{
1
,
512
,
19
,
19
}},
12
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
4440300.
},
/* GFLOPS 0.004 x 1 = 0.004 */
{{
1
,
1
},
{{
1
,
640
,
6
,
6
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
4427136.
},
/* GFLOPS 0.004 x 1 = 0.004 */
{{
1
,
1
},
{{
1
,
16
,
128
,
256
}},
4
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
4325376.
},
/* GFLOPS 0.004 x 1 = 0.004 */
{{
1
,
1
},
{{
1
,
64
,
64
,
128
}},
4
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
false
,
4227072.
},
/* GFLOPS 0.004 x 1 = 0.004 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
48
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
3916080.
},
/* GFLOPS 0.004 x 1 = 0.004 */
{{
5
,
5
},
{{
1
,
16
,
12
,
12
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
3691008.
},
/* GFLOPS 0.004 x 1 = 0.004 */
{{
3
,
3
},
{{
1
,
64
,
10
,
10
}},
128
,
1
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
3689600.
},
/* GFLOPS 0.004 x 1 = 0.004 */
{{
5
,
5
},
{{
1
,
32
,
6
,
6
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
3688704.
},
/* GFLOPS 0.004 x 1 = 0.004 */
{{
5
,
5
},
{{
1
,
32
,
12
,
12
}},
64
,
1
,
{
2
,
2
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
3688704.
},
/* GFLOPS 0.004 x 1 = 0.004 */
{{
5
,
5
},
{{
1
,
64
,
6
,
6
}},
128
,
1
,
{
2
,
2
},
{
1
,
1
},
{
2
,
2
},
{
0
,
0
},
""
,
true
,
3687552.
},
/* GFLOPS 0.004 x 1 = 0.004 */
{{
1
,
1
},
{{
1
,
192
,
12
,
12
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
3548160.
},
/* GFLOPS 0.003 x 1 = 0.003 */
{{
1
,
1
},
{{
1
,
736
,
3
,
3
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
3393792.
},
/* GFLOPS 0.003 x 1 = 0.003 */
{{
1
,
1
},
{{
1
,
256
,
10
,
10
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
3283200.
},
/* GFLOPS 0.003 x 1 = 0.003 */
{{
1
,
1
},
{{
1
,
512
,
5
,
5
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
3280000.
},
/* GFLOPS 0.003 x 1 = 0.003 */
{{
1
,
1
},
{{
1
,
512
,
5
,
5
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
3280000.
},
/* GFLOPS 0.003 x 1 = 0.003 */
{{
1
,
1
},
{{
1
,
512
,
5
,
5
}},
126
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
3228750.
},
/* GFLOPS 0.003 x 1 = 0.003 */
{{
1
,
1
},
{{
1
,
480
,
14
,
14
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
3013696.
},
/* GFLOPS 0.003 x 1 = 0.003 */
{{
1
,
1
},
{{
1
,
480
,
14
,
14
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
3013696.
},
/* GFLOPS 0.003 x 1 = 0.003 */
{{
1
,
1
},
{{
1
,
320
,
12
,
12
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
2953728.
},
/* GFLOPS 0.003 x 1 = 0.003 */
{{
1
,
1
},
{{
1
,
640
,
6
,
6
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
2951424.
},
/* GFLOPS 0.003 x 1 = 0.003 */
{{
3
,
3
},
{{
1
,
128
,
5
,
5
}},
128
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
2655360.
},
/* GFLOPS 0.003 x 1 = 0.003 */
{{
1
,
1
},
{{
1
,
832
,
7
,
7
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
2610720.
},
/* GFLOPS 0.003 x 1 = 0.003 */
{{
1
,
1
},
{{
1
,
256
,
3
,
3
}},
546
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
2520882.
},
/* GFLOPS 0.001 x 2 = 0.003 */
{{
3
,
3
},
{{
1
,
128
,
1
,
1
}},
546
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
1258530.
},
/* GFLOPS 0.002 x 1 = 0.002 */
{{
1
,
1
},
{{
1
,
256
,
12
,
12
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
2363904.
},
/* GFLOPS 0.002 x 1 = 0.002 */
{{
3
,
3
},
{{
1
,
128
,
3
,
3
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
2360320.
},
/* GFLOPS 0.002 x 1 = 0.002 */
{{
3
,
3
},
{{
1
,
128
,
3
,
3
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
2360320.
},
/* GFLOPS 0.002 x 1 = 0.002 */
{{
3
,
3
},
{{
1
,
128
,
3
,
3
}},
256
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
2360320.
},
/* GFLOPS 0.002 x 1 = 0.002 */
{{
1
,
1
},
{{
1
,
528
,
4
,
4
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
2164736.
},
/* GFLOPS 0.002 x 1 = 0.002 */
{{
1
,
1
},
{{
1
,
508
,
4
,
4
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
2082816.
},
/* GFLOPS 0.002 x 1 = 0.002 */
{{
1
,
1
},
{{
1
,
1024
,
1
,
1
}},
1000
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
2049000.
},
/* GFLOPS 0.001 x 2 = 0.002 */
{{
3
,
3
},
{{
1
,
256
,
3
,
3
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
995544.
},
/* GFLOPS 0.001 x 2 = 0.002 */
{{
3
,
3
},
{{
1
,
128
,
5
,
5
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
922000.
},
/* GFLOPS 0.002 x 1 = 0.002 */
{{
1
,
1
},
{{
1
,
1024
,
3
,
3
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
1770336.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
1
,
1
},
{{
1
,
640
,
6
,
6
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
1475712.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
3
,
3
},
{{
1
,
128
,
5
,
5
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
1383000.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
1
,
1
},
{{
1
,
736
,
3
,
3
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
1272672.
},
/* GFLOPS 0.001 x 2 = 0.001 */
{{
1
,
1
},
{{
1
,
256
,
3
,
3
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
590976.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
3
,
3
},
{{
1
,
128
,
3
,
3
}},
128
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
1180160.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
1
,
1
},
{{
1
,
256
,
2
,
2
}},
546
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
1120392.
},
/* GFLOPS 0.000 x 2 = 0.001 */
{{
3
,
3
},
{{
1
,
128
,
5
,
5
}},
8
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
461000.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
1
,
1
},
{{
1
,
192
,
12
,
12
}},
16
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
887040.
},
/* GFLOPS 0.000 x 2 = 0.001 */
{{
3
,
3
},
{{
1
,
256
,
2
,
2
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
442464.
},
/* GFLOPS 0.000 x 2 = 0.001 */
{{
1
,
1
},
{{
1
,
128
,
5
,
5
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
411200.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
3
,
3
},
{{
1
,
128
,
5
,
5
}},
12
,
1
,
{
1
,
1
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
691500.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
1
,
1
},
{{
1
,
640
,
2
,
2
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
655872.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
1
,
1
},
{{
1
,
512
,
5
,
5
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
615000.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
1
,
1
},
{{
1
,
512
,
5
,
5
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
615000.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
1
,
1
},
{{
1
,
128
,
3
,
3
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
592128.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
1
,
1
},
{{
1
,
256
,
3
,
3
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
590976.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
1
,
1
},
{{
1
,
256
,
3
,
3
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
590976.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
1
,
1
},
{{
1
,
256
,
3
,
3
}},
126
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
581742.
},
/* GFLOPS 0.001 x 1 = 0.001 */
{{
1
,
1
},
{{
1
,
256
,
4
,
4
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
525312.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
192
,
5
,
5
}},
32
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
308000.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
128
,
2
,
2
}},
256
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
263168.
},
/* GFLOPS 0.000 x 2 = 0.000 */
{{
1
,
1
},
{{
1
,
256
,
2
,
2
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
131328.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
256
,
2
,
2
}},
126
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
258552.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
1024
,
1
,
1
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
196704.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
3
,
3
},
{{
1
,
64
,
2
,
2
}},
128
,
1
,
{
2
,
2
},
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
""
,
true
,
147584.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
3
,
3
},
{{
1
,
64
,
2
,
2
}},
128
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
147584.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
3
,
3
},
{{
1
,
64
,
2
,
2
}},
128
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
147584.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
736
,
1
,
1
}},
96
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
141408.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
128
,
1
,
1
}},
546
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
140322.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
256
,
2
,
2
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
131328.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
256
,
2
,
2
}},
64
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
131328.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
256
,
3
,
3
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
110808.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
256
,
3
,
3
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
110808.
},
/* GFLOPS 0.000 x 2 = 0.000 */
{{
3
,
3
},
{{
1
,
128
,
1
,
1
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
55320.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
3
,
3
},
{{
1
,
64
,
2
,
2
}},
64
,
1
,
{
2
,
2
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
73792.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
256
,
2
,
2
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
49248.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
256
,
2
,
2
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
49248.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
128
,
1
,
1
}},
126
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
32382.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
64
,
1
,
1
}},
128
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
false
,
16512.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
128
,
1
,
1
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
""
,
true
,
6168.
},
/* GFLOPS 0.000 x 1 = 0.000 */
{{
1
,
1
},
{{
1
,
128
,
1
,
1
}},
24
,
1
,
{
1
,
1
},
{
1
,
1
},
{
0
,
0
},
{
0
,
0
},
"SAME"
,
true
,
6168.
}
};
struct
ConvParamID
{
enum
{
CONV_0
=
0
,
CONV_100
=
100
,
CONV_LAST
=
sizeof
(
testConvolutionConfigs
)
/
sizeof
(
testConvolutionConfigs
[
0
])
};
int
val_
;
\
ConvParamID
(
int
val
=
0
)
:
val_
(
val
)
{}
operator
int
()
const
{
return
val_
;
}
static
::
testing
::
internal
::
ParamGenerator
<
ConvParamID
>
all
()
{
#if 0
enum { NUM = (int)CONV_LAST };
#else
enum
{
NUM
=
(
int
)
CONV_100
};
#endif
ConvParamID
v_
[
NUM
];
for
(
int
i
=
0
;
i
<
NUM
;
++
i
)
{
v_
[
i
]
=
ConvParamID
(
i
);
}
// reduce generated code size
return
::
testing
::
ValuesIn
(
v_
,
v_
+
NUM
);
}
};
\
static
inline
void
PrintTo
(
const
ConvParamID
&
v
,
std
::
ostream
*
os
)
{
CV_Assert
((
int
)
v
>=
0
);
CV_Assert
((
int
)
v
<
ConvParamID
::
CONV_LAST
);
const
ConvParam_t
&
p
=
testConvolutionConfigs
[(
int
)
v
];
enum
{
GROUP_OFF
=
1
,
GROUP_2
=
2
};
CV_ENUM
(
GroupSize
,
GROUP_OFF
,
GROUP_2
);
*
os
<<
"GFLOPS="
<<
cv
::
format
(
"%.3f"
,
p
.
declared_flops
*
1e-9
)
<<
", K="
<<
(
Size
)
p
.
kernel
<<
", IN={"
<<
p
.
shapeIn
.
dims
[
0
]
<<
", "
<<
p
.
shapeIn
.
dims
[
1
]
<<
", "
<<
p
.
shapeIn
.
dims
[
2
]
<<
", "
<<
p
.
shapeIn
.
dims
[
3
]
<<
"}"
<<
", OCN="
<<
p
.
outCN
;
if
(
p
.
groups
>
1
)
*
os
<<
", G="
<<
p
.
groups
;
if
(((
Size
)
p
.
stride
).
area
()
!=
1
)
*
os
<<
", S="
<<
((
Size
)
p
.
stride
);
if
(((
Size
)
p
.
dilation
).
area
()
!=
1
)
*
os
<<
", D="
<<
((
Size
)
p
.
dilation
);
if
(((
Size
)
p
.
pad
).
area
()
!=
0
)
*
os
<<
", P="
<<
((
Size
)
p
.
pad
);
if
(((
Size
)
p
.
padAdjust
).
area
()
!=
0
)
*
os
<<
", PAdj="
<<
((
Size
)
p
.
padAdjust
);
if
(
!
((
std
::
string
)
p
.
padMode
).
empty
())
*
os
<<
", PM="
<<
((
std
::
string
)
p
.
padMode
);
if
(
p
.
hasBias
)
*
os
<<
", BIAS"
;
}
typedef
std
::
pair
<
MatShape
,
int
>
InpShapeNumOut
;
typedef
tuple
<
Size
,
InpShapeNumOut
,
GroupSize
,
StrideSize
>
ConvParam
;
//kernel_size, inp shape, groups, stride
typedef
TestBaseWithParam
<
ConvParam
>
ConvolutionPerfTest
;
static
inline
MatShape
blobShape
(
int
count
,
int
nplanes
,
int
height
,
int
width
)
{
int
data
[]
=
{
count
,
nplanes
,
height
,
width
};
return
MatShape
(
data
,
data
+
4
);
}
PERF_TEST_P
(
ConvolutionPerfTest
,
perf
,
Combine
(
Values
(
Size
(
1
,
1
),
Size
(
3
,
3
),
Size
(
5
,
5
),
Size
(
11
,
11
)),
Values
(
make_pair
(
blobShape
(
1
,
4
,
224
,
224
),
64
),
make_pair
(
blobShape
(
1
,
64
,
112
,
122
),
128
),
make_pair
(
blobShape
(
1
,
256
,
28
,
28
),
512
)),
GroupSize
::
all
(),
StrideSize
::
all
())
)
typedef
tuple
<
ConvParamID
,
tuple
<
Backend
,
Target
>
>
ConvTestParam_t
;
typedef
TestBaseWithParam
<
ConvTestParam_t
>
Conv
;
PERF_TEST_P_
(
Conv
,
conv
)
{
RNG
rng
(
0
);
ConvParam
params
=
GetParam
();
int
ksz
=
get
<
0
>
(
params
).
width
;
MatShape
inpShape
=
get
<
1
>
(
params
).
first
;
int
outCn
=
get
<
1
>
(
params
).
second
;
int
groups
=
get
<
2
>
(
params
);
int
stride
=
(
ksz
>=
11
)
?
4
:
(
int
)
get
<
3
>
(
params
);
int
inpCn
=
inpShape
[
1
];
int
wgtSize
[]
=
{
outCn
,
inpCn
/
groups
,
ksz
,
ksz
};
int
biasSize
[]
=
{
outCn
,
1
,
1
,
1
};
const
int
wtype
=
CV_32F
;
Mat
wgtBlob
(
4
,
wgtSize
,
wtype
),
biasBlob
(
4
,
biasSize
,
wtype
);
Mat
inpBlob
(
4
,
&
inpShape
[
0
],
wtype
);
rng
.
fill
(
biasBlob
,
RNG
::
UNIFORM
,
-
1
,
+
1
);
rng
.
fill
(
wgtBlob
,
RNG
::
UNIFORM
,
-
1
,
+
1
);
rng
.
fill
(
inpBlob
,
RNG
::
UNIFORM
,
-
1
,
+
1
);
int
test_id
=
(
int
)
get
<
0
>
(
GetParam
());
ASSERT_GE
(
test_id
,
0
);
ASSERT_LT
(
test_id
,
ConvParamID
::
CONV_LAST
);
const
ConvParam_t
&
params
=
testConvolutionConfigs
[
test_id
];
double
declared_flops
=
params
.
declared_flops
;
Size
kernel
=
params
.
kernel
;
MatShape
inputShape
=
MatShape
(
params
.
shapeIn
.
dims
,
params
.
shapeIn
.
dims
+
4
);
int
outChannels
=
params
.
outCN
;
int
groups
=
params
.
groups
;
Size
stride
=
params
.
stride
;
Size
dilation
=
params
.
dilation
;
Size
pad
=
params
.
pad
;
Size
padAdjust
=
params
.
padAdjust
;
std
::
string
padMode
(
params
.
padMode
);
bool
hasBias
=
params
.
hasBias
;
Backend
backendId
=
get
<
0
>
(
get
<
1
>
(
GetParam
()));
Target
targetId
=
get
<
1
>
(
get
<
1
>
(
GetParam
()));
int
inChannels
=
inputShape
[
1
];
Size
inSize
(
inputShape
[
3
],
inputShape
[
2
]);
int
sz
[]
=
{
outChannels
,
inChannels
/
groups
,
kernel
.
height
,
kernel
.
width
};
Mat
weights
(
4
,
&
sz
[
0
],
CV_32F
);
randu
(
weights
,
-
1.0
f
,
1.0
f
);
LayerParams
lp
;
lp
.
set
(
"num_output"
,
outCn
);
lp
.
set
(
"group"
,
groups
);
lp
.
set
(
"stride"
,
stride
);
lp
.
set
(
"kernel_size"
,
ksz
);
lp
.
blobs
.
reserve
(
2
);
lp
.
blobs
.
push_back
(
wgtBlob
);
lp
.
blobs
.
push_back
(
biasBlob
);
std
::
vector
<
Mat
*>
inpBlobs
(
1
,
&
inpBlob
);
std
::
vector
<
Mat
>
outBlobs
,
internalBlobs
;
Ptr
<
Layer
>
layer
=
cv
::
dnn
::
LayerFactory
::
createLayerInstance
(
"Convolution"
,
lp
);
std
::
vector
<
MatShape
>
inputShapes
(
1
,
shape
(
inpBlob
)),
outShapes
,
internals
;
layer
->
getMemoryShapes
(
inputShapes
,
0
,
outShapes
,
internals
);
for
(
size_t
i
=
0
;
i
<
outShapes
.
size
();
i
++
)
lp
.
set
(
"kernel_w"
,
kernel
.
width
);
lp
.
set
(
"kernel_h"
,
kernel
.
height
);
lp
.
set
(
"pad_w"
,
pad
.
width
);
lp
.
set
(
"pad_h"
,
pad
.
height
);
if
(
padAdjust
.
width
>
0
||
padAdjust
.
height
>
0
)
{
outBlobs
.
push_back
(
Mat
(
outShapes
[
i
],
CV_32F
));
lp
.
set
(
"adj_w"
,
padAdjust
.
width
);
lp
.
set
(
"adj_h"
,
padAdjust
.
height
);
}
for
(
size_t
i
=
0
;
i
<
internals
.
size
();
i
++
)
if
(
!
padMode
.
empty
())
lp
.
set
(
"pad_mode"
,
padMode
);
lp
.
set
(
"stride_w"
,
stride
.
width
);
lp
.
set
(
"stride_h"
,
stride
.
height
);
lp
.
set
(
"dilation_w"
,
dilation
.
width
);
lp
.
set
(
"dilation_h"
,
dilation
.
height
);
lp
.
set
(
"num_output"
,
outChannels
);
lp
.
set
(
"group"
,
groups
);
lp
.
set
(
"bias_term"
,
hasBias
);
lp
.
type
=
"Convolution"
;
lp
.
name
=
"testLayer"
;
lp
.
blobs
.
push_back
(
weights
);
if
(
hasBias
)
{
internalBlobs
.
push_back
(
Mat
()
);
if
(
total
(
internals
[
i
]))
internalBlobs
.
back
().
create
(
internals
[
i
],
CV_32F
);
Mat
bias
(
1
,
outChannels
,
CV_32F
);
randu
(
bias
,
-
1.0
f
,
1.0
f
);
lp
.
blobs
.
push_back
(
bias
);
}
int
inpSz
[]
=
{
1
,
inChannels
,
inSize
.
height
,
inSize
.
width
};
Mat
input
(
4
,
&
inpSz
[
0
],
CV_32F
);
randu
(
input
,
-
1.0
f
,
1.0
f
);
Net
net
;
net
.
addLayerToPrev
(
lp
.
name
,
lp
.
type
,
lp
);
layer
->
finalize
(
inpBlobs
,
outBlobs
);
net
.
setInput
(
input
);
net
.
setPreferableBackend
(
backendId
);
net
.
setPreferableTarget
(
targetId
);
Mat
inpBlob2D
=
inpBlob
.
reshape
(
1
,
outCn
);
Mat
wgtBlob2D
=
wgtBlob
.
reshape
(
1
,
outCn
*
(
inpCn
/
groups
));
Mat
outBlob2D
=
outBlobs
[
0
].
reshape
(
1
,
outBlobs
[
0
].
size
[
0
]);
declare
.
in
(
inpBlob2D
,
wgtBlob2D
,
WARMUP_RNG
).
out
(
outBlob2D
);
// warmup
Mat
output
=
net
.
forward
();
layer
->
forward
(
inpBlobs
,
outBlobs
,
internalBlobs
);
/// warmup
MatShape
netInputShape
=
shape
(
input
);
size_t
weightsMemory
=
0
,
blobsMemory
=
0
;
net
.
getMemoryConsumption
(
netInputShape
,
weightsMemory
,
blobsMemory
);
int64
flops
=
net
.
getFLOPS
(
netInputShape
);
CV_Assert
(
flops
>
0
);
PERF_SAMPLE_BEGIN
()
layer
->
forward
(
inpBlobs
,
outBlobs
,
internalBlobs
);
PERF_SAMPLE_END
()
std
::
cout
<<
"IN="
<<
divUp
(
input
.
total
()
*
input
.
elemSize
(),
1u
<<
10
)
<<
" Kb "
<<
netInputShape
<<
" OUT="
<<
divUp
(
output
.
total
()
*
output
.
elemSize
(),
1u
<<
10
)
<<
" Kb "
<<
shape
(
output
)
<<
" Weights(parameters): "
<<
divUp
(
weightsMemory
,
1u
<<
10
)
<<
" Kb"
<<
" MFLOPS="
<<
flops
*
1e-6
<<
std
::
endl
;
TEST_CYCLE
()
{
Mat
res
=
net
.
forward
();
}
EXPECT_NEAR
(
flops
,
declared_flops
,
declared_flops
*
1e-6
);
SANITY_CHECK_NOTHING
();
}
INSTANTIATE_TEST_CASE_P
(
/**/
,
Conv
,
Combine
(
ConvParamID
::
all
(),
dnnBackendsAndTargets
(
false
,
false
)
// defined in ../test/test_common.hpp
));
}
// namespace
modules/dnn/perf/perf_net.cpp
View file @
f33cbe94
...
...
@@ -14,10 +14,7 @@
namespace
opencv_test
{
CV_ENUM
(
DNNBackend
,
DNN_BACKEND_DEFAULT
,
DNN_BACKEND_HALIDE
,
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_BACKEND_OPENCV
)
CV_ENUM
(
DNNTarget
,
DNN_TARGET_CPU
,
DNN_TARGET_OPENCL
,
DNN_TARGET_OPENCL_FP16
,
DNN_TARGET_MYRIAD
)
class
DNNTestNetwork
:
public
::
perf
::
TestBaseWithParam
<
tuple
<
DNNBackend
,
DNNTarget
>
>
class
DNNTestNetwork
:
public
::
perf
::
TestBaseWithParam
<
tuple
<
Backend
,
Target
>
>
{
public
:
dnn
::
Backend
backend
;
...
...
@@ -269,22 +266,6 @@ PERF_TEST_P_(DNNTestNetwork, Inception_v2_Faster_RCNN)
Mat
(
cv
::
Size
(
800
,
600
),
CV_32FC3
));
}
const
tuple
<
DNNBackend
,
DNNTarget
>
testCases
[]
=
{
#ifdef HAVE_HALIDE
tuple
<
DNNBackend
,
DNNTarget
>
(
DNN_BACKEND_HALIDE
,
DNN_TARGET_CPU
),
tuple
<
DNNBackend
,
DNNTarget
>
(
DNN_BACKEND_HALIDE
,
DNN_TARGET_OPENCL
),
#endif
#ifdef HAVE_INF_ENGINE
tuple
<
DNNBackend
,
DNNTarget
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_CPU
),
tuple
<
DNNBackend
,
DNNTarget
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_OPENCL
),
tuple
<
DNNBackend
,
DNNTarget
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_OPENCL_FP16
),
tuple
<
DNNBackend
,
DNNTarget
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_MYRIAD
),
#endif
tuple
<
DNNBackend
,
DNNTarget
>
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_CPU
),
tuple
<
DNNBackend
,
DNNTarget
>
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_OPENCL
),
tuple
<
DNNBackend
,
DNNTarget
>
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_OPENCL_FP16
)
};
INSTANTIATE_TEST_CASE_P
(
/*nothing*/
,
DNNTestNetwork
,
testing
::
ValuesIn
(
testCases
));
INSTANTIATE_TEST_CASE_P
(
/*nothing*/
,
DNNTestNetwork
,
dnnBackendsAndTargets
());
}
// namespace
modules/dnn/perf/perf_precomp.hpp
View file @
f33cbe94
...
...
@@ -4,6 +4,8 @@
#include <opencv2/ts.hpp>
#include <opencv2/dnn.hpp>
#include "../test/test_common.hpp"
namespace
opencv_test
{
using
namespace
perf
;
using
namespace
cv
::
dnn
;
...
...
modules/dnn/test/test_backends.cpp
View file @
f33cbe94
...
...
@@ -285,21 +285,6 @@ TEST_P(DNNTestNetwork, FastNeuralStyle_eccv16)
processNet
(
"dnn/fast_neural_style_eccv16_starry_night.t7"
,
""
,
inp
,
""
,
""
,
l1
,
lInf
);
}
const
tuple
<
Backend
,
Target
>
testCases
[]
=
{
#ifdef HAVE_HALIDE
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_HALIDE
,
DNN_TARGET_CPU
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_HALIDE
,
DNN_TARGET_OPENCL
),
#endif
#ifdef HAVE_INF_ENGINE
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_CPU
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_OPENCL
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_OPENCL_FP16
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_MYRIAD
),
#endif
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_OPENCL
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_OPENCL_FP16
)
};
INSTANTIATE_TEST_CASE_P
(
/*nothing*/
,
DNNTestNetwork
,
testing
::
ValuesIn
(
testCases
));
INSTANTIATE_TEST_CASE_P
(
/*nothing*/
,
DNNTestNetwork
,
dnnBackendsAndTargets
(
true
,
true
,
false
));
}}
// namespace
modules/dnn/test/test_common.hpp
View file @
f33cbe94
...
...
@@ -42,6 +42,47 @@
#ifndef __OPENCV_TEST_COMMON_HPP__
#define __OPENCV_TEST_COMMON_HPP__
#ifdef HAVE_OPENCL
#include "opencv2/core/ocl.hpp"
#endif
namespace
cv
{
namespace
dnn
{
CV__DNN_EXPERIMENTAL_NS_BEGIN
static
inline
void
PrintTo
(
const
cv
::
dnn
::
Backend
&
v
,
std
::
ostream
*
os
)
{
switch
(
v
)
{
case
DNN_BACKEND_DEFAULT
:
*
os
<<
"DEFAULT"
;
return
;
case
DNN_BACKEND_HALIDE
:
*
os
<<
"HALIDE"
;
return
;
case
DNN_BACKEND_INFERENCE_ENGINE
:
*
os
<<
"DLIE"
;
return
;
case
DNN_BACKEND_OPENCV
:
*
os
<<
"OCV"
;
return
;
}
// don't use "default:" to emit compiler warnings
*
os
<<
"DNN_BACKEND_UNKNOWN("
<<
v
<<
")"
;
}
static
inline
void
PrintTo
(
const
cv
::
dnn
::
Target
&
v
,
std
::
ostream
*
os
)
{
switch
(
v
)
{
case
DNN_TARGET_CPU
:
*
os
<<
"CPU"
;
return
;
case
DNN_TARGET_OPENCL
:
*
os
<<
"OCL"
;
return
;
case
DNN_TARGET_OPENCL_FP16
:
*
os
<<
"OCL_FP16"
;
return
;
case
DNN_TARGET_MYRIAD
:
*
os
<<
"MYRIAD"
;
return
;
}
// don't use "default:" to emit compiler warnings
*
os
<<
"DNN_TARGET_UNKNOWN("
<<
v
<<
")"
;
}
using
opencv_test
::
tuple
;
using
opencv_test
::
get
;
static
inline
void
PrintTo
(
const
tuple
<
cv
::
dnn
::
Backend
,
cv
::
dnn
::
Target
>
v
,
std
::
ostream
*
os
)
{
PrintTo
(
get
<
0
>
(
v
),
os
);
*
os
<<
"/"
;
PrintTo
(
get
<
1
>
(
v
),
os
);
}
CV__DNN_EXPERIMENTAL_NS_END
}}
// namespace
static
inline
const
std
::
string
&
getOpenCVExtraDir
()
{
return
cvtest
::
TS
::
ptr
()
->
get_data_path
();
...
...
@@ -190,4 +231,50 @@ static inline bool readFileInMemory(const std::string& filename, std::string& co
return
true
;
}
namespace
opencv_test
{
using
namespace
cv
::
dnn
;
static
testing
::
internal
::
ParamGenerator
<
tuple
<
Backend
,
Target
>
>
dnnBackendsAndTargets
(
bool
withInferenceEngine
=
true
,
bool
withHalide
=
false
,
bool
withCpuOCV
=
true
)
{
std
::
vector
<
tuple
<
Backend
,
Target
>
>
targets
;
#ifdef HAVE_HALIDE
if
(
withHalide
)
{
targets
.
push_back
(
make_tuple
(
DNN_BACKEND_HALIDE
,
DNN_TARGET_CPU
));
if
(
cv
::
ocl
::
useOpenCL
())
targets
.
push_back
(
make_tuple
(
DNN_BACKEND_HALIDE
,
DNN_TARGET_OPENCL
));
}
#endif
#ifdef HAVE_INF_ENGINE
if
(
withInferenceEngine
)
{
targets
.
push_back
(
make_tuple
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_CPU
));
if
(
cv
::
ocl
::
useOpenCL
())
{
targets
.
push_back
(
make_tuple
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_OPENCL
));
targets
.
push_back
(
make_tuple
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_OPENCL_FP16
));
}
if
(
checkMyriadTarget
())
targets
.
push_back
(
make_tuple
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_MYRIAD
));
}
#endif
if
(
withCpuOCV
)
targets
.
push_back
(
make_tuple
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_CPU
));
#ifdef HAVE_OPENCL
if
(
cv
::
ocl
::
useOpenCL
())
{
targets
.
push_back
(
make_tuple
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_OPENCL
));
targets
.
push_back
(
make_tuple
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_OPENCL_FP16
));
}
#endif
return
testing
::
ValuesIn
(
targets
);
}
}
// namespace
#endif
modules/dnn/test/test_halide_layers.cpp
View file @
f33cbe94
...
...
@@ -44,23 +44,9 @@ static void test(LayerParams& params, Mat& input, Backend backendId, Target targ
test
(
input
,
net
,
backendId
,
targetId
,
skipCheck
);
}
static
testing
::
internal
::
ParamGenerator
<
tuple
<
Backend
,
Target
>
>
dnnBackendsAndTargetsWithHalide
()
static
inline
testing
::
internal
::
ParamGenerator
<
tuple
<
Backend
,
Target
>
>
dnnBackendsAndTargetsWithHalide
()
{
static
const
tuple
<
Backend
,
Target
>
testCases
[]
=
{
#ifdef HAVE_HALIDE
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_HALIDE
,
DNN_TARGET_CPU
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_HALIDE
,
DNN_TARGET_OPENCL
),
#endif
#ifdef HAVE_INF_ENGINE
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_CPU
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_OPENCL
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_OPENCL_FP16
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_MYRIAD
),
#endif
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_OPENCL
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_OPENCL_FP16
)
};
return
testing
::
ValuesIn
(
testCases
);
return
dnnBackendsAndTargets
(
true
,
true
,
false
);
// OpenCV/CPU is used as reference
}
class
Test_Halide_layers
:
public
DNNTestLayer
{};
...
...
modules/dnn/test/test_precomp.hpp
View file @
f33cbe94
...
...
@@ -49,35 +49,6 @@
#include "opencv2/dnn.hpp"
#include "test_common.hpp"
namespace
cv
{
namespace
dnn
{
CV__DNN_EXPERIMENTAL_NS_BEGIN
static
inline
void
PrintTo
(
const
cv
::
dnn
::
Backend
&
v
,
std
::
ostream
*
os
)
{
switch
(
v
)
{
case
DNN_BACKEND_DEFAULT
:
*
os
<<
"DNN_BACKEND_DEFAULT"
;
return
;
case
DNN_BACKEND_HALIDE
:
*
os
<<
"DNN_BACKEND_HALIDE"
;
return
;
case
DNN_BACKEND_INFERENCE_ENGINE
:
*
os
<<
"DNN_BACKEND_INFERENCE_ENGINE"
;
return
;
case
DNN_BACKEND_OPENCV
:
*
os
<<
"DNN_BACKEND_OPENCV"
;
return
;
}
// don't use "default:" to emit compiler warnings
*
os
<<
"DNN_BACKEND_UNKNOWN("
<<
v
<<
")"
;
}
static
inline
void
PrintTo
(
const
cv
::
dnn
::
Target
&
v
,
std
::
ostream
*
os
)
{
switch
(
v
)
{
case
DNN_TARGET_CPU
:
*
os
<<
"DNN_TARGET_CPU"
;
return
;
case
DNN_TARGET_OPENCL
:
*
os
<<
"DNN_TARGET_OPENCL"
;
return
;
case
DNN_TARGET_OPENCL_FP16
:
*
os
<<
"DNN_TARGET_OPENCL_FP16"
;
return
;
case
DNN_TARGET_MYRIAD
:
*
os
<<
"DNN_TARGET_MYRIAD"
;
return
;
}
// don't use "default:" to emit compiler warnings
*
os
<<
"DNN_TARGET_UNKNOWN("
<<
v
<<
")"
;
}
CV__DNN_EXPERIMENTAL_NS_END
}}
// namespace
namespace
opencv_test
{
using
namespace
cv
::
dnn
;
...
...
@@ -95,22 +66,6 @@ static testing::internal::ParamGenerator<Target> availableDnnTargets()
return
testing
::
ValuesIn
(
targets
);
}
static
testing
::
internal
::
ParamGenerator
<
tuple
<
Backend
,
Target
>
>
dnnBackendsAndTargets
()
{
static
const
tuple
<
Backend
,
Target
>
testCases
[]
=
{
#ifdef HAVE_INF_ENGINE
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_CPU
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_OPENCL
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_OPENCL_FP16
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_INFERENCE_ENGINE
,
DNN_TARGET_MYRIAD
),
#endif
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_CPU
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_OPENCL
),
tuple
<
Backend
,
Target
>
(
DNN_BACKEND_OPENCV
,
DNN_TARGET_OPENCL_FP16
)
};
return
testing
::
ValuesIn
(
testCases
);
}
class
DNNTestLayer
:
public
TestWithParam
<
tuple
<
Backend
,
Target
>
>
{
public
:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment