1 /*******************************************************************************
2 * Copyright 2016-2018 Intel Corporation
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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 *******************************************************************************/
17 #include "mkldnn_test_common.hpp"
18 #include "gtest/gtest.h"
21 #include "test_convolution_forward_common_3d.hpp"
22 #include "test_convolution_forward_common.hpp"
25 using convolution_test = convolution_forward_test<float, float, float, float>;
26 using convolution_test_3d = convolution_forward_test_3d<float, float, float, float>;
28 TEST_P(convolution_test_3d, TestConvolution)
33 #define DIRECTION_FORWARD
34 #include "convolution_common.h"
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)
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)
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)
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)
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)