Skip to content

Commit 36710e3

Browse files
authored
Extend helper assert and print message on success (#383)
Can either take vector-like type or invokable comparison operator
1 parent 62260d2 commit 36710e3

File tree

23 files changed

+133
-91
lines changed

23 files changed

+133
-91
lines changed

Code_Exercises/Advanced_Data_Flow/solution.cpp

+2-6
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,7 @@ void test_buffer() {
6767
std::cout << "Exception caught: " << e.what() << std::endl;
6868
}
6969

70-
for (int i = 0; i < dataSize; ++i) {
71-
SYCLACADEMY_ASSERT(out[i] == i * 4.0f);
72-
}
70+
SYCLACADEMY_ASSERT_EQUAL(out, [](size_t i) { return i * 4.0f; });
7371
}
7472

7573
void test_usm() {
@@ -118,9 +116,7 @@ void test_usm() {
118116
std::cout << "Exception caught: " << e.what() << std::endl;
119117
}
120118

121-
for (int i = 0; i < dataSize; ++i) {
122-
SYCLACADEMY_ASSERT(out[i] == i * 4.0f);
123-
}
119+
SYCLACADEMY_ASSERT_EQUAL(out, [](size_t i) { return i * 4.0f; });
124120
}
125121

126122
int main() {

Code_Exercises/Advanced_Data_Flow/source.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,5 @@ int main() {
7373
out[i] = tmp[i] / 2.0f;
7474
}
7575

76-
for (int i = 0; i < dataSize; ++i) {
77-
SYCLACADEMY_ASSERT(out[i] == i * 4.0f);
78-
}
76+
SYCLACADEMY_ASSERT_EQUAL(out, [](size_t i) { return i * 4.0f; });
7977
}

Code_Exercises/Asynchronous_Execution/solution.cpp

+6-18
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,7 @@ void test_buffer_event_wait() {
6161
std::cout << "Exception caught: " << e.what() << std::endl;
6262
}
6363

64-
for (int i = 0; i < dataSize; ++i) {
65-
SYCLACADEMY_ASSERT(r[i] == i * 2);
66-
}
64+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2; });
6765
}
6866

6967
void test_buffer_queue_wait() {
@@ -98,9 +96,7 @@ void test_buffer_queue_wait() {
9896
std::cout << "Exception caught: " << e.what() << std::endl;
9997
}
10098

101-
for (int i = 0; i < dataSize; ++i) {
102-
SYCLACADEMY_ASSERT(r[i] == i * 2);
103-
}
99+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2; });
104100
}
105101

106102
void test_buffer_buffer_destruction() {
@@ -137,9 +133,7 @@ void test_buffer_buffer_destruction() {
137133
std::cout << "Exception caught: " << e.what() << std::endl;
138134
}
139135

140-
for (int i = 0; i < dataSize; ++i) {
141-
SYCLACADEMY_ASSERT(r[i] == i * 2);
142-
}
136+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2; });
143137
}
144138

145139
void test_usm_event_wait() {
@@ -189,9 +183,7 @@ void test_usm_event_wait() {
189183
std::cout << "Exception caught: " << e.what() << std::endl;
190184
}
191185

192-
for (int i = 0; i < dataSize; ++i) {
193-
SYCLACADEMY_ASSERT(r[i] == i * 2);
194-
}
186+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2; });
195187
}
196188

197189
void test_usm_queue_wait() {
@@ -239,9 +231,7 @@ void test_usm_queue_wait() {
239231
std::cout << "Exception caught: " << e.what() << std::endl;
240232
}
241233

242-
for (int i = 0; i < dataSize; ++i) {
243-
SYCLACADEMY_ASSERT(r[i] == i * 2);
244-
}
234+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2; });
245235
}
246236

247237
void test_buffer_host_accessor() {
@@ -277,9 +267,7 @@ void test_buffer_host_accessor() {
277267
{
278268
auto hostAccR = bufR.get_host_access(sycl::read_only); // Copy-to-host
279269

280-
for (int i = 0; i < dataSize; ++i) {
281-
SYCLACADEMY_ASSERT(hostAccR[i] == i * 2);
282-
}
270+
SYCLACADEMY_ASSERT_EQUAL(hostAccR, [](size_t i) { return i * 2; });
283271
}
284272

285273
} // Copy-back

Code_Exercises/Asynchronous_Execution/source.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@
4848

4949
void test_usm() {
5050
// Use your code from the "Data Parallelism" exercise to start
51-
SYCLACADEMY_ASSERT(true);
51+
SYCLACADEMY_ASSERT_EQUAL(/*output data*/ 0, /*expected data*/ 0);
5252
}
5353

5454
void test_buffer() {
5555
// Use your code from the "Data Parallelism" exercise to start
56-
SYCLACADEMY_ASSERT(true);
56+
SYCLACADEMY_ASSERT_EQUAL(/*output data*/ 0, /*expected data*/ 0);
5757
}
5858

5959
int main() {

Code_Exercises/Data_Parallelism/solution.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,5 @@ int main() {
4848
std::cout << "Exception caught: " << e.what() << std::endl;
4949
}
5050

51-
for (int i = 0; i < dataSize; ++i) {
52-
SYCLACADEMY_ASSERT(r[i] == static_cast<float>(i) * 2.0f);
53-
}
51+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2.0f; });
5452
}

