Skip to main content
Go to the home page of the European Commission (opens in new window)
English English
CORDIS - EU research results
CORDIS
Content archived on 2024-06-18

GPU-Assisted Massive Volume Data Visualisation

Final Report Summary - GAMVOLVIS (GPU-Assisted Massive Volume Data Visualisation)

High-resolution medical volume data (containing billions of voxels) is used in many clinical applications. However, interactive visualisation of gigabyte-sized volumes on a desktop PC is challenging, due to the heavy computation and the memory consumption. In general, specialised (and expensive) workstations have been needed to deliver the performance that users need to interact with and explore the data.

In recent years, the graphics processing unit (GPU) of the PC has evolved at a remarkable pace, and tremendous improvements have been achieved in its capabilities. GPU performance now substantially exceeds that of the computer's central processing unit (CPU) in both the raw computational power it provides and its continuing speed of development. Thus, the GPU is now the ideal platform for efficient visualisation for large volume data. However, current methods for rendering large volume datasets have limitations in terms of their performance, accuracy, flexibility or scalability.

GAMVOLVIS has addressed these deficiencies by presenting techniques to perform volume visualisation of large datasets on off-the-shelf hardware by harnessing the power of GPUs to provide high performance and produce high-quality images. This was achieved by implementing a multi-resolution framework with two parts: data management on the CPU and real-time rendering on the GPU.

The data volume is broken down into 'bricks' at various resolutions in a structure that enables the highest feasible data resolution to be used at any time. This adaptive approach depends upon the underlying brick structure being organised in a highly efficient way and the switching of data in and out of memory taking place seamlessly and in a way that is undetected by the user.

A new rendering pipeline was proposed in which each volume brick is directly treated as a single GPU rendering primitive and efficient cache management is used to avoid cache thrashing of GPU memory. Forward mapping allows arbitrarily many primitives to be rendered on the GPU in a stream-like manner, making the system fully scalable to an arbitrarily large dataset. Further acceleration is achieved by using a coarsely fitted proxy geometry, and advanced illumination techniques were introduced for better quality visualisation at high frame rates. In tests, GAMVOLVIS consistently outperformed all comparable software of which it was possible to obtain copies by a significant factor across a complete range of datasets with different characteristics. In fact, the images from GAMVOLVIS were not only produced faster, they were also regularly of higher quality, with fewer artefacts, because of the accuracy with which some of the intrinsic calculations were performed.

Once the objectives of the project had been achieved in relation to a single GPU, the outcomes were generalised to environments including multiple GPUs. It is now possible to purchase off-the-shelf GPU clusters that bring unprecedented computing power to a desktop PC at relatively low expense. In theory, this should allow domain scientists to visualise super-large-scale volume data on a moderate PC platform without being heavily restricted by the data size. However, producing efficient software for GPUs is not straightforward, and a failure to take full advantage of the characteristics of the GPU's architecture can result in severe degradation of performance.

This becomes even more critical when multiple GPUs are communicating in the performance of a computing task. By careful design of the computational pipeline, GAMVOLVIS produced near-linear speed-up with the number of processors, clearly demonstrating the potential that such an arrangement has to offer practitioners in the clinical and research areas of biomedicine.
gamvolvis-3.jpg
My booklet 0 0