GPU Computing for CNES
Given the rapid increase in
computing capabilities of graphics processors (GPU) over the past
few years, particularly through public applications such as video
games, the French National Space Agency (CNES) has entrusted
Telespazio VEGA with a study on the use of GPU for the treatment of
satellite imagery on the fly. This study allows us, through the
complete porting of algorithms for image processing from the CPU to
the GPU, to validate the usefulness of this new technology and
begin to calm this technological change within CNES.
Challenge
Previously CPU’s peripheral component,
the GPU has become in few years a major component of any computer.
While it was originally dedicated to the generation of 3D images in
real time, the GPU (Graphic Processing Unit), came by its
processing capacity to exceed the CPU in terms of performance and
costs to specific operations (massively parallel processing for
example).
This figure shows clearly that for a
given treatment (GFLOPS, or one billion floating point operations
per second), the performance of GPU has evolved much faster than
CPU. It may be noted that these performances are in a ratio of 1 to
10 or more. By now the possibility of cluster, i.e. to pool several
GPUs on a single platform, the performance gains are even greater.
The ancestral CPU becomes weak and alone with these new "farm
nodes" that are clusters of GPUs.
Project description
Under R&T issued by CNES on the use
of graphics processors for processing satellite imagery on the fly,
Telespazio VEGA evaluates in real time the interest for the CNES to
make the technological changes proposed by the GPU. Thus the
component GPU, so far confined to the achievement of 3D images
becomes a major component whose technical characteristics are
directly exploited to maximise the scientific algorithms: we speak here of
calculating generic GPU, or GPU Computing.
Activities
undertaken
Delivery to achieve splits into two
phases:
- A wide study of the
possibilities of GPU, with a phase of state of the art and a phase
of feasibility study;
- A complete port (i.e. including
equipment) of three algorithms on the GPU allowing not only a
complete comparison with existing algorithms but also the
availability of these algorithms for the ENVI platform.
Wide study of GPU
opportunities
This first phase completed in 2008
consists of an exhaustive study of the GPU solutions (hardware and
software), and especially ways to address the algorithms used by
the CNES in the processing of images on the fly. This phase is
itself split into two posts made by Telespazio VEGA
independently:
- A general state of the art on
GPU technology (hardware and software) and already used for
industrial purposes;
- A feasibility study on the
ability of a number of algorithms CNES to be worn on the
GPU.
These algorithms are:
- Deconvolution /
denoising
- Correlation
- Zoom / zoom out with
rotation
- Re-sampling by tile using
grids
- Fusion
multi-spectral
- Compression / decompression
jpeg2000
Algorithms portage on
GPU
At the end of the first phase, three
image processing algorithms are selected. After few months of work,
the results are higher than expected for the CNES since:
- For a single image zoom, GPU
is 10 times
faster than CPU, with similar results
(single and double precisions)
- For a pixel to pixel image correlation, where one CPU needs
more than 1h10mn, one GPU do the job for less than 2mn!
As a conclusion, not only does CNES confirm
the need to port urgently its image processing tools from CPU to
GPU (since the TRL level evolved from 1 to 5), but also
the scientists may
investigate new ways for image manipulation and
processing.
Results validation and integration
All the results are validated with no error compared to the CPU
version of the algorithms (in simple and double precisions).
Finally the algorithms are integrated directly into ENVI
software.
Key success factor
To ensure the success of this R & T,
Telespazio VEGA was surrounded, in addition to its strong internal
GPU knowledge, by closed partnerships, in particular with NVidia
corporation.
- Technical environment: Work station Linux & Windows
- Languages, libraries: ENVI / IDL
- Project size: Load in man per month: 8
- Start and end dates: September 2008 to May 2009