@@ -214,9 +214,9 @@ hypre_IJMatrixSetAddValuesParCSRDevice( hypre_IJMatrix *matrix,
214214 return hypre_error_flag ;
215215}
216216
217- #if defined(HYPRE_USING_SYCL )
218217template < typename T1 , typename T2 >
219218struct hypre_IJMatrixAssembleFunctor
219+ #if defined(HYPRE_USING_SYCL )
220220{
221221 typedef std ::tuple < T1 , T2 > Tuple ;
222222
@@ -227,9 +227,6 @@ struct hypre_IJMatrixAssembleFunctor
227227 }
228228};
229229#else
230- template < typename T1 , typename T2 >
231- struct hypre_IJMatrixAssembleFunctor : public
232- thrust ::binary_function < thrust ::tuple < T1 , T2 > , thrust ::tuple < T1 , T2 > , thrust ::tuple < T1 , T2 > >
233230{
234231 typedef thrust ::tuple < T1 , T2 > Tuple ;
235232
@@ -315,15 +312,16 @@ hypre_IJMatrixAssembleSortAndReduce1(HYPRE_Int N0, HYPRE_BigInt *I0, HYPRE_Big
315312
316313 * N1 = std ::get < 0 > (new_end .first .base ()) - I ;
317314#else
318- HYPRE_THRUST_CALL (
319- exclusive_scan_by_key ,
320- make_reverse_iterator (thrust ::make_zip_iterator (thrust ::make_tuple (I0 + N0 , J0 + N0 ))),
321- make_reverse_iterator (thrust ::make_zip_iterator (thrust ::make_tuple (I0 , J0 ))),
322- make_reverse_iterator (thrust ::device_pointer_cast < char > (X0 ) + N0 ),
323- make_reverse_iterator (thrust ::device_pointer_cast < char > (X ) + N0 ),
324- char (0 ),
325- thrust ::equal_to < thrust ::tuple < HYPRE_BigInt , HYPRE_BigInt > > ( ),
326- thrust ::maximum < char > ( ) );
315+ HYPRE_THRUST_CALL (
316+ exclusive_scan_by_key ,
317+ thrust ::make_reverse_iterator (thrust ::make_zip_iterator (thrust ::make_tuple (I0 + N0 , J0 + N0 ))),
318+ thrust ::make_reverse_iterator (thrust ::make_zip_iterator (thrust ::make_tuple (I0 , J0 ))),
319+ thrust ::make_reverse_iterator (thrust ::device_pointer_cast < char > (X0 ) + N0 ),
320+ thrust ::make_reverse_iterator (thrust ::device_pointer_cast < char > (X ) + N0 ),
321+ char (0 ),
322+ thrust ::equal_to < thrust ::tuple < HYPRE_BigInt , HYPRE_BigInt >>( ),
323+ thrust ::maximum < char > ( )
324+ );
327325
328326 HYPRE_THRUST_CALL (replace_if , A0 , A0 + N0 , X , thrust ::identity < char > ( ), 0.0 );
329327
@@ -347,9 +345,9 @@ hypre_IJMatrixAssembleSortAndReduce1(HYPRE_Int N0, HYPRE_BigInt *I0, HYPRE_Big
347345 return hypre_error_flag ;
348346}
349347
350- #if defined(HYPRE_USING_SYCL )
351348template < typename T1 , typename T2 >
352349struct hypre_IJMatrixAssembleFunctor2
350+ #if defined(HYPRE_USING_SYCL )
353351{
354352 typedef std ::tuple < T1 , T2 > Tuple ;
355353
@@ -364,9 +362,6 @@ struct hypre_IJMatrixAssembleFunctor2
364362 }
365363};
366364#else
367- template < typename T1 , typename T2 >
368- struct hypre_IJMatrixAssembleFunctor2 : public
369- thrust ::binary_function < thrust ::tuple < T1 , T2 > , thrust ::tuple < T1 , T2 > , thrust ::tuple < T1 , T2 > >
370365{
371366 typedef thrust ::tuple < T1 , T2 > Tuple ;
372367
@@ -484,13 +479,14 @@ hypre_IJMatrixAssembleSortAndReduce3(HYPRE_Int N0, HYPRE_BigInt *I0, HYPRE_Big
484479#else
485480 /* output in X0: 0: keep, 1: zero-out */
486481 HYPRE_THRUST_CALL (
487- inclusive_scan_by_key ,
488- make_reverse_iterator (thrust ::make_zip_iterator (thrust ::make_tuple (I0 + N0 , J0 + N0 ))),
489- make_reverse_iterator (thrust ::make_zip_iterator (thrust ::make_tuple (I0 , J0 ))),
490- make_reverse_iterator (thrust ::device_pointer_cast < char > (X0 ) + N0 ),
491- make_reverse_iterator (thrust ::device_pointer_cast < char > (X0 ) + N0 ),
492- thrust ::equal_to < thrust ::tuple < HYPRE_BigInt , HYPRE_BigInt > > ( ),
493- thrust ::maximum < char > ( ) );
482+ inclusive_scan_by_key ,
483+ thrust ::make_reverse_iterator (thrust ::make_zip_iterator (thrust ::make_tuple (I0 + N0 , J0 + N0 ))),
484+ thrust ::make_reverse_iterator (thrust ::make_zip_iterator (thrust ::make_tuple (I0 , J0 ))),
485+ thrust ::make_reverse_iterator (thrust ::device_pointer_cast < char > (X0 ) + N0 ),
486+ thrust ::make_reverse_iterator (thrust ::device_pointer_cast < char > (X0 ) + N0 ),
487+ thrust ::equal_to < thrust ::tuple < HYPRE_BigInt , HYPRE_BigInt >>( ),
488+ thrust ::maximum < char > ( )
489+ );
494490
495491 HYPRE_THRUST_CALL (replace_if , A0 , A0 + N0 , X0 , thrust ::identity < char > ( ), 0.0 );
496492
0 commit comments