 
 /* 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;

#include <stdio.h>
#include "../debug.h"

#define N ( 1 << 26 )
#define THREADS_PER_BLOCK 128

typedef double floatType_t;

__global__ void sumReduction(int n, floatType_t *in, floatType_t *out)
{
