   cudaArray *array_vol;
   static cudaChannelFormatDesc channelDesc = cudaCreateChannelDesc<float>();
   cudaMalloc3DArray((cudaArray**)&array_vol, &channelDesc, volExtent);
+  CUDA_CHECK_ERROR;
 
   // Copy data to 3D array
   cudaMemcpy3DParms copyParams = {0};


  // Calling kernel
  kernel_forwardProject <<< dimGrid, dimBlock >>> (dev_proj, sourcePos, projSize, t_step, boxMin, boxMax, dev_spacing);

  CUDA_CHECK_ERROR;

  // Unbind the volume and matrix textures

  copyParams.extent   = volExtent;
  copyParams.kind     = cudaMemcpyDeviceToDevice;
  cudaMemcpy3D(&copyParams);
  CUDA_CHECK_ERROR;

  // Bind 3D array to 3D texture
  cudaBindTextureToArray(tex_vol, (cudaArray*)array_vol, channelDesc);
  CUDA_CHECK_ERROR;

  static dim3 dimBlock  = dim3(16, 16, 1);
  static dim3 dimGrid = dim3(iDivUp(projections_size[0], dimBlock.x), iDivUp(projections_size[1], dimBlock.x));
