Combining high productivity with high performance on commodity hardware

Publikation: Bog/antologi/afhandling/rapportPh.d.-afhandlingForskning

Standard

Combining high productivity with high performance on commodity hardware. / Skovhede, Kenneth.

The Niels Bohr Institute, Faculty of Science, University of Copenhagen, 2013. 135 s.

Publikation: Bog/antologi/afhandling/rapportPh.d.-afhandlingForskning

Harvard

Skovhede, K 2013, Combining high productivity with high performance on commodity hardware. The Niels Bohr Institute, Faculty of Science, University of Copenhagen. <https://www.nbi.ku.dk/english/research/phd_theses/phd_theses_2013/kenneth_skovhede/Kenneth_Skovhede.pdf/>

APA

Skovhede, K. (2013). Combining high productivity with high performance on commodity hardware. The Niels Bohr Institute, Faculty of Science, University of Copenhagen. https://www.nbi.ku.dk/english/research/phd_theses/phd_theses_2013/kenneth_skovhede/Kenneth_Skovhede.pdf/

Vancouver

Skovhede K. Combining high productivity with high performance on commodity hardware. The Niels Bohr Institute, Faculty of Science, University of Copenhagen, 2013. 135 s.

Author

Skovhede, Kenneth. / Combining high productivity with high performance on commodity hardware. The Niels Bohr Institute, Faculty of Science, University of Copenhagen, 2013. 135 s.

Bibtex

@phdthesis{f8233475eb794fe6b63cf794235ae2ea,
title = "Combining high productivity with high performance on commodity hardware",
abstract = "The current advances in the natural sciences are increasingly dependent on the available in computer power. At the same time, the increase in computer power is no longer based on faster cores, but on multiple cores and specialized hardware. As most scientific software is written for sequential processing, the increase in hardware performance cannot be utilized. Most existing scientific software is written in low-level languages such as C or FORTRAN, making it difficult to rewrite these to work in parallel. As the brief CELL-BE processor history showed, writing solutions that are tied to a particular hardware platform, is a risky investment. To make this problem worse, the scientists that have the required field expertise to write the algorithms are not formally trained programmers. This usually leads to scientists writing buggy, inefficient and hard to maintain programs. Occasionally, a skilled programmer is hired, which increases the program quality, but increases the cost of the program. This extra link also introduces longer development iterations and may introduce other errors, as the programmer is not necessarily an expert in the field. And neither approach solves the issue of changing hardware platforms. In this thesis, I explore different approaches for efficient execution of scientific kernels, and work towards a complete system that aims to handle all the mentioned issues. I present the work on the CELL-BE processor, which comprises a CSP-like library, and a JIT-like compiler for translating CIL bytecode on the CELL-BE. I then introduce a bytecode converter that transforms simple loops in Java bytecode to GPGPU capable code. I then introduce the numeric library for the Common Intermediate Language, NumCIL. I can then utilizing the vector programming model from NumCIL and map this to the Bohrium framework. The result is a complete system that gives the user a choice of high-level languages with no explicit parallelism, yet seamlessly performs efficient execution on a number of hardware setups.",
author = "Kenneth Skovhede",
year = "2013",
language = "English",
publisher = "The Niels Bohr Institute, Faculty of Science, University of Copenhagen",

}

RIS

TY - BOOK

T1 - Combining high productivity with high performance on commodity hardware

AU - Skovhede, Kenneth

PY - 2013

Y1 - 2013

N2 - The current advances in the natural sciences are increasingly dependent on the available in computer power. At the same time, the increase in computer power is no longer based on faster cores, but on multiple cores and specialized hardware. As most scientific software is written for sequential processing, the increase in hardware performance cannot be utilized. Most existing scientific software is written in low-level languages such as C or FORTRAN, making it difficult to rewrite these to work in parallel. As the brief CELL-BE processor history showed, writing solutions that are tied to a particular hardware platform, is a risky investment. To make this problem worse, the scientists that have the required field expertise to write the algorithms are not formally trained programmers. This usually leads to scientists writing buggy, inefficient and hard to maintain programs. Occasionally, a skilled programmer is hired, which increases the program quality, but increases the cost of the program. This extra link also introduces longer development iterations and may introduce other errors, as the programmer is not necessarily an expert in the field. And neither approach solves the issue of changing hardware platforms. In this thesis, I explore different approaches for efficient execution of scientific kernels, and work towards a complete system that aims to handle all the mentioned issues. I present the work on the CELL-BE processor, which comprises a CSP-like library, and a JIT-like compiler for translating CIL bytecode on the CELL-BE. I then introduce a bytecode converter that transforms simple loops in Java bytecode to GPGPU capable code. I then introduce the numeric library for the Common Intermediate Language, NumCIL. I can then utilizing the vector programming model from NumCIL and map this to the Bohrium framework. The result is a complete system that gives the user a choice of high-level languages with no explicit parallelism, yet seamlessly performs efficient execution on a number of hardware setups.

AB - The current advances in the natural sciences are increasingly dependent on the available in computer power. At the same time, the increase in computer power is no longer based on faster cores, but on multiple cores and specialized hardware. As most scientific software is written for sequential processing, the increase in hardware performance cannot be utilized. Most existing scientific software is written in low-level languages such as C or FORTRAN, making it difficult to rewrite these to work in parallel. As the brief CELL-BE processor history showed, writing solutions that are tied to a particular hardware platform, is a risky investment. To make this problem worse, the scientists that have the required field expertise to write the algorithms are not formally trained programmers. This usually leads to scientists writing buggy, inefficient and hard to maintain programs. Occasionally, a skilled programmer is hired, which increases the program quality, but increases the cost of the program. This extra link also introduces longer development iterations and may introduce other errors, as the programmer is not necessarily an expert in the field. And neither approach solves the issue of changing hardware platforms. In this thesis, I explore different approaches for efficient execution of scientific kernels, and work towards a complete system that aims to handle all the mentioned issues. I present the work on the CELL-BE processor, which comprises a CSP-like library, and a JIT-like compiler for translating CIL bytecode on the CELL-BE. I then introduce a bytecode converter that transforms simple loops in Java bytecode to GPGPU capable code. I then introduce the numeric library for the Common Intermediate Language, NumCIL. I can then utilizing the vector programming model from NumCIL and map this to the Bohrium framework. The result is a complete system that gives the user a choice of high-level languages with no explicit parallelism, yet seamlessly performs efficient execution on a number of hardware setups.

UR - https://soeg.kb.dk/permalink/45KBDK_KGL/fbp0ps/alma99122420274505763

M3 - Ph.D. thesis

BT - Combining high productivity with high performance on commodity hardware

PB - The Niels Bohr Institute, Faculty of Science, University of Copenhagen

ER -

ID: 88081954