 __device__
 void copy_ucs_2_over(
     cuDoubleComplex dst[max_half_support * oversample * 2 + 1][max_half_support * oversample * 2 + 1]
-  , cuDoubleComplex src[max_half_support * 2 + 1][max_half_support * 2 + 1]
+  , const cuDoubleComplex src[max_half_support * 2 + 1][max_half_support * 2 + 1]
   ) {
   const int
       dst_center = max_half_support * oversample

__device__
void calc(
    cuDoubleComplex dst[max_half_support * 2 + 1][max_half_support * 2 + 1]
  , cuDoubleComplex src[max_half_support * 2 + 1][max_half_support * 2 + 1]
  , double w
  ){
  const int

template __device__
void copy_ucs_2_over<256,8>(
    cuDoubleComplex dst[4097][4097]
  , const cuDoubleComplex src[513][513]
  );
