         d_vis[i].d.x += sum.d.x;
         d_vis[i].d.y += sum.d.y;
     }
+#endif /* __CUDA_ARCH__ >= 300 */
 }
 
 

}



void correlate_warpshuffle_f(int num_sources, int num_stations, const float4c* d_Jones,
        const float* d_I, const float* d_Q, const float* d_U, const float* d_V,
        const float* d_l, const float* d_m, const float* d_n, const float* d_u,

        const float bandwidth_hz, const float time_int_sec,
        const float gha0_rad, const float dec0_rad, float4c* d_vis)
{
#if __CUDA_ARCH__ >= 300
    /* Common values per thread block. */
    __shared__ float uu, vv, du_dt, dv_dt, dw_dt;
    __shared__ const float4c* __restrict__ station_i;
