1 // Copyright 2020 Google LLC
2 //
3 // This source code is licensed under the BSD-style license found in the
4 // LICENSE file in the root directory of this source tree.
5
6 #include <gtest/gtest.h>
7
8 #include "copy-operator-tester.h"
9
10
TEST(COPY_NC_X8,unit_batch)11 TEST(COPY_NC_X8, unit_batch) {
12 for (size_t channels = 1; channels < 100; channels++) {
13 CopyOperatorTester()
14 .batch_size(1)
15 .channels(channels)
16 .iterations(3)
17 .TestX8();
18 }
19 }
20
TEST(COPY_NC_X8,small_batch)21 TEST(COPY_NC_X8, small_batch) {
22 for (size_t channels = 1; channels < 100; channels++) {
23 CopyOperatorTester()
24 .batch_size(3)
25 .channels(channels)
26 .iterations(3)
27 .TestX8();
28 }
29 }
30
TEST(COPY_NC_X8,small_batch_with_input_stride)31 TEST(COPY_NC_X8, small_batch_with_input_stride) {
32 for (size_t channels = 1; channels < 100; channels += 15) {
33 CopyOperatorTester()
34 .batch_size(3)
35 .channels(channels)
36 .input_stride(129)
37 .iterations(3)
38 .TestX8();
39 }
40 }
41
TEST(COPY_NC_X8,small_batch_with_output_stride)42 TEST(COPY_NC_X8, small_batch_with_output_stride) {
43 for (size_t channels = 1; channels < 100; channels += 15) {
44 CopyOperatorTester()
45 .batch_size(3)
46 .channels(channels)
47 .output_stride(117)
48 .iterations(3)
49 .TestX8();
50 }
51 }
52
TEST(COPY_NC_X8,small_batch_with_input_and_output_stride)53 TEST(COPY_NC_X8, small_batch_with_input_and_output_stride) {
54 for (size_t channels = 1; channels < 100; channels += 15) {
55 CopyOperatorTester()
56 .batch_size(3)
57 .channels(channels)
58 .input_stride(129)
59 .output_stride(117)
60 .iterations(3)
61 .TestX8();
62 }
63 }
64
65
TEST(COPY_NC_X16,unit_batch)66 TEST(COPY_NC_X16, unit_batch) {
67 for (size_t channels = 1; channels < 100; channels++) {
68 CopyOperatorTester()
69 .batch_size(1)
70 .channels(channels)
71 .iterations(3)
72 .TestX16();
73 }
74 }
75
TEST(COPY_NC_X16,small_batch)76 TEST(COPY_NC_X16, small_batch) {
77 for (size_t channels = 1; channels < 100; channels++) {
78 CopyOperatorTester()
79 .batch_size(3)
80 .channels(channels)
81 .iterations(3)
82 .TestX16();
83 }
84 }
85
TEST(COPY_NC_X16,small_batch_with_input_stride)86 TEST(COPY_NC_X16, small_batch_with_input_stride) {
87 for (size_t channels = 1; channels < 100; channels += 15) {
88 CopyOperatorTester()
89 .batch_size(3)
90 .channels(channels)
91 .input_stride(129)
92 .iterations(3)
93 .TestX16();
94 }
95 }
96
TEST(COPY_NC_X16,small_batch_with_output_stride)97 TEST(COPY_NC_X16, small_batch_with_output_stride) {
98 for (size_t channels = 1; channels < 100; channels += 15) {
99 CopyOperatorTester()
100 .batch_size(3)
101 .channels(channels)
102 .output_stride(117)
103 .iterations(3)
104 .TestX16();
105 }
106 }
107
TEST(COPY_NC_X16,small_batch_with_input_and_output_stride)108 TEST(COPY_NC_X16, small_batch_with_input_and_output_stride) {
109 for (size_t channels = 1; channels < 100; channels += 15) {
110 CopyOperatorTester()
111 .batch_size(3)
112 .channels(channels)
113 .input_stride(129)
114 .output_stride(117)
115 .iterations(3)
116 .TestX16();
117 }
118 }
119
120
TEST(COPY_NC_X32,unit_batch)121 TEST(COPY_NC_X32, unit_batch) {
122 for (size_t channels = 1; channels < 100; channels++) {
123 CopyOperatorTester()
124 .batch_size(1)
125 .channels(channels)
126 .iterations(3)
127 .TestX32();
128 }
129 }
130
TEST(COPY_NC_X32,small_batch)131 TEST(COPY_NC_X32, small_batch) {
132 for (size_t channels = 1; channels < 100; channels++) {
133 CopyOperatorTester()
134 .batch_size(3)
135 .channels(channels)
136 .iterations(3)
137 .TestX32();
138 }
139 }
140
TEST(COPY_NC_X32,small_batch_with_input_stride)141 TEST(COPY_NC_X32, small_batch_with_input_stride) {
142 for (size_t channels = 1; channels < 100; channels += 15) {
143 CopyOperatorTester()
144 .batch_size(3)
145 .channels(channels)
146 .input_stride(129)
147 .iterations(3)
148 .TestX32();
149 }
150 }
151
TEST(COPY_NC_X32,small_batch_with_output_stride)152 TEST(COPY_NC_X32, small_batch_with_output_stride) {
153 for (size_t channels = 1; channels < 100; channels += 15) {
154 CopyOperatorTester()
155 .batch_size(3)
156 .channels(channels)
157 .output_stride(117)
158 .iterations(3)
159 .TestX32();
160 }
161 }
162
TEST(COPY_NC_X32,small_batch_with_input_and_output_stride)163 TEST(COPY_NC_X32, small_batch_with_input_and_output_stride) {
164 for (size_t channels = 1; channels < 100; channels += 15) {
165 CopyOperatorTester()
166 .batch_size(3)
167 .channels(channels)
168 .input_stride(129)
169 .output_stride(117)
170 .iterations(3)
171 .TestX32();
172 }
173 }
174