Code_Exercises/Data_Parallelism/source.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,5 @@ int main() {
5656
r[i] = a[i] + b[i];
5757
}
5858

59-
for (int i = 0; i < dataSize; ++i) {
60-
SYCLACADEMY_ASSERT(r[i] == static_cast<float>(i) * 2.0f);
61-
}
59+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2.0f; });
6260
}

Code_Exercises/Data_and_Dependencies/solution.cpp

+2-6
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,7 @@ void test_buffer() {
8989
std::cout << "Exception caught: " << e.what() << std::endl;
9090
}
9191

92-
for (int i = 0; i < dataSize; ++i) {
93-
SYCLACADEMY_ASSERT(out[i] == i * 2.0f);
94-
}
92+
SYCLACADEMY_ASSERT_EQUAL(out, [](size_t i) { return i * 2.0f; });
9593
}
9694

9795
void test_usm() {
@@ -156,9 +154,7 @@ void test_usm() {
156154
std::cout << "Exception caught: " << e.what() << std::endl;
157155
}
158156

159-
for (int i = 0; i < dataSize; ++i) {
160-
SYCLACADEMY_ASSERT(out[i] == i * 2.0f);
161-
}
157+
SYCLACADEMY_ASSERT_EQUAL(out, [](size_t i) { return i * 2.0f; });
162158
}
163159

164160
int main() {

Code_Exercises/Data_and_Dependencies/source.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,5 @@ int main() {
8787
out[i] = inB[i] + inC[i];
8888
}
8989

90-
for (int i = 0; i < dataSize; ++i) {
91-
SYCLACADEMY_ASSERT(out[i] == i * 2.0f);
92-
}
90+
SYCLACADEMY_ASSERT_EQUAL(out, [](size_t i) { return i * 2.0f; });
9391
}

Code_Exercises/Device_Discovery/solution.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -68,5 +68,5 @@ int main() {
6868
std::cout << "Exception caught: " << e.what() << std::endl;
6969
}
7070

71-
SYCLACADEMY_ASSERT(r == 42);
71+
SYCLACADEMY_ASSERT_EQUAL(r, 42);
7272
}

Code_Exercises/Device_Discovery/source.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,5 +83,5 @@ int main() {
8383
std::cout << "Exception caught: " << e.what() << std::endl;
8484
}
8585

86-
SYCLACADEMY_ASSERT(r == 42);
86+
SYCLACADEMY_ASSERT_EQUAL(r, 42);
8787
}

Code_Exercises/In_Order_Queue/solution_vector_add.cpp

+2-6
Original file line numberDiff line numberDiff line change
@@ -89,9 +89,7 @@ void test_buffer() {
8989
std::cout << "Exception caught: " << e.what() << std::endl;
9090
}
9191

92-
for (int i = 0; i < dataSize; ++i) {
93-
SYCLACADEMY_ASSERT(out[i] == i * 2.0f);
94-
}
92+
SYCLACADEMY_ASSERT_EQUAL(out, [](size_t i) { return i * 2.0f; });
9593
}
9694

9795
void test_usm() {
@@ -160,9 +158,7 @@ void test_usm() {
160158
std::cout << "Exception caught: " << e.what() << std::endl;
161159
}
162160

163-
for (int i = 0; i < dataSize; ++i) {
164-
SYCLACADEMY_ASSERT(out[i] == i * 2.0f);
165-
}
161+
SYCLACADEMY_ASSERT_EQUAL(out, [](size_t i) { return i * 2.0f; });
166162
}
167163

