@@ -49,15 +49,16 @@ TEST(DataTypeTransform, GPUTransform) {
49
49
float arr[6 ] = {0 , 1 , 2 , 3 , 4 , 5 };
50
50
int data_number = sizeof (arr) / sizeof (arr[0 ]);
51
51
memcpy (in_ptr, arr, sizeof (arr));
52
- TensorCopy (in, gpu_place, context, &in_gpu);
53
52
53
+ TensorCopy (in, gpu_place, context, &in_gpu);
54
+ context.Wait ();
54
55
TransDataType (kernel_fp32, kernel_fp64, in_gpu, &out_gpu);
55
56
TensorCopy (out_gpu, cpu_place, context, &out);
56
57
context.Wait ();
57
58
58
59
double * out_data_double = out.data <double >();
59
60
for (int i = 0 ; i < data_number; ++i) {
60
- ASSERT_EQ (out_data_double[i], static_cast <double >(arr[i]));
61
+ EXPECT_EQ (out_data_double[i], static_cast <double >(arr[i]));
61
62
}
62
63
63
64
TransDataType (kernel_fp32, kernel_int32, in_gpu, &out_gpu);
@@ -66,7 +67,7 @@ TEST(DataTypeTransform, GPUTransform) {
66
67
67
68
int * out_data_int = out.data <int >();
68
69
for (int i = 0 ; i < data_number; ++i) {
69
- ASSERT_EQ (out_data_int[i], static_cast <int >(arr[i]));
70
+ EXPECT_EQ (out_data_int[i], static_cast <int >(arr[i]));
70
71
}
71
72
}
72
73
@@ -83,6 +84,7 @@ TEST(DataTypeTransform, GPUTransform) {
83
84
int data_number = sizeof (arr) / sizeof (arr[0 ]);
84
85
memcpy (ptr, arr, sizeof (arr));
85
86
TensorCopy (in, gpu_place, context, &in_gpu);
87
+ context.Wait ();
86
88
87
89
// transform from float16 to other data types
88
90
TransDataType (kernel_fp16, kernel_fp32, in_gpu, &out_gpu);
@@ -91,7 +93,7 @@ TEST(DataTypeTransform, GPUTransform) {
91
93
92
94
float * out_data_float = out.data <float >();
93
95
for (int i = 0 ; i < data_number; ++i) {
94
- ASSERT_EQ (out_data_float[i], static_cast <float >(ptr[i]));
96
+ EXPECT_EQ (out_data_float[i], static_cast <float >(ptr[i]));
95
97
}
96
98
97
99
TransDataType (kernel_fp16, kernel_fp64, in_gpu, &out_gpu);
@@ -100,7 +102,7 @@ TEST(DataTypeTransform, GPUTransform) {
100
102
101
103
double * out_data_double = out.data <double >();
102
104
for (int i = 0 ; i < data_number; ++i) {
103
- ASSERT_EQ (out_data_double[i], static_cast <double >(ptr[i]));
105
+ EXPECT_EQ (out_data_double[i], static_cast <double >(ptr[i]));
104
106
}
105
107
106
108
TransDataType (kernel_fp16, kernel_int32, in_gpu, &out_gpu);
@@ -109,7 +111,7 @@ TEST(DataTypeTransform, GPUTransform) {
109
111
110
112
int * out_data_int = out.data <int >();
111
113
for (int i = 0 ; i < data_number; ++i) {
112
- ASSERT_EQ (out_data_int[i], static_cast <int >(ptr[i]));
114
+ EXPECT_EQ (out_data_int[i], static_cast <int >(ptr[i]));
113
115
}
114
116
115
117
TransDataType (kernel_fp16, kernel_int64, in_gpu, &out_gpu);
@@ -118,7 +120,7 @@ TEST(DataTypeTransform, GPUTransform) {
118
120
119
121
int64_t * out_data_int64 = out.data <int64_t >();
120
122
for (int i = 0 ; i < data_number; ++i) {
121
- ASSERT_EQ (out_data_int64[i], static_cast <int64_t >(ptr[i]));
123
+ EXPECT_EQ (out_data_int64[i], static_cast <int64_t >(ptr[i]));
122
124
}
123
125
124
126
TransDataType (kernel_fp16, kernel_bool, in_gpu, &out_gpu);
@@ -127,7 +129,7 @@ TEST(DataTypeTransform, GPUTransform) {
127
129
128
130
bool * out_data_bool = out.data <bool >();
129
131
for (int i = 0 ; i < data_number; ++i) {
130
- ASSERT_EQ (out_data_bool[i], static_cast <bool >(ptr[i]));
132
+ EXPECT_EQ (out_data_bool[i], static_cast <bool >(ptr[i]));
131
133
}
132
134
133
135
// transform float to float16
@@ -137,13 +139,14 @@ TEST(DataTypeTransform, GPUTransform) {
137
139
}
138
140
139
141
TensorCopy (in, gpu_place, context, &in_gpu);
142
+ context.Wait ();
140
143
TransDataType (kernel_fp32, kernel_fp16, in_gpu, &out_gpu);
141
144
TensorCopy (out_gpu, cpu_place, context, &out);
142
145
context.Wait ();
143
146
144
147
ptr = out.data <float16>();
145
148
for (int i = 0 ; i < data_number; ++i) {
146
- ASSERT_EQ (ptr[i].x , static_cast <float16>(in_data_float[i]).x );
149
+ EXPECT_EQ (ptr[i].x , static_cast <float16>(in_data_float[i]).x );
147
150
}
148
151
149
152
// transform double to float16
@@ -154,13 +157,14 @@ TEST(DataTypeTransform, GPUTransform) {
154
157
}
155
158
156
159
TensorCopy (in, gpu_place, context, &in_gpu);
160
+ context.Wait ();
157
161
TransDataType (kernel_fp64, kernel_fp16, in_gpu, &out_gpu);
158
162
TensorCopy (out_gpu, cpu_place, context, &out);
159
163
context.Wait ();
160
164
161
165
ptr = out.data <float16>();
162
166
for (int i = 0 ; i < data_number; ++i) {
163
- ASSERT_EQ (ptr[i].x , static_cast <float16>(in_data_double[i]).x );
167
+ EXPECT_EQ (ptr[i].x , static_cast <float16>(in_data_double[i]).x );
164
168
}
165
169
166
170
// transform int to float16
@@ -170,13 +174,14 @@ TEST(DataTypeTransform, GPUTransform) {
170
174
}
171
175
172
176
TensorCopy (in, gpu_place, context, &in_gpu);
177
+ context.Wait ();
173
178
TransDataType (kernel_int32, kernel_fp16, in_gpu, &out_gpu);
174
179
TensorCopy (out_gpu, cpu_place, context, &out);
175
180
context.Wait ();
176
181
177
182
ptr = out.data <float16>();
178
183
for (int i = 0 ; i < data_number; ++i) {
179
- ASSERT_EQ (ptr[i].x , static_cast <float16>(in_data_int[i]).x );
184
+ EXPECT_EQ (ptr[i].x , static_cast <float16>(in_data_int[i]).x );
180
185
}
181
186
182
187
// transform int64 to float16
@@ -187,13 +192,14 @@ TEST(DataTypeTransform, GPUTransform) {
187
192
}
188
193
189
194
TensorCopy (in, gpu_place, context, &in_gpu);
195
+ context.Wait ();
190
196
TransDataType (kernel_int64, kernel_fp16, in_gpu, &out_gpu);
191
197
TensorCopy (out_gpu, cpu_place, context, &out);
192
198
context.Wait ();
193
199
194
200
ptr = out.data <float16>();
195
201
for (int i = 0 ; i < data_number; ++i) {
196
- ASSERT_EQ (ptr[i].x , static_cast <float16>(in_data_int64[i]).x );
202
+ EXPECT_EQ (ptr[i].x , static_cast <float16>(in_data_int64[i]).x );
197
203
}
198
204
199
205
// transform bool to float16
@@ -203,13 +209,14 @@ TEST(DataTypeTransform, GPUTransform) {
203
209
}
204
210
205
211
TensorCopy (in, gpu_place, context, &in_gpu);
212
+ context.Wait ();
206
213
TransDataType (kernel_bool, kernel_fp16, in_gpu, &out_gpu);
207
214
TensorCopy (out_gpu, cpu_place, context, &out);
208
215
context.Wait ();
209
216
210
217
ptr = out.data <float16>();
211
218
for (int i = 0 ; i < data_number; ++i) {
212
- ASSERT_EQ (ptr[i].x , static_cast <float16>(in_data_bool[i]).x );
219
+ EXPECT_EQ (ptr[i].x , static_cast <float16>(in_data_bool[i]).x );
213
220
}
214
221
}
215
222
}
0 commit comments