     return calc_prefix1<DIM2>(prefix, tid, value);
   else
   {
-    const int WARP_SIZE2 = 5;
-    const int WARP_SIZE  = 1 << WARP_SIZE2;
     prefix[tid] = inclusive_scan_warp<WARP_SIZE2>(value);
     __syncthreads();
 


#ifdef WIN32
#define M_PI        3.14159265358979323846264338328
#endif

__forceinline__ __device__ float Wkernel(const float q)

            multipole_data, body_pos,
            shmem, lmem, ngb_i, apprCount, direCount, boxSizeInfo, curGroupSize, boxCenterInfo,
            group_eps, body_vel);
        lmem = &MEM_BUF[blockIdx.x*(LMEM_STACK_SIZE*blockDim.x + LMEM_EXTRA_SIZE)];

        if(threadIdx.x == 0)
        {
