Optimizing The Performance of Streaming Numerical Kernels On The IBM Blue Gene/P PowerPC 450

Handle URI:
http://hdl.handle.net/10754/209374
Title:
Optimizing The Performance of Streaming Numerical Kernels On The IBM Blue Gene/P PowerPC 450
Authors:
Malas, Tareq
Abstract:
Several emerging petascale architectures use energy-efficient processors with vectorized computational units and in-order thread processing. On these architectures the sustained performance of streaming numerical kernels, ubiquitous in the solution of partial differential equations, represents a formidable challenge despite the regularity of memory access. Sophisticated optimization techniques beyond the capabilities of modern compilers are required to fully utilize the Central Processing Unit (CPU). The aim of the work presented here is to improve the performance of streaming numerical kernels on high performance architectures by developing efficient algorithms to utilize the vectorized floating point units. The importance of the development time demands the creation of tools to enable simple yet direct development in assembly to utilize the power-efficient cores featuring in-order execution and multiple-issue units. We implement several stencil kernels for a variety of cached memory scenarios using our Python instruction simulation and generation tool. Our technique simplifies the development of efficient assembly code for the IBM Blue Gene/P supercomputer's PowerPC 450. This enables us to perform high-level design, construction, verification, and simulation on a subset of the CPU's instruction set. Our framework has the capability to implement streaming numerical kernels on current and future high performance architectures. Finally, we present several automatically generated implementations, including a 27-point stencil achieving a 1.7x speedup over the best previously published results.
Advisors:
Keyes, David E. ( 0000-0002-4052-7224 )
Committee Member:
Ahmadia, Aron ( 0000-0002-2573-2481 ) ; Moshkov, Mikhail ( 0000-0003-0085-9483 )
KAUST Department:
Computer, Electrical and Mathematical Sciences and Engineering (CEMSE) Division
Program:
Computer Science
Issue Date:
Jul-2011
Type:
Thesis
Appears in Collections:
Theses; Computer Science Program; Computer, Electrical and Mathematical Sciences and Engineering (CEMSE) Division

Full metadata record

DC FieldValue Language
dc.contributor.advisorKeyes, David E.en
dc.contributor.authorMalas, Tareqen
dc.date.accessioned2012-02-04T08:12:50Z-
dc.date.available2012-02-04T08:12:50Z-
dc.date.issued2011-07en
dc.identifier.urihttp://hdl.handle.net/10754/209374en
dc.description.abstractSeveral emerging petascale architectures use energy-efficient processors with vectorized computational units and in-order thread processing. On these architectures the sustained performance of streaming numerical kernels, ubiquitous in the solution of partial differential equations, represents a formidable challenge despite the regularity of memory access. Sophisticated optimization techniques beyond the capabilities of modern compilers are required to fully utilize the Central Processing Unit (CPU). The aim of the work presented here is to improve the performance of streaming numerical kernels on high performance architectures by developing efficient algorithms to utilize the vectorized floating point units. The importance of the development time demands the creation of tools to enable simple yet direct development in assembly to utilize the power-efficient cores featuring in-order execution and multiple-issue units. We implement several stencil kernels for a variety of cached memory scenarios using our Python instruction simulation and generation tool. Our technique simplifies the development of efficient assembly code for the IBM Blue Gene/P supercomputer's PowerPC 450. This enables us to perform high-level design, construction, verification, and simulation on a subset of the CPU's instruction set. Our framework has the capability to implement streaming numerical kernels on current and future high performance architectures. Finally, we present several automatically generated implementations, including a 27-point stencil achieving a 1.7x speedup over the best previously published results.en
dc.language.isoenen
dc.titleOptimizing The Performance of Streaming Numerical Kernels On The IBM Blue Gene/P PowerPC 450en
dc.typeThesisen
dc.contributor.departmentComputer, Electrical and Mathematical Sciences and Engineering (CEMSE) Divisionen
thesis.degree.grantorKing Abdullah University of Science and Technologyen_GB
dc.contributor.committeememberAhmadia, Aronen
dc.contributor.committeememberMoshkov, Mikhailen
thesis.degree.disciplineComputer Scienceen
thesis.degree.nameMaster of Scienceen
All Items in KAUST are protected by copyright, with all rights reserved, unless otherwise indicated.