A GPU and mixed CPU-GPU solution of large-scale imaging problem

This project is aimed to study and develop an efficient GPU-based parallel implementation of first-order numerical optimization methods for some classes of nonlinear mathematical programming (NLP) problems, particularly relevant for the solution of large-scale discrete inverse problems.
These NLPs are generally characterized by an objective function, which can be even strongly nonlinear, and by quite simple constraints, such as box and/or linear constraints. In a large number of applications, the problems sizes are an issue, so fist-order methods often provide an helpful tool to face the large computational complexity. Despite the classical, well known subotimal convergence rate of gradient-based methods, recent progresses have allowed to tailor acceleration strategies which greatly improve their speed, thus making them competitive with second-order methods and other complicated techniques. One of the most successful of these first-order approaches is the scaled gradient-projection method (SGP), accelerated by suitable choices of the scaling matrix and of the projection steplength [1].
We are interested in applying this approach to image and volume recosntruction problems, mainly in the denoising and deblurring of Poisson-noised data. These problems arise in a wide variety of contexts, such as Astronomy, Medicine, Microscopy, Engineering, Geophysics, and others. As it is well knwon, this kinds of problems are ill-posed (in the Hadarmad sense) and often show ill-conditionning, so their direct solution is unpracticable. Regularization techniques are then the only viable way to recover a meaningful solution: once mathematically stated, these techqniques provide NLPs of the described form, that can thus be faced by the SGP method.

The today's challange is to face the large amount of data that last-generation devices are able to acquire, and that drive to large- or huge-scale NLP problems, which cannot be faced with in the standard ways. Here, only parallel approaches can help in finding a solution in reasonable time. Given that the core operations in the SGP algorithm applied to imaging problems are matrix-vector products and fast Fourier transforms (FFTs), it is very suited to be implemented in parallel. Successful examples of its parallel performance on 2D-cases with both MPI-based and CUDA-based implementations are encouraging [2,3,4].

Since the current, extremely fast evolution of GPU-based architectures, which provide an high-performance computing (HPC) workbanch at very affordable costs, the project's goal is to tailor a GPU-based implementation of the SGP algorithm which is suitable to solve large-scale 3D image reconstruction problems. In a very preliminary experiment, we solved an electronic microscopy deblurring case with a volume discretization of 256x256x52 cells (see fig. 1) in about 7 seconds, confirming the large potential of this approach. Moreover, given the availability of multiple multi-core CPUs, the extension to mixed CPU-GPU versions based also on MPI and OpenMP will be studied as well.

Figure 1: 3D volume reconstruction of a "betatubuline" from a confocal microscopy acquisition.

References
  1. S. Bonettini, R. Zanella, L. Zanni, "A scaled gradient projection method for constrained image deblurring", Inverse Problems 25 (2009), pp. 015002.
  2. R. Cavicchioli, A. Prearo, R. Zanella, G. Zanghirati, L. Zanni, "Optimization methods for digital image restoration on MPP multicore architectures", in Recent advances in nonlinear optimization and equilibrium problems: a tribute to Marco D'Apuzzo, Quaderni di Matematica, vol. 27 (V. De Simone, D. di Serafino and G. Toraldo eds.), Dipartimento di Matematica, Seconda Universita' degli Studi di Napoli, 2012, to appear.
  3. T. Serafini, R. Zanella, L. Zanni, "Gradient projection methods for image deblurring and denoising on graphics processors", IoS Press Proceedings, Advances in Parallel Computing, Parallel Computing: from multicores and GPUs to petascale (2010), pp. 59-66.
  4. V. Ruggiero, T. Serafini, R. Zanella, L. Zanni, "Iterative regularization algorithms for constrained image deblurring on graphics processors", J. of Global Optimization 48 (2010), pp. 145-157.

Project cooperators:

  • Gaetano Zanghirati (principal investigator), Department of Mathematics and Computer Science, University of Ferrara.
  • Riccardo Zanella, Department of Mathematics and Computer Science, University of Ferrara.
  • Roberto Cavicchioli, Department of Pure and Applied Mathematics, University of Modena and Reggio Emilia.