 			      const InType* __restrict__  d_in,
 			      OutType*                    d_out) {
     int batch_no = blockIdx.x;
-    extern __shared__ int shared[];
-    int* xdata = shared;
-    int* ydata = xdata + nbaseline;
-
-    for(int i = threadIdx.x; i < nbaseline; i += blockDim.x){
-	xdata[i] = *(x + batch_no * nbaseline + i);
-	ydata[i] = *(y + batch_no * nbaseline + i);
-    }
-
-    __syncthreads();
     
     int pol_no = threadIdx.y;
     for(int i = threadIdx.x; i < maxsupport * maxsupport; i += blockDim.x) {

    }
}

template<typename InType, typename OutType>
inline void launch_romein_kernel(int      nbaseline,
                                 int      npol,

        int vi = 0;
        for(vi = 0; vi < (nbaseline); vi+=npol) {

	    int xl = x[vi];
	    int yl = y[vi];

            // Determine convolution point. This is basically just an
            // optimised way to calculate.
