 
 
     const int blockDim2 = NTHREAD2;
-#ifdef _ORIG_SHMEM_
-    __shared__ int shmem[15*(1 << blockDim2)];
-#else
-    __shared__ int shmem[12*(1 << blockDim2)];
-#endif
+    __shared__ int shmem[11*(1 << blockDim2)];
     //    __shared__ int shmem[24*(1 << blockDim2)]; is possible on FERMI
     //    int             lmem[LMEM_STACK_SIZE];
 

  return y;
} 



  template<int SHIFT>

          node_mon1[tid] = make_float3(monopole.x,  monopole.y,  monopole.z);
          __syncthreads();

#if 1
#pragma unroll 16
          for (int i = 0; i < DIMx; i++)
