CUDA Spotlight: John Humphrey




Welcome to another great CUDA Spotlight Interview

This week's Spotlight is on John Humphrey of EM Photonics, a pioneer in GPU computing and developer of the CULA GPU-accelerated linear algebra library.

NVIDIA:  John, what is your role at EM Photonics?

John:  I oversee the technical work for most of our accelerated computing projects, the majority of which employ GPU technology. I have been working with the GPU for over six years, dating back to the pre-CUDA days.

NVIDIA:  One of your current projects is an aircraft carrier landing modeling system for the US Navy. Tell us about it.

 John:  The Navy has a strong desire for CFD (computational fluid dynamics) modeling for a number of reasons.  Foremost among these is to be confident of the safety of both aircraft and pilot. For each vessel and aircraft pair, there are tables describing the difficulty of landings and takeoffs based on a large number of variables, such as light conditions, wind speed and direction, and approach angle. 

Constructing these tables to completeness is a huge task, requiring an available vessel and cooperative conditions. Shifting the bulk of the work to a computational environment reduces the work significantly and enhances the quality of the data by not being subject to unpredictable weather and conditions.

NVIDIA:  How does GPU computing play a role in this?

John:  Collecting a single data point for the flight charts takes a hundred thousand CPU hours or more. Even with a moderately sized cluster, that translates to weeks of real time. Generating the full desired data set using present CPU technology may end up taking such a long amount of time that the aircraft under analysis might no longer be in service by the time the data is complete, given that hundreds or thousands of runs must be completed per-aircraft. Using the GPU, we can cut that time by an order of magnitude, ensuring that the data is available when it is still relevant.

NVIDIA:  What are applications in other markets?

John:  There are many similarities among CFD solvers, so broadly speaking many of the concepts and even some of the code segments are directly applicable to other CFD systems. In many of the solvers there is a need to solve large sparse matrix systems. These solvers are applicable to application areas outside of CFD and is something we are working to package into a developer-oriented library to complement our CULA dense linear algebra library.

We are aware of users of our libraries in the spaces of finance, medical imaging, genetic codes, image processing/enhancement, oil and gas, automotive design, molecular dynamics, electromagnetics, and there are sure to be many more.  Adding sparse matrix functionality opens up possibilities in many of those spaces as well as CFD and other finite element applications.

NVIDIA:  What are the main advantages of working with CUDA?

John:  CUDA allows for very direct expression of exactly how you want the GPU to perform a given unit of work. Ten years ago I was doing FPGA work, where the great promise was the automatic conversion of high level languages to hardware logic. Needless to say, the severe abstraction meant the result wasn't good.

In the case of CUDA, we have a direct view into the hardware and can express our ideas in a way that the hardware executes directly and efficiently. In contrast, an abstract algorithm or code translator may or may not execute efficiently on the target platform.

NVIDIA:  What are other projects in the works at EM Photonics?

John: We’ve just announced that the Tokyo Institute of Technology added our GPU-accelerated linear algebra library -- CULAtools -- to the Tsubame 2.0 supercomputer, which is #4 on the Top500 list of the world's fastest supercomputers.  Tsubame 2.0’s computing power will be available to Tokyo Tech’s scientists as well as to commercial companies and other academic organizations, for R&D in areas such as weather forecasting. 

We have also partnered with HPC vendors in Germany, France, Italy and the United States. With the help of our resellers and hardware partners, we anticipate more of these types of initiatives with supercomputing centers around the world. 

NVIDIA:  As computing becomes faster, what will we be able to do in the future?

John:  The hope will be to perform analysis in near real time, at which time the possibilities become limitless. A big goal is to use real-time CFD as a component in a hyper-realistic flight simulator, allowing pilots to train for landings in different wind and weather conditions. Present simulators do a poor job of transmitting a realistic feel for these conditions to the pilots.

Bio for John Humphrey

John received his master of electrical engineering degree from the University of Delaware in 2004. Since then, he has pursued projects in the space of algorithm acceleration, beginning with FPGA implementations in the area of computational electromagnetics. That project eventually turned to GPUs for their shorter development time, better performance and lower cost.

John now heads up EM Photonics' accelerated computing team, where the emphasis is on accelerated numerical computations. This team is best known for the CULA Linear algebra library. John has presented the team's work at conferences such as GTC and Supercomputing, and is the author of a chapter in the upcoming GPU Computing Gems Jade Edition.