 void HyPerLayer_recv_post(recv_post_params params){
    ////Shared memory buffers are declared
    extern __shared__ char sharedMem[];
-   __shared__ float* preBuffer;
+   //__shared__ float* preBuffer;
    __shared__ float* postBuffer;
    __shared__ float* weightsBuffer;
    //__shared__ long* localStartSourceExt;
-   preBuffer = (float*)sharedMem;
-   postBuffer = (float*)(&(preBuffer[params.preBufNum]));
+   //preBuffer = (float*)sharedMem;
+   //postBuffer = (float*)(&(preBuffer[params.preBufNum]));
+   postBuffer = (float*)sharedMem;
    weightsBuffer = (float*)(&(postBuffer[params.postBufNum]));
 
    //Ordered this way because threads vary fastest in x, then y, then z

   //params.numXfBufs = params.numXfBufs < params.nyp ? params.numXfBufs : params.nyp;  
   //params.numXfBufs = 1;

   params.preBufNum = params.localBufSizeX * params.nfp;
   params.weightsBufNum = params.nxp * params.nfp;

   size_t sharedSize = sizeof(float) * (params.preBufNum + params.postBufNum + params.weightsBufNum);

   if(sharedSize > device->get_local_mem()){
      printf("gpu post run: given shared memory size of %zu is bigger than allowed shared memory size of %zu\n", sharedSize, device->get_local_mem());

      }
      __syncthreads();
   }

   ////Sum into global memory
   params.postGsyn[kTargetRes] += postBuffer[localIndex];
