Thesis (Selection of subject)Thesis (Selection of subject)(version: 368)
Thesis details
   Login via CAS
OpenMP for Java
Thesis title in Czech: OpenMP pro Javu
Thesis title in English: OpenMP for Java
Key words: OpenMP, Java, Scala
English key words: OpenMP, Java, Scala
Academic year of topic announcement: 2014/2015
Thesis type: Bachelor's thesis
Thesis language: angličtina
Department: Department of Distributed and Dependable Systems (32-KDSS)
Supervisor: RNDr. JUDr. Antonín Steinhauser, Ph.D.
Author: hidden - assigned and confirmed by the Study Dept.
Date of registration: 01.08.2014
Date of assignment: 02.08.2014
Confirmed by Study dept. on: 18.11.2014
Date and time of defence: 15.06.2015 00:00
Date of electronic submission:20.05.2015
Date of submission of printed version:22.05.2015
Date of proceeded defence: 15.06.2015
Opponents: doc. RNDr. Martin Kruliš, Ph.D.
 
 
 
Guidelines
The goal of this thesis is to implement Java preprocessor and library providing OpenMP-like behaviour for Java. Unlike other currently developed implementations, this one will run on regular JVM without any special requirements such as additional runtime libraries. Also number of threads will not be assigned on program start by user, but determined automatically.

The implementation is going to be mostly in Scala and run on regular JVM (even without Scala installed), therefore there are no special operating system requirements. Preprocessor transforms valid Java source code annotated by specific OpenMP-like syntax into output Java parallelized source code using the project library.

Following directives will be supported:
omp parallel
omp parallel for
omp for
omp sections
omp section
omp barrier
omp critical
omp public, omp private

Following functions will be supported:
getThreadNum()
getNumThreads()

The set of benchmarks will be provided as well as unit tests using ScalaTest.
References
Books:

Programming in Scala: A Comprehensive Step-by-Step Guide, 2nd Edition
Author(s): Martin Odersky, Lex Spoon, Bill Venners
Publisher: Artima Inc; 2 edition (January 4, 2011)
ISBN-10: 0981531644
ISBN-13: 978-0981531649

The Definitive ANTLR 4 Reference
Author(s): Terence Parr
Publisher: Pragmatic Bookshelf; Second Edition edition (January 25, 2013)
ISBN-10: 1934356999
ISBN-13: 978-1934356999

Pro Git (Expert's Voice in Software Development)
Author(s): Scott Chacon
Publisher: Apress; 1 edition (August 26, 2009)
ISBN-10: 1430218339
ISBN-13: 978-1430218333

Introduction to Automata Theory, Languages, and Computation
Author(s): John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman
Publisher: Apress; Addison Wesley; 2 edition (November 24, 2000)
ISBN-10: 0201441241
ISBN-13: 978-0201441246

Online sources and whitepapers:

http://www.scala-sbt.org/documentation.html
http://docs.oracle.com/javase/specs/
http://www.scala-lang.org/docu/files/ScalaReference.pdf
http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html