168164
int main() {

Code_Exercises/In_Order_Queue/source_vector_add.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,5 +59,5 @@
5959

6060
int main() {
6161
// Use the "Data and Dependencies" exercise solution to start
62-
SYCLACADEMY_ASSERT(true);
62+
SYCLACADEMY_ASSERT_EQUAL(/*output data*/ 0, /*expected data*/ 0);
6363
}

Code_Exercises/Managing_Data/solution.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ void test_usm() {
4040
sycl::free(dev_B, defaultQueue);
4141
sycl::free(dev_R, defaultQueue);
4242

43-
SYCLACADEMY_ASSERT(r == 42);
43+
SYCLACADEMY_ASSERT_EQUAL(r, 42);
4444
}
4545

4646
void test_buffer() {
@@ -65,7 +65,7 @@ void test_buffer() {
6565
.wait();
6666
}
6767

68-
SYCLACADEMY_ASSERT(r == 42);
68+
SYCLACADEMY_ASSERT_EQUAL(r, 42);
6969
}
7070

7171
int main() {

Code_Exercises/Managing_Data/source.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void test_usm() {
5353
// Task: Compute a+b on the SYCL device using USM
5454
r = a + b;
5555

56-
SYCLACADEMY_ASSERT(r == 42);
56+
SYCLACADEMY_ASSERT_EQUAL(r, 42);
5757
}
5858

5959
void test_buffer() {
@@ -63,7 +63,7 @@ void test_buffer() {
6363
// accessor memory model
6464
r = a + b;
6565

66-
SYCLACADEMY_ASSERT(r == 42);
66+
SYCLACADEMY_ASSERT_EQUAL(r, 42);
6767
}
6868

6969
int main() {

Code_Exercises/Matrix_Transpose/solution.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,5 @@ int main() {
139139
std::cout << "Exception caught: " << e.what() << std::endl;
140140
}
141141

142-
for (auto i = 0; i < N * N; ++i) {
143-
SYCLACADEMY_ASSERT(A_T[i] == A_T_comparison[i]);
144-
}
142+
SYCLACADEMY_ASSERT_EQUAL(A_T, A_T_comparison);
145143
}

Code_Exercises/Matrix_Transpose/source.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,5 @@ int main() {
8282
std::cout << "Exception caught: " << e.what() << std::endl;
8383
}
8484

85-
for (auto i = 0; i < N * N; ++i) {
86-
SYCLACADEMY_ASSERT(A_T[i] == A_T_comparison[i]);
87-
}
85+
SYCLACADEMY_ASSERT_EQUAL(A_T, A_T_comparison);
8886
}

Code_Exercises/Multiple_Devices/solution.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,5 @@ int main() {
8888
std::cout << "Exception caught: " << e.what() << std::endl;
8989
}
9090

91-
for (int i = 0; i < dataSize; ++i) {
92-
SYCLACADEMY_ASSERT(r[i] == static_cast<float>(i) * 2.0f);
93-
}
91+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2.0f; });
9492
}

Code_Exercises/Multiple_Devices/source.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,5 @@ int main() {
7171
r[dataSizeFirst + i] = a[dataSizeFirst + i] + b[dataSizeFirst + i];
7272
}
7373

74-
for (int i = 0; i < dataSize; ++i) {
75-
SYCLACADEMY_ASSERT(r[i] == static_cast<float>(i) * 2.0f);
76-
}
74+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2.0f; });
7775
}

Code_Exercises/ND_Range_Kernel/solution.cpp

+2-6
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,7 @@ void test_item() {
4949
std::cout << "Exception caught: " << e.what() << std::endl;
5050
}
5151

52-
for (int i = 0; i < dataSize; ++i) {
53-
SYCLACADEMY_ASSERT(r[i] == i * 2);
54-
}
52+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2; });
5553
}
5654

5755
void test_nd_item() {
@@ -91,9 +89,7 @@ void test_nd_item() {
9189
std::cout << "Exception caught: " << e.what() << std::endl;
9290
}
9391

94-
for (int i = 0; i < dataSize; ++i) {
95-
SYCLACADEMY_ASSERT(r[i] == i * 2);
96-
}
92+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2; });
9793
}
9894

9995
int main() {

Code_Exercises/ND_Range_Kernel/source.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,5 @@ int main() {
7171
r[i] = a[i] + b[i];
7272
}
7373

74-
for (int i = 0; i < dataSize; ++i) {
75-
SYCLACADEMY_ASSERT(r[i] == i * 2);
76-
}
74+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2; });
7775
}

Code_Exercises/Using_USM/solution.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,5 @@ int main() {
6262
std::cout << "Exception caught: " << e.what() << std::endl;
6363
}
6464

65-
for (int i = 0; i < dataSize; ++i) {
66-
SYCLACADEMY_ASSERT(r[i] == i * 2);
67-
}
65+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2.0f; });
6866
}

Code_Exercises/Using_USM/source.cpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,5 @@ int main() {
2626
r[i] = a[i] + b[i];
2727
}
2828

29-
for (int i = 0; i < dataSize; ++i) {
30-
SYCLACADEMY_ASSERT(r[i] == i * 2);
31-
}
29+
SYCLACADEMY_ASSERT_EQUAL(r, [](size_t i) { return i * 2.0f; });
3230
}

0 commit comments

Comments
 (0)