  Practical aperture synthesis imaging algorithms work by iterating between
estimating the sky brightness distribution and a comparison of a prediction
based on this estimate with the measured data ("visibilities"). Accuracy in the
latter step is crucial but is made difficult by irregular and non-planar
sampling of data by the telescope. In this work we present a GPU implementation
of 3d de-gridding which accurately deals with these two difficulties and is
designed for distributed operation. We address the load balancing issues caused
by large variation in visibilities that need to be computed. Using CUDA and
NVidia GPUs we measure performance up to 1.2 billion visibilities per second.
