Publishing 2019 R1 content
[platform/upstream/dldt.git] / inference-engine / thirdparty / mkl-dnn / tests / gtests / test_convolution_forward_f32_3d.cpp
1 /*******************************************************************************
2 * Copyright 2016-2018 Intel Corporation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *     http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 *******************************************************************************/
16
17 #include "mkldnn_test_common.hpp"
18 #include "gtest/gtest.h"
19
20 #include "mkldnn.hpp"
21 #include "test_convolution_forward_common_3d.hpp"
22 #include "test_convolution_forward_common.hpp"
23 namespace mkldnn {
24
25 using convolution_test = convolution_forward_test<float, float, float, float>;
26 using convolution_test_3d = convolution_forward_test_3d<float, float, float, float>;
27
28 TEST_P(convolution_test_3d, TestConvolution)
29 {
30 }
31
32 #define FP32
33 #define DIRECTION_FORWARD
34 #include "convolution_common.h"
35
36 INST_TEST_CASE_3D(SimpleSmall_NCDHW,
37     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
38         2, 1, 4, 4, 4, 4, 6, 4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1),
39     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
40         2, 1, 4, 4, 4, 4, 6, 2, 2, 2, 3, 3, 3, 0, 0, 0, 1, 1, 1),
41     PARAMS_3D(ndhwc, oidhw, FMT_BIAS, ndhwc,
42         2, 1, 4, 4, 4, 4, 6, 4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1),
43     PARAMS_3D(ndhwc, oidhw, FMT_BIAS, ndhwc,
44         2, 1, 4, 4, 4, 4, 6, 2, 2, 3, 3, 3, 3, 0, 0, 0, 1, 1, 1),
45     PARAMS_3D(ndhwc, dhwio, FMT_BIAS, ndhwc,
46         2, 1, 4, 4, 4, 4, 6, 4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1),
47     PARAMS_3D(ndhwc, dhwio, FMT_BIAS, ndhwc,
48         2, 1, 4, 4, 4, 4, 6, 2, 2, 2, 3, 3, 3, 0, 0, 0, 1, 1, 1)
49 );
50
51 INST_TEST_CASE_3D(SimpleSmall_Blocked,
52     PARAMS_3D(nCdhw8c, OIdhw8i8o, FMT_BIAS, nCdhw8c,
53         2, 1, 32, 13, 13, 13, 32, 12, 12, 12, 3, 3, 3, 0, 0, 0, 1, 1, 1),
54     PARAMS_3D(nCdhw8c, OIdhw8i8o, FMT_BIAS, nCdhw8c,
55         2, 1, 32, 3, 3, 3, 32, 4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1),
56     PARAMS_3D(nCdhw8c, OIdhw8i8o, FMT_BIAS, nCdhw8c,
57         2, 1, 32, 4, 4, 4, 32, 4, 4, 4, 3, 3, 3, 0, 0, 0, 1, 1, 1),
58     PARAMS_3D(nCdhw8c, OIdhw8i8o, FMT_BIAS, nCdhw8c,
59         2, 1, 32, 3, 3, 3, 32, 2, 2, 2, 3, 3, 3, 0, 0, 0, 1, 1, 1),
60     PARAMS_3D(nCdhw8c, OIdhw8i8o, FMT_BIAS, nCdhw8c,
61         2, 1, 32, 2, 2, 2, 32, 2, 2, 2, 3, 3, 3, 1, 1, 1, 1, 1, 1),
62     PARAMS_3D(nCdhw8c, OIdhw8i8o, FMT_BIAS, nCdhw8c,
63         2, 1, 32, 13, 13, 13, 48, 13, 13, 13, 3, 3, 3, 1, 1, 1, 1, 1, 1),
64     PARAMS_3D(nCdhw8c, OIdhw8i8o, FMT_BIAS, nCdhw8c,
65         2, 1, 32, 13, 13, 13, 48, 11, 11, 11, 3, 3, 3, 0, 0, 0, 1, 1, 1)
66 );
67
68 INST_TEST_CASE_3D(SimpleSmall_Blocked16,
69     PARAMS_3D(nCdhw16c, OIdhw16i16o, FMT_BIAS, nCdhw16c,
70         2, 1, 32, 13, 13, 13, 32, 12, 12, 12, 3, 3, 3, 0, 0, 0, 1, 1, 1),
71     PARAMS_3D(nCdhw16c, OIdhw16i16o, FMT_BIAS, nCdhw16c,
72         2, 1, 32, 3, 3, 3, 32, 4, 4, 4, 3, 3, 3, 1, 1, 1, 1, 1, 1),
73     PARAMS_3D(nCdhw16c, OIdhw16i16o, FMT_BIAS, nCdhw16c,
74         2, 1, 32, 4, 4, 4, 32, 4, 4, 4, 3, 3, 3, 0, 0, 0, 1, 1, 1),
75     PARAMS_3D(nCdhw16c, OIdhw16i16o, FMT_BIAS, nCdhw16c,
76         2, 1, 32, 3, 3, 3, 32, 2, 2, 2, 3, 3, 3, 0, 0, 0, 1, 1, 1),
77     PARAMS_3D(nCdhw16c, OIdhw16i16o, FMT_BIAS, nCdhw16c,
78         2, 1, 32, 2, 2, 2, 32, 2, 2, 2, 3, 3, 3, 1, 1, 1, 1, 1, 1),
79     PARAMS_3D(nCdhw16c, OIdhw16i16o, FMT_BIAS, nCdhw16c,
80         2, 1, 32, 13, 13, 13, 48, 13, 13, 13, 3, 3, 3, 1, 1, 1, 1, 1, 1),
81     PARAMS_3D(nCdhw16c, OIdhw16i16o, FMT_BIAS, nCdhw16c,
82         2, 1, 32, 13, 13, 13, 48, 11, 11, 11, 3, 3, 3, 0, 0, 0, 1, 1, 1)
83 );
84
85 INST_TEST_CASE_3D(SimpleSmall_NCDHW_PLANAR,
86     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
87         2, 1, 1, 79, 79, 79, 1, 77, 77, 79, 5, 5, 5, 1, 1, 2, 1, 1, 1, 0, 0, 0),
88     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
89         2, 1, 1, 79, 79, 79, 1, 75, 79, 75, 5, 5, 5, 2, 0, 2, 1, 1, 1, 0, 0, 0),
90     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
91         2, 1, 9, 68, 68, 68, 1, 50, 50, 50, 5, 5, 5, 18, 18, 18, 1, 1, 1, 8, 8, 8),
92     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
93         2, 1, 1, 75, 63, 91, 1, 73, 61, 91, 5, 5, 5, 1, 1, 2, 1, 1, 1, 0, 0, 0),
94     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
95         2, 1, 1, 58, 41, 37, 1, 58, 37, 37, 5, 5, 5, 2, 0, 2, 1, 1, 1, 0, 0, 0),
96     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
97         2, 1, 9, 68, 34, 48, 1, 50, 16, 30, 5, 5, 5, 18, 18, 18, 1, 1, 1, 8, 8, 8)
98 );
99
100 INST_TEST_CASE_3D(SimpleSmall_NCDHW_MSD,
101     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
102         2, 1, 1, 79, 79, 79, 1, 79, 79, 79, 5, 5, 5, 2, 2, 2, 1, 1, 1, 0, 0, 0),
103     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
104         2, 1, 2, 77, 77, 77, 1, 77, 77, 77, 5, 5, 5, 4, 4, 4, 1, 1, 1, 1, 1, 1),
105     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
106         2, 1, 3, 50, 50, 50, 1, 50, 50, 50, 5, 5, 5, 6, 6, 6, 1, 1, 1, 2, 2, 2),
107     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
108         2, 1, 8, 30, 30, 30, 1, 30, 30, 30, 5, 5, 5, 16, 16, 16, 1, 1, 1, 7, 7, 7),
109     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
110         2, 1, 40, 15, 15, 15, 1, 15, 15, 15, 5, 5, 5, 20, 20, 20, 1, 1, 1, 9, 9, 9),
111     PARAMS_3D(ncdhw, oidhw, FMT_BIAS, ncdhw,
112         2, 1, 41, 111, 111, 111, 1, 111, 111, 111, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0)
113 );
114
115 }