Return to search

Profiling, Optimization and Parallelization of a Seismic Inversion Code

Modern chip multi-processors offer increased computing power through hardware parallelism. However, for applications to exploit this parallelism, they have to be either designed for or adapted to the new processor architectures. Seismic processing applications usually handle large amounts of data that are well suited for the task-level parallelism found in multi-core shared memory computer systems. In this thesis, a large production code for seismic inversion is profiled and analyzed to find areas of the code suitable for parallel optimization. These code fragments are then optimized through parallelization and by using highly optimized multi-threaded libraries. Our parallelizations of the linearized AVO seismic inversion algorithm used in the application, scales up to 24 cores, with almost linear speedup up to 16 cores, on a quad twelve-core AMD Opteron system. Overall, our optimization efforts result in a performance increase of about 60 % on a dual quad-core AMD Opteron system.The optimization efforts are guided by the Seven Dwarfs taxonomy and proposed benchmarks. This thesis thus serves as a case study of their applicability to real-world applications.This work is done in collaborations with Statoil and builds on previous works by Andreas Hysing, a former HPC-Lab master student, and by the author.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:ntnu-14545
Date January 2011
CreatorsStinessen, Bent Ove
PublisherNorges teknisk-naturvitenskapelige universitet, Institutt for datateknikk og informasjonsvitenskap, Institutt for datateknikk og informasjonsvitenskap
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.0015 seconds