GPU applications for scientific computation, training and visualization

Senior Research Software Engineer
,
Ohio Supercomputer Center
Tuesday, July 28, 2015 - 11:32am
Brad Hittle at Progetto “RIESCO” Challenge GPU4EO 2015

Earlier this month, I traveled to Bari, Italy, to deliver a pair of presentations, including the keynote address, at Progetto “RIESCO” Challenge GPU4EO 2015. The event showcased solutions to improve the performance of software used to process remotely sensed data through the use of GPUs (graphics processing units). In this article, I summarize my talk, “GPU applications for scientific computation, training and visualization.” I focus on several examples of how we’ve leveraged GPU computing in the Interface Laboratory at the Ohio Supercomputer Center (OSC).

OSC, a state-funded center under the auspices of the Ohio Department of Higher Education and hosted at The Ohio State University, currently offers researchers three production clusters. The newest of these, the Ruby Cluster (named for the late Ohio-born actress Ruby Dee), delivers a performance of about 144 Teraflops, powered by 4,800 Intel Xeon cores (20 per node with 64 GB of memory per node) and accelerated by 20 Tesla K40 GPUs and 20 Intel Xeon Phi co-processors. With a wide variety of GPU accelerators on board, we focus on providing heterogeneous hardware for many different types of applications.

Within OSC, the Interface Laboratory is home to an interdisciplinary group of research scientists, computer scientists and clinicians who apply high performance computing to biomedicine and interface technology for the virtual exploration of computational data. We currently focus on three areas of research: virtual environments, HPC visualization and medical simulations. We meld research and commercial applications and combine interfaces to visualize and explore data using available technologies.

To provide examples of how we leverage GPU technology at the Interface Lab, I’ll outline three GPU projects through which I am currently funded: 1) GooFit is a library that enables scientists to fit complicated models to large datasets, 2) The Home Healthcare project, funded by the National Institute for Occupational Safety and Health (NIOSH), is a serious game-based application for the training and assessment of home healthcare professionals in hazard recognition, and 3), the Virtual Temporal Bone Project, funded by the National Institute on Deafness and other Communicative Disorders (NIDCD), is being studied for use in training residents to perform lateral skull-based surgical approaches and provides automated assessment.

GooFit Fitting Framework

Many researchers in high-energy physics are using GPU-enabled software similar to a library called RooFit in order to perform their scientific calculations. GooFit is a fitting framework capable of targeting different hardware environments, such as CUDA, OpenMP, etc. allowing software development without requiring specific coding for each type of environment.

Given the structure of the algorithm for computing a probability density function (PDF), this is a great application for GPU computing since all pieces of the data can be calculated independently. A process running on a single core takes over 19 minutes to complete, while a GPU-enabled process will perform the same task in 20 seconds. The power of GPU computing produces the same results 55 times faster than running a single-core process. This enables the researcher to push larger datasets, and process larger amounts of data in less time. Leveraging a cluster such as Ruby can enable researchers to increasingly subdivide the time; for example running four processes on Ruby can take the same calculation seven seconds instead of 20 seconds.

Home Health Care Training Simulation

Home Health Care Training Simulation screenshot
OSC’s Home Health Care Training Simulation helps healthcare workers providing in-home services to identify various household risks.

OSC’s Home Health Care Training Simulation is designed to help healthcare workers providing in-home services to identify for patients various household risks, such as mold, dangerous use of equipment or other injury-producing events. The training is necessary because the education provided by employers may be inadequate. Some employers may simply have workers watch a video or read a packet of materials. Others employ full-scale theatrical settings, which are costly to maintain, especially when used sporadically.

Here at the Interface Lab, we work towards representations of such environments in which we can place subjects into a virtual environment, allowing them to see and interact normally as they would with a mock room. The lighting models and representations are not possible without the power of GPU computing. When simulating an environment such as this for the home healthcare project, speed is critical. We rely heavily on the power of graphics cards to keep our simulations running as quickly as possible and to increase the realism.

Virtual Temporal Bone Project

Virtual Temporal Bone Project screenshot
Future surgeons can practice delicate drilling techniques on OSC's Virtual Temporal Bone surgical simulation system.

Future surgeons can practice delicate drilling techniques on a computer-based teaching system, known as the Virtual Temporal Bone Project. The temporal bone is located on the side of the skull, just behind the ear, and contains the organs of hearing and balance. Surgeries in this area typically are very complex due to the number of critical neural and vascular structures. These surgeries are conducted to help control infections, to excise tumors or to secure cochlear implants. A dozen partner institutions helped us develop metrics for use in assessing temporal bone surgical technique proficiencies of resident surgeons, who have limited opportunities to practice on cadavers. The simulator was developed in partnership with Nationwide Children’s Hospital – Columbus and Ohio State’s Department of Otolaryngology.

Representation and interactivity are two critical components of a simulation such as this. With GPU technology, not only are we representing highly complex bone material, but we are using it for data processing as well. Our rendering algorithms are not possible without GPUs, and our processing algorithms have increased in speed by a factor of 700.

Conclusions

These are just a few of the GPU-computing projects that employ GPU acceleration. GPU-enabled applications represent a win-win scenario, providing faster computation and higher quality visualization. Today, GPUs are available on almost every laptop and desktop and are even integrated into many handheld devices. The new hardware features more cores and bigger memory, and as a result, writing parallel code continues to get easier. Leveraging accelerators is well worth the effort.