Accuracy of GPU-based B-spline evaluation

In this article we discuss the accuracy issues that arise, when implementing cubic B-spline interpolation on the Graphics Processing Unit (GPU). Imprecision is inherent to the discrete nature of digital computing, especially when using floating point numbers. However, there are special accuracy issues to deal with, when employing the GPU. The GPU is more and more being regarded as a general purpose parallel co-processor, and currently it is also finding its way in environments, where the algorithmic outcome has great impact, such as in biomedical image analysis. For such applications it is eminent that the accuracy of the results is documented, and properly taken into account. Next to analyzing the accuracy of the cubic B-spline interpolation, we propose a modification to the GPU algorithm, in order to increase its precision, without sacrificing any significant performance.

[1]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[2]  Rüdiger Westermann,et al.  Linear algebra operators for GPU implementation of numerical algorithms , 2003, SIGGRAPH Courses.

[3]  William R. Mark,et al.  Cg: a system for programming graphics hardware in a C-like language , 2003, ACM Trans. Graph..

[4]  Andrew Thall Extended-precision floating-point numbers for GPU computation , 2006, SIGGRAPH '06.

[5]  Klaus Mueller,et al.  Practical considerations for GPU-accelerated CT , 2006, 3rd IEEE International Symposium on Biomedical Imaging: Nano to Macro, 2006..

[6]  Ian Buck GPU Computing: Programming a Massively Parallel Processor , 2007, International Symposium on Code Generation and Optimization (CGO'07).

[7]  Michael Unser,et al.  Fast parametric elastic image registration , 2003, IEEE Trans. Image Process..

[8]  Paul Suetens,et al.  3D multimodality roadmapping in neuroangiography , 2007, SPIE Medical Imaging.

[9]  Michael Unser,et al.  Splines: a perfect fit for signal and image processing , 1999, IEEE Signal Process. Mag..

[10]  Rüdiger Westermann,et al.  Non-rigid multi-modal registration on the GPU , 2007, SPIE Medical Imaging.

[11]  Martin Rumpf,et al.  Image Registration by a Regularized Gradient Flow. A Streaming Implementation in DX9 Graphics Hardware , 2004, Computing.

[12]  Markus Hadwiger,et al.  Fast Third-Order Texture Filtering , 2005 .

[13]  David Defour,et al.  Implementation of float-float operators on graphics hardware , 2006, ArXiv.

[14]  Anselmo Lastra,et al.  GPU Floating-Point Paranoia , 2010 .