@@ -68,13 +68,14 @@ static double pcgRand01(void){
6868 */
6969
7070START_TEST (test_reduction ){
71- pcgSeed (1 );
72-
7371 /**
7472 * We test here a reduction of some random 3D tensor on the first and
7573 * third dimensions.
7674 */
7775
76+ GpuArray gaSrc ;
77+ GpuArray gaMax ;
78+ GpuArray gaArgmax ;
7879 size_t i ,j ,k ;
7980 size_t dims [3 ] = {32 ,50 ,79 };
8081 size_t prodDims = dims [0 ]* dims [1 ]* dims [2 ];
@@ -93,6 +94,7 @@ START_TEST(test_reduction){
9394 * Initialize source data.
9495 */
9596
97+ pcgSeed (1 );
9698 for (i = 0 ;i < prodDims ;i ++ ){
9799 pSrc [i ] = pcgRand01 ();
98100 }
@@ -102,10 +104,6 @@ START_TEST(test_reduction){
102104 * Run the kernel.
103105 */
104106
105- GpuArray gaSrc ;
106- GpuArray gaMax ;
107- GpuArray gaArgmax ;
108-
109107 ga_assert_ok (GpuArray_empty (& gaSrc , ctx , GA_FLOAT , 3 , & dims [0 ], GA_C_ORDER ));
110108 ga_assert_ok (GpuArray_empty (& gaMax , ctx , GA_FLOAT , 1 , & dims [1 ], GA_C_ORDER ));
111109 ga_assert_ok (GpuArray_empty (& gaArgmax , ctx , GA_SIZE , 1 , & dims [1 ], GA_C_ORDER ));
@@ -156,15 +154,16 @@ START_TEST(test_reduction){
156154}END_TEST
157155
158156START_TEST (test_idxtranspose ){
159- pcgSeed (1 );
160-
161157 /**
162158 * We test here the same reduction as test_reduction, except with a
163159 * reversed reduxList {2,0} instead of {0,2}. That should lead to a
164160 * transposition of the argmax "coordinates" and thus a change in its
165161 * "flattened" output version.
166162 */
167163
164+ GpuArray gaSrc ;
165+ GpuArray gaMax ;
166+ GpuArray gaArgmax ;
168167 size_t i ,j ,k ;
169168 size_t dims [3 ] = {32 ,50 ,79 };
170169 size_t prodDims = dims [0 ]* dims [1 ]* dims [2 ];
@@ -185,6 +184,7 @@ START_TEST(test_idxtranspose){
185184 * Initialize source data.
186185 */
187186
187+ pcgSeed (1 );
188188 for (i = 0 ;i < prodDims ;i ++ ){
189189 pSrc [i ] = pcgRand01 ();
190190 }
@@ -194,10 +194,6 @@ START_TEST(test_idxtranspose){
194194 * Run the kernel.
195195 */
196196
197- GpuArray gaSrc ;
198- GpuArray gaMax ;
199- GpuArray gaArgmax ;
200-
201197 ga_assert_ok (GpuArray_empty (& gaSrc , ctx , GA_FLOAT , 3 , dims , GA_C_ORDER ));
202198 ga_assert_ok (GpuArray_empty (& gaMax , ctx , GA_FLOAT , 1 , rdxDims , GA_C_ORDER ));
203199 ga_assert_ok (GpuArray_empty (& gaArgmax , ctx , GA_SIZE , 1 , rdxDims , GA_C_ORDER ));
@@ -248,12 +244,14 @@ START_TEST(test_idxtranspose){
248244}END_TEST
249245
250246START_TEST (test_veryhighrank ){
251- pcgSeed (1 );
252-
253247 /**
254248 * Here we test a reduction of a random 8D tensor on four dimensions.
255249 */
256250
251+ GpuArray gaSrc ;
252+ GpuArray gaMax ;
253+ GpuArray gaArgmax ;
254+ size_t dstIdx ;
257255 size_t i ,j ,k ,l ,m ,n ,o ,p ;
258256 size_t dims [8 ] = {1171 ,373 ,2 ,1 ,2 ,1 ,2 ,1 };
259257 size_t prodDims = dims [0 ]* dims [1 ]* dims [2 ]* dims [3 ]* dims [4 ]* dims [5 ]* dims [6 ]* dims [7 ];
@@ -274,6 +272,7 @@ START_TEST(test_veryhighrank){
274272 * Initialize source data.
275273 */
276274
275+ pcgSeed (1 );
277276 for (i = 0 ;i < prodDims ;i ++ ){
278277 pSrc [i ] = pcgRand01 ();
279278 }
@@ -283,10 +282,6 @@ START_TEST(test_veryhighrank){
283282 * Run the kernel.
284283 */
285284
286- GpuArray gaSrc ;
287- GpuArray gaMax ;
288- GpuArray gaArgmax ;
289-
290285 ga_assert_ok (GpuArray_empty (& gaSrc , ctx , GA_FLOAT , 8 , dims , GA_C_ORDER ));
291286 ga_assert_ok (GpuArray_empty (& gaMax , ctx , GA_FLOAT , 4 , rdxDims , GA_C_ORDER ));
292287 ga_assert_ok (GpuArray_empty (& gaArgmax , ctx , GA_SIZE , 4 , rdxDims , GA_C_ORDER ));
@@ -327,7 +322,7 @@ START_TEST(test_veryhighrank){
327322 }
328323 }
329324
330- size_t dstIdx = (((i )* dims [1 ] + j )* dims [3 ] + l )* dims [6 ] + o ;
325+ dstIdx = (((i )* dims [1 ] + j )* dims [3 ] + l )* dims [6 ] + o ;
331326 ck_assert_msg (gtMax == pMax [dstIdx ], "Max value mismatch!" );
332327 ck_assert_msg (gtArgmax == pArgmax [dstIdx ], "Argmax value mismatch!" );
333328 }
@@ -349,16 +344,19 @@ START_TEST(test_veryhighrank){
349344}END_TEST
350345
351346START_TEST (test_alldimsreduced ){
352- pcgSeed (1 );
353-
354347 /**
355348 * We test here a reduction of some random 3D tensor on all dimensions.
356349 */
357350
351+ GpuArray gaSrc ;
352+ GpuArray gaMax ;
353+ GpuArray gaArgmax ;
358354 size_t i ,j ,k ;
359355 size_t dims [3 ] = {32 ,50 ,79 };
360356 size_t prodDims = dims [0 ]* dims [1 ]* dims [2 ];
361357 const unsigned reduxList [] = {0 ,1 ,2 };
358+ size_t gtArgmax ;
359+ float gtMax ;
362360
363361 float * pSrc = calloc (1 , sizeof (* pSrc ) * dims [0 ]* dims [1 ]* dims [2 ]);
364362 float * pMax = calloc (1 , sizeof (* pMax ) );
@@ -373,6 +371,7 @@ START_TEST(test_alldimsreduced){
373371 * Initialize source data.
374372 */
375373
374+ pcgSeed (1 );
376375 for (i = 0 ;i < prodDims ;i ++ ){
377376 pSrc [i ] = pcgRand01 ();
378377 }
@@ -382,10 +381,6 @@ START_TEST(test_alldimsreduced){
382381 * Run the kernel.
383382 */
384383
385- GpuArray gaSrc ;
386- GpuArray gaMax ;
387- GpuArray gaArgmax ;
388-
389384 ga_assert_ok (GpuArray_empty (& gaSrc , ctx , GA_FLOAT , 3 , & dims [0 ], GA_C_ORDER ));
390385 ga_assert_ok (GpuArray_empty (& gaMax , ctx , GA_FLOAT , 0 , NULL , GA_C_ORDER ));
391386 ga_assert_ok (GpuArray_empty (& gaArgmax , ctx , GA_SIZE , 0 , NULL , GA_C_ORDER ));
@@ -404,8 +399,8 @@ START_TEST(test_alldimsreduced){
404399 * Check that the destination tensors are correct.
405400 */
406401
407- size_t gtArgmax = 0 ;
408- float gtMax = pSrc [0 ];
402+ gtArgmax = 0 ;
403+ gtMax = pSrc [0 ];
409404
410405 for (i = 0 ;i < dims [0 ];i ++ ){
411406 for (j = 0 ;j < dims [1 ];j ++ ){
0 commit comments