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 |