 
 /* launch the kernel on the GPU */
 
-  sumReduction<<< blocks, threads >>>( size, d_in,  d_tempArray );
+  sumReduction<<< blocks, threads1 >>>( size, d_in,  d_tempArray );
   checkKERNEL()
-  sumReduction<<<      1, threads >>>( blocks.x, d_tempArray, d_out );
+  sumReduction<<<      1, threads2 >>>( blocks.x, d_tempArray, d_out );
   checkKERNEL()
 
 /* stop the timers */


  for( int i = 0; i < size; i++ )
  {
   h_in[i] = i;//floatType_t( rand() ) / ( floatType_t (RAND_MAX) + 1.0 );
  }

  h_out      = 0.0;


/* calculate block and grid sizes */

  dim3 threads1( THREADS_PER_BLOCK, 1, 1 );
  
  int blk = min( (size / threads1.x), tempArraySize );
  dim3 blocks( blk, 1, 1);

  dim3 threads2( min(blocks.x,threads1.x), 1, 1 );

/* start the timers */

