Rice University meet checks out GPU-based HPC for oil & gas

Academics plus Hess, CGGVeritas and CAPS report on cutting-edge high performance computing.

Over 100 attended an oil and gas high performance computing (HPC) workshop held at Rice university in Houston last month. Scott Morton kicked off the event with a presentation of Hess’ experience of seismic processing on graphics processing units (GPU). A decade ago, Hess’ geophysicists began investigating alternatives to PC clusters for seismic processing. Hess trialed digital signal processors, field programmable gate arrays (FPGA), the IBM Cell BE and GPUs.


Current effort focuses on NVIDIA’s G80 architecture and the CUDA programming environment. Benchmarks show up to a 48 fold speed up in wave equation migration over a CPU architecture. While the speed increase for other algorithms varies, Hess is encouraged by the performance improvement GPUs bring and is now building a ‘substantial’ GPU-based cluster.

Utah University

Samuel Brown (University of Utah) has been testing multi core architectures built on the Cell (that powers the Sony Playstation). The Utah tomography and modeling/migration consortium got ‘exclusive’ access to the Playstation 3 for the study. Modeling trials were run on the EAGE’s Marmousi 2 dataset. Despite the complexity of coding for the specialized processor architecture of the Cell, the study found ‘superior scaling beyond two threads for the heterogeneous Cell processor over homogeneous Intel multi-core processors.’


Guillaume Thomas-Collignon shared CGGVeritas’ experience of accelerator technology applied to wave equation migration. In the GPU stakes, NVIDIA with its volume technology and aggressive roadmap is ‘way ahead’ of other accelerator technologies. NVIDIA GPUs gave good performance with code that was easy to learn. They are a convenient add-on to existing systems. On the downside, full performance was tricky to achieve and only realistic for very intensive computations. Current systems suffer from PCI Express bandwidth limitations, limited memory and relatively poor debugging and profiling tools. Collignon’s wave equation test required ‘deep’ re-engineering of the code so that multiple GPU kernels could be used. But the result was ‘a 15 fold performance improvement*’.


Vivek Sarkar reported on Rice University’s ‘Habanero’ project which began last year. Habanero is investigating how to bridge the gap between traditional sequential programming languages and today’s multi-core machines and parallel architectures. The goal is to ensure that future software rewrites are done on software platforms that enable application developers to reuse their investment across multiple generations of hardware. Habanero is building an open source test bed based on the X10 (http://x10.sf.net) for use on multi-core architectures. Habanero is also working on a toolset for automated parallelization of legacy ‘dusty decks’ code.


John Mellor-Crummey’s (Rice) talk on HPC performance analysis addressed the fact that the gap between typical and peak performance of computer systems is growing with each new generation of processors. Performance analysis and tuning are now critical. Rice University’s HPCToolkit project is working on open-source, multi-platform tools for profile-based performance analysis of sequential and parallel applications. A GUI—the hpcviewer is also in the works.


Stéphane Bihan described how French GPU/FPGA programming specialist CAPS Enterprise is addressing the heterogeneity issue in multi-core applications. Bihan’s use case is reverse time migration, a particularly compute intensive task at the cutting edge of modern seismic techniques. GPUs and other hardware accelerators bring significant speed improvement, but there is no consensus on the programming mode or architecture. Enter CAPS’ HMPP, a software layer that sets out to integrate the accelerators rather than porting the application to them. HMPP is a set of compiler directives, tools and software runtime that supports multi-core processor parallel programming in C and Fortran on Unix platforms. The directives produce ‘codelets’ suitable for hardware acceleration. The 2D seismic test ran on an NVIDIA Quadro FX5600 and showed an 8 fold speed up. Bihan is now working on 3D seismic benchmark.

* We did not capture quite what was being compared to what.

Click here to comment on this article

Click here to view this article in context on a desktop

© Oil IT Journal - all rights reserved.