@@ -77,56 +77,104 @@ TEST_P(urEnqueueKernelLaunchTest, InvalidWorkDimension) {
77
77
UR_RESULT_ERROR_INVALID_WORK_DIMENSION);
78
78
}
79
79
80
- struct urEnqueueKernelLaunch2DTest : uur::urKernelExecutionTest {
81
- void SetUp () override {
82
- program_name = " fill_2d" ;
83
- UUR_RETURN_ON_FATAL_FAILURE (urKernelExecutionTest::SetUp ());
80
+ #define ENQUEUE_KERNEL_LAUNCH_TEST_1D_SIZES (SIZE ) \
81
+ struct urEnqueueKernelLaunchTestSizes ##SIZE : uur::urKernelExecutionTest { \
82
+ void SetUp () override { \
83
+ program_name = " fill" ; \
84
+ UUR_RETURN_ON_FATAL_FAILURE (urKernelExecutionTest::SetUp ()); \
85
+ } \
86
+ \
87
+ uint32_t val = 42 ; \
88
+ size_t global_size = SIZE; \
89
+ size_t global_offset = 0 ; \
90
+ size_t n_dimensions = 1 ; \
91
+ }; \
92
+ UUR_INSTANTIATE_DEVICE_TEST_SUITE_P (urEnqueueKernelLaunchTestSizes##SIZE); \
93
+ \
94
+ TEST_P (urEnqueueKernelLaunchTestSizes##SIZE, Success) { \
95
+ ur_mem_handle_t buffer = nullptr ; \
96
+ AddBuffer1DArg (sizeof (val) * global_size, &buffer); \
97
+ AddPodArg (val); \
98
+ ASSERT_SUCCESS (urEnqueueKernelLaunch (queue, kernel, n_dimensions, \
99
+ &global_offset, &global_size, \
100
+ nullptr , 0 , nullptr , nullptr )); \
101
+ ASSERT_SUCCESS (urQueueFinish (queue)); \
102
+ ValidateBuffer (buffer, sizeof (val) * global_size, val); \
84
103
}
85
-
86
- uint32_t val = 42 ;
87
- size_t global_size[2 ] = {8 , 8 };
88
- size_t global_offset[2 ] = {0 , 0 };
89
- size_t buffer_size = sizeof (val) * global_size[0 ] * global_size[1 ];
90
- size_t n_dimensions = 2 ;
91
- };
92
- UUR_INSTANTIATE_DEVICE_TEST_SUITE_P (urEnqueueKernelLaunch2DTest);
93
-
94
- TEST_P (urEnqueueKernelLaunch2DTest, Success) {
95
- ur_mem_handle_t buffer = nullptr ;
96
- AddBuffer1DArg (buffer_size, &buffer);
97
- AddPodArg (val);
98
- ASSERT_SUCCESS (urEnqueueKernelLaunch (queue, kernel, n_dimensions,
99
- global_offset, global_size, nullptr , 0 ,
100
- nullptr , nullptr ));
101
- ASSERT_SUCCESS (urQueueFinish (queue));
102
- ValidateBuffer (buffer, buffer_size, val);
103
- }
104
-
105
- struct urEnqueueKernelLaunch3DTest : uur::urKernelExecutionTest {
106
- void SetUp () override {
107
- program_name = " fill_3d" ;
108
- UUR_RETURN_ON_FATAL_FAILURE (urKernelExecutionTest::SetUp ());
104
+ ENQUEUE_KERNEL_LAUNCH_TEST_1D_SIZES (1 )
105
+ ENQUEUE_KERNEL_LAUNCH_TEST_1D_SIZES(53 )
106
+ ENQUEUE_KERNEL_LAUNCH_TEST_1D_SIZES(100 )
107
+ ENQUEUE_KERNEL_LAUNCH_TEST_1D_SIZES(1342 )
108
+
109
+ #define ENQUEUE_KERNEL_LAUNCH_TEST_2D_SIZES (SIZE1, SIZE2 ) \
110
+ struct urEnqueueKernelLaunch2DTestSizes ##SIZE1##_##SIZE2 \
111
+ : uur::urKernelExecutionTest { \
112
+ void SetUp () override { \
113
+ program_name = " fill_2d" ; \
114
+ UUR_RETURN_ON_FATAL_FAILURE (urKernelExecutionTest::SetUp ()); \
115
+ } \
116
+ \
117
+ uint32_t val = 42 ; \
118
+ size_t global_size[2 ] = {SIZE1, SIZE2}; \
119
+ size_t global_offset[2 ] = {0 , 0 }; \
120
+ size_t buffer_size = sizeof (val) * global_size[0 ] * global_size[1 ]; \
121
+ size_t n_dimensions = 2 ; \
122
+ }; \
123
+ UUR_INSTANTIATE_DEVICE_TEST_SUITE_P ( \
124
+ urEnqueueKernelLaunch2DTestSizes##SIZE1##_##SIZE2); \
125
+ \
126
+ TEST_P (urEnqueueKernelLaunch2DTestSizes##SIZE1##_##SIZE2, Success) { \
127
+ ur_mem_handle_t buffer = nullptr ; \
128
+ AddBuffer1DArg (buffer_size, &buffer); \
129
+ AddPodArg (val); \
130
+ ASSERT_SUCCESS (urEnqueueKernelLaunch (queue, kernel, n_dimensions, \
131
+ global_offset, global_size, \
132
+ nullptr , 0 , nullptr , nullptr )); \
133
+ ASSERT_SUCCESS (urQueueFinish (queue)); \
134
+ ValidateBuffer (buffer, buffer_size, val); \
109
135
}
110
-
111
- uint32_t val = 42 ;
112
- size_t global_size[3 ] = {4 , 4 , 4 };
113
- size_t global_offset[3 ] = {0 , 0 , 0 };
114
- size_t buffer_size =
115
- sizeof (val) * global_size[0 ] * global_size[1 ] * global_size[2 ];
116
- size_t n_dimensions = 3 ;
117
- };
118
- UUR_INSTANTIATE_DEVICE_TEST_SUITE_P (urEnqueueKernelLaunch3DTest);
119
-
120
- TEST_P (urEnqueueKernelLaunch3DTest, Success) {
121
- ur_mem_handle_t buffer = nullptr ;
122
- AddBuffer1DArg (buffer_size, &buffer);
123
- AddPodArg (val);
124
- ASSERT_SUCCESS (urEnqueueKernelLaunch (queue, kernel, n_dimensions,
125
- global_offset, global_size, nullptr , 0 ,
126
- nullptr , nullptr ));
127
- ASSERT_SUCCESS (urQueueFinish (queue));
128
- ValidateBuffer (buffer, buffer_size, val);
129
- }
136
+ ENQUEUE_KERNEL_LAUNCH_TEST_2D_SIZES (8 , 8 )
137
+ ENQUEUE_KERNEL_LAUNCH_TEST_2D_SIZES(1 , 1 )
138
+ ENQUEUE_KERNEL_LAUNCH_TEST_2D_SIZES(53 , 100 )
139
+ ENQUEUE_KERNEL_LAUNCH_TEST_2D_SIZES(1 , 79 )
140
+ ENQUEUE_KERNEL_LAUNCH_TEST_2D_SIZES(1342 , 1 )
141
+
142
+ #define ENQUEUE_KERNEL_LAUNCH_TEST_3D_SIZES (SIZE1, SIZE2, SIZE3 ) \
143
+ struct urEnqueueKernelLaunch3DTest ##SIZE1##_##SIZE2##_##SIZE3 \
144
+ : uur::urKernelExecutionTest { \
145
+ void SetUp () override { \
146
+ program_name = " fill_3d" ; \
147
+ UUR_RETURN_ON_FATAL_FAILURE (urKernelExecutionTest::SetUp ()); \
148
+ } \
149
+ \
150
+ uint32_t val = 42 ; \
151
+ size_t global_size[3 ] = {SIZE1, SIZE2, SIZE3}; \
152
+ size_t global_offset[3 ] = {0 , 0 , 0 }; \
153
+ size_t buffer_size = \
154
+ sizeof (val) * global_size[0 ] * global_size[1 ] * global_size[2 ]; \
155
+ size_t n_dimensions = 3 ; \
156
+ }; \
157
+ UUR_INSTANTIATE_DEVICE_TEST_SUITE_P ( \
158
+ urEnqueueKernelLaunch3DTest##SIZE1##_##SIZE2##_##SIZE3); \
159
+ \
160
+ TEST_P (urEnqueueKernelLaunch3DTest##SIZE1##_##SIZE2##_##SIZE3, Success) { \
161
+ ur_mem_handle_t buffer = nullptr ; \
162
+ AddBuffer1DArg (buffer_size, &buffer); \
163
+ AddPodArg (val); \
164
+ ASSERT_SUCCESS (urEnqueueKernelLaunch (queue, kernel, n_dimensions, \
165
+ global_offset, global_size, \
166
+ nullptr , 0 , nullptr , nullptr )); \
167
+ ASSERT_SUCCESS (urQueueFinish (queue)); \
168
+ ValidateBuffer (buffer, buffer_size, val); \
169
+ }
170
+ ENQUEUE_KERNEL_LAUNCH_TEST_3D_SIZES (1 , 1 , 1 )
171
+ ENQUEUE_KERNEL_LAUNCH_TEST_3D_SIZES(37 , 1 , 1 )
172
+ ENQUEUE_KERNEL_LAUNCH_TEST_3D_SIZES(1 , 78 , 1 )
173
+ ENQUEUE_KERNEL_LAUNCH_TEST_3D_SIZES(1 , 1 , 1025 )
174
+ ENQUEUE_KERNEL_LAUNCH_TEST_3D_SIZES(37 , 19 , 1 )
175
+ ENQUEUE_KERNEL_LAUNCH_TEST_3D_SIZES(1 , 78 , 91 )
176
+ ENQUEUE_KERNEL_LAUNCH_TEST_3D_SIZES(18 , 1 , 1025 )
177
+ ENQUEUE_KERNEL_LAUNCH_TEST_3D_SIZES(18 , 79 , 1025 )
130
178
131
179
struct urEnqueueKernelLaunchWithVirtualMemory : uur::urKernelExecutionTest {
132
180
0 commit comments