gpu4java

Staub, Floris and Emch, Marc (2022) gpu4java. Other thesis, OST Ostschweizer Fachhochschule.

[thumbnail of HS 2021 2022-SA-EP-Staub-Emch-Think Java is slow  GPUforJava.pdf] Text
HS 2021 2022-SA-EP-Staub-Emch-Think Java is slow GPUforJava.pdf - Supplemental Material

Download (633kB)

Abstract

Prozessoren sind darauf ausgerichtet, viele komplexe Operationen sequenziell auszuführen. Auch moderne Multicore-Prozessoren ermöglichen nur eine geringe Parallelisierung. Dem gegenüber steht die Grafikkarte. Diese kann lediglich simple arithmetisch Operationen ausführen, hat jedoch tausende von Threads, die parallel ausgeführt werden können. Dadurch ist es möglich, sehr rechen-intensive Programme, wie zum Beispiel Finanzmarkt-Simulationen, stark zu beschleunigen.

In vielen Programmiersprachen ist es möglich, mit geringem Aufwand des Entwicklers Teile des Rechenaufwandes auf die Grafikkarte auszulagern. Java bietet jedoch von sich aus keine solche Möglichkeit. Da Java immer noch eine der meistverbreiteten Programmiersprachen ist, hat diese Arbeit das Ziel, eine Lösung zu entwickeln, die es einem Programmierer ermöglicht, Teile eines Java-Programms auf der Grafikkarte auszuführen. Dabei soll möglichst wenig zusätzlicher Aufwand für den Programmierer entstehen.

In dieser Arbeit wurde ein Tool entwickelt, welches markierte Teile eines Java-Programms nimmt und in CUDA-Code übersetzt, sodass diese auf Nvidia-Grafikkarten ausgeführt werden können. Dabei wird Java Bytecode als Input genommen, die markierten Teile werden ausgeschnitten und durch einen “native” Funktionsaufruf ersetzt. Diese native Funktion wird dann als C Source Code erzeugt, und zusammen mit dem CUDA-Code in eine Shared Library kompiliert, welche letztendlich von der Java Virtual Machine geladen und an die Klasse angebunden wird, aus welcher der Code ursprünglich ausgeschnitten wurde.

Item Type: Thesis (Other)
Subjects: Topics > Software > Performance
Topics > Software > Optimization
Area of Application > Academic and Education
Technologies > Programming Languages > Java
Technologies > Parallel Computing
Technologies > Parallel Computing > CUDA (Compute Unified Device Architecture)
Brands > nVidia
Metatags > IFS (Institute for Software)
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Depositing User: HSR Deposit User
Contributors:
Contribution
Name
Email
Thesis advisor
Purandare, Mitra
UNSPECIFIED
Date Deposited: 20 Apr 2022 08:52
Last Modified: 20 Apr 2022 08:52
URI: https://eprints.ost.ch/id/eprint/1011

Actions (login required)

View Item
View Item