Abstract:
We present herein the implementation, test and performance comparison of GPUs in
physical and cloud/virtual environment of: i) an image processing algorithm for coastal
applications using Synthetic Aperture Radar (SAR) imagery; ii) a hybrid programming
algorithm (CPU/GPU) to automatically compute the correspondences between similar
images. The first test is based on an algorithm developed by LNEC in OpenCL and the
respective Python wrapper. The second test uses the photogrammetry software – MicMac
– which can be compiled to run on both CPUs and GPUs.
Results show that GPUs as well as hybrid GPU/CPU approaches are an attractive alternative
to CPUs for image processing codes. For the GPU SAR image processing test, the gain in
execution time is over one order of magnitude relative to a single CPU processor. For the
hybrid CPU/GPU tests, the gains are slightly smaller. In a virtual environment, the overhead
is negligible for the GPU test as each virtual machine has a dedicated GPU and the majority
of the processing is done at the GPU level. For the hybrid GPU/CPU tests, the exact same
hardware was tested on the physical and the virtual environment. Results show that
running times were on the order of 4 to 10% slower in the virtual environment. This
overhead is, for most scientific computing applications, irrelevant, specially, if one
considers the advantages from the virtual environment, such as the flexibility, scalability,
cost and portability.
As the present analysis covers several image processing programs, the usefulness of GPUs
for this field of application is clearly demonstrated and should be further explored in the
future for more demanding applications such as the early detection of pollution events.
Within the several applications in civil engineering, numerical models solving partial
differential equations remain however as one of the most computational challenging tasks.
The present analysis should thus be further extended in the future through the adaptation
and application of some of these models in a GPU environment to assess its usefulness for
engineering purposes.