diff --git a/.gitignore b/.gitignore index 2cce6b1..c3cd0cc 100644 --- a/.gitignore +++ b/.gitignore @@ -525,3 +525,306 @@ fabric.properties *.cubin *.fatbin +# ---> LaTeX +## Core latex/pdflatex auxiliary files: +*.aux +*.lof +*.log +*.lot +*.fls +*.out +*.toc +*.fmt +*.fot +*.cb +*.cb2 +.*.lb + +## Intermediate documents: +*.dvi +*.xdv +*-converted-to.* +# these rules might exclude image files for figures etc. +# *.ps +# *.eps +# *.pdf + +## Generated if empty string is given at "Please type another file name for output:" +.pdf + +## Bibliography auxiliary files (bibtex/biblatex/biber): +*.bbl +*.bbl-SAVE-ERROR +*.bcf +*.blg +*-blx.aux +*-blx.bib +*.run.xml + +## Build tool auxiliary files: +*.fdb_latexmk +*.synctex +*.synctex(busy) +*.synctex.gz +*.synctex.gz(busy) +*.pdfsync +*.rubbercache +rubber.cache + +## Build tool directories for auxiliary files +# latexrun +latex.out/ + +## Auxiliary and intermediate files from other packages: +# algorithms +*.alg +*.loa + +# achemso +acs-*.bib + +# amsthm +*.thm + +# beamer +*.nav +*.pre +*.snm +*.vrb + +# changes +*.soc + +# comment +*.cut + +# cprotect +*.cpt + +# elsarticle (documentclass of Elsevier journals) +*.spl + +# endnotes +*.ent + +# fixme +*.lox + +# feynmf/feynmp +*.mf +*.mp +*.t[1-9] +*.t[1-9][0-9] +*.tfm + +#(r)(e)ledmac/(r)(e)ledpar +*.end +*.?end +*.[1-9] +*.[1-9][0-9] +*.[1-9][0-9][0-9] +*.[1-9]R +*.[1-9][0-9]R +*.[1-9][0-9][0-9]R +*.eledsec[1-9] +*.eledsec[1-9]R +*.eledsec[1-9][0-9] +*.eledsec[1-9][0-9]R +*.eledsec[1-9][0-9][0-9] +*.eledsec[1-9][0-9][0-9]R + +# glossaries +*.acn +*.acr +*.glg +*.glo +*.gls +*.glsdefs +*.lzo +*.lzs +*.slg +*.slo +*.sls + +# uncomment this for glossaries-extra (will ignore makeindex's style files!) +# *.ist + +# gnuplot +*.gnuplot +*.table + +# gnuplottex +*-gnuplottex-* + +# gregoriotex +*.gaux +*.glog +*.gtex + +# htlatex +*.4ct +*.4tc +*.idv +*.lg +*.trc +*.xref + +# hypdoc +*.hd + +# hyperref +*.brf + +# knitr +*-concordance.tex +# TODO Uncomment the next line if you use knitr and want to ignore its generated tikz files +# *.tikz +*-tikzDictionary + +# listings +*.lol + +# luatexja-ruby +*.ltjruby + +# makeidx +*.idx +*.ilg +*.ind + +# minitoc +*.maf +*.mlf +*.mlt +*.mtc[0-9]* +*.slf[0-9]* +*.slt[0-9]* +*.stc[0-9]* + +# minted +_minted* +*.pyg + +# morewrites +*.mw + +# newpax +*.newpax + +# nomencl +*.nlg +*.nlo +*.nls + +# pax +*.pax + +# pdfpcnotes +*.pdfpc + +# sagetex +*.sagetex.sage +*.sagetex.py +*.sagetex.scmd + +# scrwfile +*.wrt + +# svg +svg-inkscape/ + +# sympy +*.sout +*.sympy +sympy-plots-for-*.tex/ + +# pdfcomment +*.upa +*.upb + +# pythontex +*.pytxcode +pythontex-files-*/ + +# tcolorbox +*.listing + +# thmtools +*.loe + +# TikZ & PGF +*.dpth +*.md5 +*.auxlock + +# titletoc +*.ptc + +# todonotes +*.tdo + +# vhistory +*.hst +*.ver + +# easy-todo +*.lod + +# xcolor +*.xcp + +# xmpincl +*.xmpi + +# xindy +*.xdy + +# xypic precompiled matrices and outlines +*.xyc +*.xyd + +# endfloat +*.ttt +*.fff + +# Latexian +TSWLatexianTemp* + +## Editors: +# WinEdt +*.bak +*.sav + +# Texpad +.texpadtmp + +# LyX +*.lyx~ + +# Kile +*.backup + +# gummi +.*.swp + +# KBibTeX +*~[0-9]* + +# TeXnicCenter +*.tps + +# auto folder when using emacs and auctex +./auto/* +*.el + +# expex forward references with \gathertags +*-tags.tex + +# standalone packages +*.sta + +# Makeindex log files +*.lpz + +# xwatermark package +*.xwm diff --git a/thesis/.vscode/ltex.dictionary.en-GB.txt b/thesis/.vscode/ltex.dictionary.en-GB.txt new file mode 100644 index 0000000..4fe7b04 --- /dev/null +++ b/thesis/.vscode/ltex.dictionary.en-GB.txt @@ -0,0 +1,2 @@ +CUDA +GPGPU diff --git a/thesis/back/appendix_a.tex b/thesis/back/appendix_a.tex new file mode 100644 index 0000000..292b0ee --- /dev/null +++ b/thesis/back/appendix_a.tex @@ -0,0 +1,5 @@ +\chapter{Technical Details} +\label{app:TechnicalDetails} + + + diff --git a/thesis/back/appendix_b.tex b/thesis/back/appendix_b.tex new file mode 100644 index 0000000..ffa7074 --- /dev/null +++ b/thesis/back/appendix_b.tex @@ -0,0 +1,31 @@ +\chapter{Supplementary Materials} +\label{app:materials} + + +List of supplementary data submitted to the degree-granting institution for archival storage +(in ZIP format). + +% Use this as an example only, adapt the structure to your requirements! + +\section{PDF Files} +\begin{FileList}{/} +\fitem{thesis.pdf} Master/Bachelor thesis (complete document) +\end{FileList} + +\section{Media Files} +\begin{FileList}{/media} +\fitem{*.ai, *.pdf} Adobe Illustrator files +\fitem{*.jpg, *.png} raster images +\fitem{*.mp3} audio files +\fitem{*.mp4} video files +\end{FileList} + + +\section{Online Sources (PDF Captures)} +\begin{FileList}{/online-sources} +\fitem{Reliquienschrein-Wikipedia.pdf} {\backtrackerfalse\parencite{WikiReliquienschrein2023}} +\end{FileList} + + + + diff --git a/thesis/back/appendix_c.tex b/thesis/back/appendix_c.tex new file mode 100644 index 0000000..5337927 --- /dev/null +++ b/thesis/back/appendix_c.tex @@ -0,0 +1,7 @@ +\chapter{Questionnaire} +\label{app:Questionnaire} + + + + + diff --git a/thesis/back/appendix_d.tex b/thesis/back/appendix_d.tex new file mode 100644 index 0000000..2c00507 --- /dev/null +++ b/thesis/back/appendix_d.tex @@ -0,0 +1,3 @@ +\chapter{\latex Source Code} +\label{app:SourceCode} + diff --git a/thesis/back/printbox.tex b/thesis/back/printbox.tex new file mode 100644 index 0000000..d9d8737 --- /dev/null +++ b/thesis/back/printbox.tex @@ -0,0 +1,15 @@ +\chapter*{Check Final Print Size} + +\begin{center} +{\Large --- Check final print size! ---} + +\bigskip + +\calibrationbox{100}{50} % width/height of box in mm + +\bigskip + +{\Large --- Remove this page after printing! ---} + +\end{center} + diff --git a/thesis/chapters/conceptdesign.tex b/thesis/chapters/conceptdesign.tex new file mode 100644 index 0000000..487e7ca --- /dev/null +++ b/thesis/chapters/conceptdesign.tex @@ -0,0 +1,33 @@ +\chapter{Concept and Design} +\label{cha:conceptdesign} +introduction to what needs to be done. also clarify terms "Host" and "Device" here + +\section[Requirements]{Requirements and Data} +short section. +Multiple expressions; vars for all expressions; params unique to expression; operators that need to be supported + + +\section{Interpreter} +as introduction to this section talk about what "interpreter" means in this context. so "gpu parses expr and calculates" + +\subsection{Architecture} +talk about the coarse grained architecture on how the interpreter will work. (.5 to 1 page probably) + +\subsection{Host} +talk about the steps taken to prepare for GPU interpretation + +\subsection{Device} +talk about how the actual interpreter will be implemented + + +\section{Transpiler} +as introduction to this section talk about what "transpiler" means in this context. so "cpu takes expressions and generates ptx for gpu execution" + +\subsection{Architecture} +talk about the coarse grained architecture on how the transpiler will work. (.5 to 1 page probably) + +\subsection{Host} +talk about how the transpiler is implemented + +\subsection{Device} +talk about what the GPU does. short section since the gpu does not do much \ No newline at end of file diff --git a/thesis/chapters/conclusion.tex b/thesis/chapters/conclusion.tex new file mode 100644 index 0000000..3c428b7 --- /dev/null +++ b/thesis/chapters/conclusion.tex @@ -0,0 +1,7 @@ +\chapter[Conclusion]{Conclusion and Future Work} +\label{cha:conclusion} + +Summarise the results + +\section{Future Work} +talk about what can be improved \ No newline at end of file diff --git a/thesis/chapters/evaluation.tex b/thesis/chapters/evaluation.tex new file mode 100644 index 0000000..b1ffca6 --- /dev/null +++ b/thesis/chapters/evaluation.tex @@ -0,0 +1,14 @@ +\chapter{Evaluation} +\label{cha:evaluation} + +\section{Test environment} +Explain the hardware used, as well as the actual data (how many expressions, variables etc.) + +\section{Results} +talk about what we will see now (results only for interpreter, then transpiler and then compared with each other and a CPU interpreter) +\subsection{Interpreter} +Results only for Interpreter +\subsection{Transpiler} +Results only for Transpiler +\subsection{Comparison} +Comparison of Interpreter and Transpiler as well as Comparing the two with CPU interpreter \ No newline at end of file diff --git a/thesis/chapters/implementation.tex b/thesis/chapters/implementation.tex new file mode 100644 index 0000000..1c01a40 --- /dev/null +++ b/thesis/chapters/implementation.tex @@ -0,0 +1,13 @@ +\chapter{Implementation} +\label{cha:implementation} + +\section{Technologies} +Short section; CUDA, PTX, Julia, CUDA.jl + +Probably reference the performance evaluation papers for Julia and CUDA.jl + +\section{Interpreter} +Talk about how the interpreter has been developed. + +\section{Transpiler} +Talk about how the transpiler has been developed \ No newline at end of file diff --git a/thesis/chapters/introduction.tex b/thesis/chapters/introduction.tex new file mode 100644 index 0000000..6aa49f2 --- /dev/null +++ b/thesis/chapters/introduction.tex @@ -0,0 +1,10 @@ +\chapter{Introduction} +\label{cha:Introduction} + +Introduction into topic and why someone would want to evaluate expressions on the GPU. Also include "Non-Goals" + +\section[Research Question]{Research Question and Methodology} +What are the research questions and how they will be answered + +\section{Overview} +Will give an overview of the chapters and what to expect diff --git a/thesis/chapters/relwork.tex b/thesis/chapters/relwork.tex new file mode 100644 index 0000000..e97c99f --- /dev/null +++ b/thesis/chapters/relwork.tex @@ -0,0 +1,19 @@ +\chapter{Fundamentals and Related Work} +\label{cha:relwork} + +\section{Equation learning} +Section describing what equation learning is and why it is relevant for the thesis + + +\section[GPGPU]{General Purpose Computation on Graphics Processing Units} +Describe what GPGPU is and how it differs from classical programming. talk about architecture (SIMD) and some scientific papers on how they use GPUs to accelerate tasks + +\subsection[PTX]{Parallel Thread Execution} +Describe what PTX is to get a common ground for the implementation chapter. Probably a short section + + +\section{GPU Interpretation} +Different sources on how to do interpretation on the gpu (and maybe interpretation in general too?) + +\section{Transpiler} +talk about what transpilers are and how to implement them. If possible also gpu specific transpilation. Also talk about compilation and register management. and probably find a better title \ No newline at end of file diff --git a/thesis/front/abstract.tex b/thesis/front/abstract.tex new file mode 100644 index 0000000..1675289 --- /dev/null +++ b/thesis/front/abstract.tex @@ -0,0 +1,5 @@ +\chapter{Abstract} + + +This should be a 1-page (maximum) summary of your work in English. + diff --git a/thesis/front/kurzfassung.tex b/thesis/front/kurzfassung.tex new file mode 100644 index 0000000..d483b0c --- /dev/null +++ b/thesis/front/kurzfassung.tex @@ -0,0 +1,7 @@ +\chapter{Kurzfassung} + +\begin{german} +An dieser Stelle steht eine Zusammenfassung der Arbeit, Umfang +max.\ 1 Seite. +... +\end{german} \ No newline at end of file diff --git a/thesis/hgb.sty b/thesis/hgb.sty new file mode 100644 index 0000000..cdea9f1 --- /dev/null +++ b/thesis/hgb.sty @@ -0,0 +1,351 @@ +%% hgb.sty +%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses +%% Author: Wilhelm Burger (wilbur@ieee.org) +%% GitHub: https://github.com/Digital-Media/HagenbergThesis +%% File encoding: ASCII + +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{hgb}[2023/11/06]%%AUTO +\typeout{******************* hgb.sty (options=\@nameuse{opt@hgb.sty}) ***********************} + +% Create a default/fallback main language so it is set no matter what +\providecommand{\hgb@MainLanguage}{german} + +\RequirePackage{xifthen} + +\newboolean{hgb@SmartQuotesOn} +\setboolean{hgb@SmartQuotesOn}{false} % smart quotes are turned off by default + +\newboolean{hgb@noUpdateCheck} +\setboolean{hgb@noUpdateCheck}{false} % update check is perfomed by default + +% Handle package options passed from the class file +\DeclareOption{english}{\renewcommand{\hgb@MainLanguage}{english}} +\DeclareOption{german}{\renewcommand{\hgb@MainLanguage}{german}} +\DeclareOption{ngerman}{\renewcommand{\hgb@MainLanguage}{german}} +\DeclareOption{smartquotes}{\setboolean{hgb@SmartQuotesOn}{true}} +\DeclareOption{noUpdateCheck}{\setboolean{hgb@noUpdateCheck}{true}} +\DeclareOption*{\ClassWarning{hgb}{Unknown option '\CurrentOption'.}} +\ProcessOptions* + +%% Required Packages ---------------------------------------------------------- + + +\RequirePackage{lmodern} % use Latin Modern Fonts +\RequirePackage{cmap} % make generated PDF files "searchable and copyable" +\RequirePackage[utf8]{inputenc} +\RequirePackage[T1]{fontenc} % T1 font encoding for improved hyphenation + +% Set main language by selectively loading babel with the 'main' parameter (babel 3.9+) +\ifthenelse{\equal{\hgb@MainLanguage}{german}}% + {\RequirePackage[english,main=ngerman]{babel}}{} +\ifthenelse{\equal{\hgb@MainLanguage}{english}}% + {\RequirePackage[main=english,ngerman]{babel}}{} + +%% Setup for smart quotes (csquotes package) -- experimental! ---------------------------------- + +\ifthenelse{\boolean{hgb@SmartQuotesOn}}{ + \languageshorthands{none}% %% turn off babel's shorthands (permanently) + \usepackage[autostyle=true,german=quotes]{csquotes}% + \MakeOuterQuote{"}% + \EnableQuotes}{} + +%% Language environments ------------------------------------------------------ + +% Switch from German to English (babel) +\newenvironment{english}% +{\begin{otherlanguage}{english}% + \ifthenelse{\boolean{hgb@SmartQuotesOn}}{\EnableQuotes}{}}% +{\end{otherlanguage}\ignorespacesafterend}% + +% Switch from English to German (babel) +\newenvironment{german}% +{\begin{otherlanguage}{ngerman}% + \ifthenelse{\boolean{hgb@SmartQuotesOn}}{\EnableQuotes}{}}% +{\end{otherlanguage}}% + + +%% Date-related stuff --------------------------------------------------------- + +\edef\hgbDate{\csname ver@hgb.sty\endcsname} % get this package's build date + +\RequirePackage{xstring} % for string operations +\RequirePackage[english,ngerman,calc,useregional,showdow=false]{datetime2} % replaces obsolete 'datetime' package + +% https://tex.stackexchange.com/questions/316253/latex-convert-date-string-format-from-mm-dd-yyyyy-to-dd-mm-yyyy/316257#316257 +\newcommand{\PackageToDTMdate}[2]{% converts date in 'YYYY/MM/DD' format to DTMdate and saves to #2 + \StrLeft{#1}{4}[\myYear]% + \StrRight{#1}{2}[\myDay]% + \StrMid{#1}{6}{7}[\myMonth]% + \DTMsavenoparsedate{#2}{\myYear}{\myMonth}{\myDay}{-1}% + %\DTMdate{\myYear-\myMonth-\myDay}% +} + +\PackageToDTMdate{\hgbDate}{hgbPackageDate} % converts package date to DTM format: \DTMusedate{hgbPackageDate} +\DTMsavenoparsedate{hgbToday}{\the\year}{\the\month}{\the\day}{-1} % today's date in DTM format: \DTMusedate{hgbToday} + +\newcounter{hgbAgeLimit}\setcounter{hgbAgeLimit}{365} % warn if package is older than 1 year +\newcount\hgbAge +\DTMsaveddatediff{hgbToday}{hgbPackageDate}{\hgbAge} + +\newcommand{\hgbWarnOldPackage}[1]{\PackageWarning{hagenberg-thesis}{% +^^J**************************************************************** +^^JNOTE: 'hagenberg-thesis' is #1 days old - pls. check for updates +^^Jat https://github.com/Digital-Media/HagenbergThesis +^^J**************************************************************** +^^J} % https://tex.stackexchange.com/questions/6529/newline-linebreak-in-message +} + +\ifthenelse{\hgbAge>\value{hgbAgeLimit} \AND \NOT \boolean{hgb@noUpdateCheck}}% + {\hgbWarnOldPackage{\the\hgbAge}}{} + + +%% ------------------------------------------------------ + +\RequirePackage{upquote} % uses "right" quotes in the verbatim environment +\RequirePackage{marvosym} +\providecommand{\euro}[0]{\EUR\xspace} % for compatibility with 'eurosym' macro + +\RequirePackage{graphicx} +\RequirePackage[percent]{overpic} % to allow text/graphics overlays on pictures +\RequirePackage{pict2e} % extends the LaTeX 'picture' environment + +\RequirePackage{xcolor} +\newcommand{\@MissingArg}[1]{\textcolor{red}{#1}} + +\RequirePackage[T1,hyphens,obeyspaces,spaces,lowtilde]{url} +\urlstyle{sf} + +\RequirePackage{verbatim} +\RequirePackage{moreverb} +\def\verbatimtabsize{2\relax} + +\RequirePackage{ifpdf} +\ifpdf % LaTeX is in native PDF mode (pdflatex) + \RequirePackage{epstopdf} % converting EPS to PDF for pdflatex +% \pdfcompresslevel=0 % 0 = no compression, 9 = max. compression +% \pdfimageresolution=300 +\else % LaTeX is in emulation mode (DVI-PS-PDF) + \RequirePackage[hyphenbreaks]{breakurl} % allows line breaks in URLs without pdflatex (DIV, PS, PDF) +\fi + + +%% hyperref Setup ------------------------------------------------------------- +\RequirePackage[unicode]{hyperref} % utf8-change +\hypersetup{ + linktocpage=true, % make page number, not text, be link on TOC, LOF and LOT + colorlinks=false, % don't uses colored links (because this shows up in printing!) + pdfborder={0 0 0.5}, % use a thinner (0.5pt) border around all PDF links + allbordercolors={blue}, % this only works with a named color, any effect? + %breaklinks = true % allow links to break over lines by making links over multiple lines (obsolete) +} + +% Redefine certain commands for bookmarks and meta-data +\let\oldand\and +\pdfstringdefDisableCommands{% + \def\\{}% + \def\url#1{<#1>}% + \def\and{\texorpdfstring{\oldand}{, }}% +} + +\RequirePackage[figure,table,table*]{hypcap} % do not redefine figure* for use in article (without captions) + +%% Miscellaneous Utility Commands --------------------------------------------- + +\newcommand\trennstrich{% + \nopagebreak[4] + \vskip 1.5ex % +% \nopagebreak[4] + \noindent\makebox[\textwidth]{\rule{4cm}{0.4pt}} + \vskip 2.5ex} + +\newcommand{\SuperPar}[0]{% +\PackageWarning{hgb}{Due to frequent misuse, macro \protect\SuperPar\space has been removed.} +} + +\newcommand{\email}[1]{% +\texorpdfstring{\href{mailto:#1}{\nolinkurl{#1}}}{<#1>}% +} + +% Test box for print proofing +\newcommand{\calibrationbox}[2]{% parameters: #1=width, #2=height + \setlength{\unitlength}{1.0mm}% + \begin{picture}(#1,#2)% + \linethickness{0.05mm}% + \put(0,0){\dashbox{0.2}(#1,#2)% + {\parbox{#1mm}{% + \centering\footnotesize + width $ = #1 \textrm{mm}$\\ + height $ = #2 \textrm{mm}$ + }}}\end{picture} +} + +% Test box for print proofing (obsolete - use \calibrationbox) +\newcommand{\Messbox}[2]{ + \calibrationbox{#1}{#2} +} + +\newcommand{\ShowParameter}[1]{\the#1\showthe#1} % to display TeX parameters +%Beispiel: clubpenalty = \ShowParameter{\clubpenalty} + + +%% Layout Settings ------------------------------------------------------------ + +\frenchspacing % creates normal spacing between sentences +\setlength{\parskip}{0pt plus 0.1pt} +\raggedbottom %\flushbottom + +\RequirePackage{float} +\floatstyle{plain} + +% Captions with font size "small" and additional margin spacing +\RequirePackage[small,bf]{caption} +\DeclareCaptionStyle{ruled}{labelfont=bf,labelsep=colon} +\setlength{\captionmargin}{5mm} +\setlength{\abovecaptionskip}{10pt} +\setlength{\belowcaptionskip}{10pt} + +%% Disable \footnote in captions: +\newcommand{\@WarnFootnoteInCaption}{% +\GenericError{}{Package hgb Error: footnotes in captions are disabled}% +{How to fix: do not place footnotes in captions!}{}}% +\DeclareCaptionTextFormat{nofootnotes}{% + \renewcommand{\footnote}[1]{\@WarnFootnoteInCaption\relax}#1} +\captionsetup{textformat=nofootnotes} + + +% Make float placement easier +\renewcommand{\floatpagefraction}{.9} % previously: .5 +\renewcommand{\textfraction}{.1} % previously: .2 +\renewcommand{\topfraction}{.9} % previously: .7 +\renewcommand{\bottomfraction}{.7} % previously: .3 +\setcounter{topnumber}{3} % previously: 2 +\setcounter{bottomnumber}{2} % previously: 1 +\setcounter{totalnumber}{5} % previously: 3 + +\RequirePackage{enumitem} % fix excessive vertical spacing in lists +\setlist{% + partopsep = .0ex plus .1ex, + topsep = .6ex plus .3ex, + itemsep = .0ex plus .1ex, + parsep = .4ex plus .2ex +} + +\newenvironment{nowidows}% + {\clubpenalty=10000% + \widowpenalty=10000% + \displaywidowpenalty=10000}% + {} +%Example: +% \begin{nowidows} +% Any text where no widows are allowed +% \end{nowidows} + +\RequirePackage{lengthconvert} % for showing the current textwidth in mm + + +% Setup for Table of Contents (ToC) + +%\RequirePackage[tocgraduated,tocbreaksstrict]{tocstyle}% %% Note: tocstyle is unsupported! +%\usetocstyle{classic}% + +\RequirePackage{tocbasic}% %% tocbasic is part of koma script +\DeclareTOCStyleEntry[entryformat=\bfseries\textsf]{tocline}{chapter}% + +%% Program environments ---------------------------------------- + +% Define the program float environment: +\@ifundefined{chapter}% + {\newfloat{program}{tbp}{lop}}% + {\newfloat{program}{tbp}{lop}[chapter]} + +\floatstyle{plain} +\restylefloat*{program} + +\ifthenelse{\equal{\bbl@main@language}{german} \or \equal{\bbl@main@language}{ngerman}}% + {\floatname{program}{Programm}}{}% + +\ifthenelse{\equal{\bbl@main@language}{english}}% + {\floatname{program}{Program}}{}% + +%% Experimental items --------------------------------------------------------- + +\newenvironment{NarrowList}% +{\begin{list}{}% +{\setlength{\leftmargin}{2.5em} + \setlength{\labelwidth}{1em} + \setlength{\labelsep}{0.5em} + \setlength{\itemsep}{0.5ex} + \setlength{\parsep}{0ex} + \setlength{\topsep}{0ex} +\raggedright +}}% +{\end{list}} + +\providecommand{\hgb@PathName}{Pfad} + +\newenvironment{FileList}[1]% +{%\paragraph{Pfad:} \url{#1} +\ifthenelse{\equal{\hgb@MainLanguage}{german}} + {\renewcommand{\hgb@PathName}{Pfad}}% + {\renewcommand{\hgb@PathName}{Path}}% +\paragraph{\hgb@PathName: \nolinkurl{#1}} +\begin{list}{}% +{\setlength{\leftmargin}{5cm} + \setlength{\labelwidth}{4cm} + \setlength{\labelsep}{0.25cm} + \setlength{\rightmargin}{0cm} + \setlength{\itemindent}{0cm} + \setlength{\itemsep}{0.5ex} + \setlength{\parsep}{0ex} + \setlength{\topsep}{1ex} +\raggedright +}}% +{\end{list}} + +\def\widedotfill{\leaders\hbox to 8pt{\hfil.\hfil}\hfill} + +\newcommand{\fitem}[1]{% +\item[\nolinkurl{#1}\widedotfill] +} + +% A generic environment that does nothing, e.g., for temporary variable settings: +% \begin{block} +% \setlength{\tabcolsep}{10pt} +% \renewcommand{\arraystretch}{1.50} +% ... +% \end{block} +\newenvironment{block}{}{} + +% Gives access to the most recent label assigned (used in longtable example): +\newcommand{\getcurrentlabel}{\@currentlabel} + + +%% For inserting foreign PDF pages -------------------------------------------- + +\RequirePackage{pdfpages} + +%% Tables --------------------------------------------------------------------- + +\RequirePackage{booktabs} +\RequirePackage{longtable} +\RequirePackage{multirow} + + +%% Prevent subfigure package from being loaded ------------------------------- + +% The subfigure package is DEPRECATED (see https://ctan.org/pkg/subfigure)! +% We strongly advise against its use since it creates poor output which is not +% compatible with our quality standards. Loading this package is therefore blocked +% by default. We recommend to use the 'tabular' environment instead. + +\AtBeginDocument{% + \@ifpackageloaded{subfigure}{% + \PackageError{hgb}{Use of the 'subfigure' package is not supported in this setup, because it is obsolete}{} + \let\subfigure\undefined% just to make sure ... + }% +}% + +%% ---------------------------------------------------------------------------- + +\setlength{\fboxsep}{0mm} %globally zero fbox separator diff --git a/thesis/hgbabbrev.sty b/thesis/hgbabbrev.sty new file mode 100644 index 0000000..9f65715 --- /dev/null +++ b/thesis/hgbabbrev.sty @@ -0,0 +1,50 @@ +%% hgbabbrev.sty +%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses +%% Author: Wilhelm Burger (wilbur@ieee.org) +%% GitHub: https://github.com/Digital-Media/HagenbergThesis +%% File encoding: ASCII + +\ProvidesPackage{hgbabbrev}[2023/11/06]%%AUTO + +\newcommand{\latex}{La\-TeX\xspace} % no ornamental LaTeX anymore +\newcommand{\tex}{TeX\xspace} % no ornamental LaTeX anymore +\newcommand{\bs}{\textbackslash} % backslash character +\newcommand{\obnh}{\hskip 0pt } %optional break without hyphen: e.g. PlugIn{\obnh}Filter +%\newcommand{\optbreaknh}{\hskip 0pt } %obsolete, replaced by above + +% Miscellaneous abbreviations (in dependance on Jochen Kuepper, jkthesis): +\RequirePackage{xspace} + +%% German abbreviations: + +\newcommand{\bzgl}{bzgl.\@\xspace} +\newcommand{\bzw}{bzw.\@\xspace} +\newcommand{\ca}{ca.\@\xspace} +\newcommand{\dah}{d.\thinspace{}h.\@\xspace} +\newcommand{\Dah}{D.\thinspace{}h.\@\xspace} +\newcommand{\ds}{d.\thinspace{}sind\@\xspace} +\newcommand{\etc}{etc.\@\xspace} +\newcommand{\evtl}{evtl.\@\xspace} +\newcommand{\ia}{i.\thinspace{}Allg.\@\xspace} +\newcommand{\sa}{s.\ auch\@\xspace} +\newcommand{\so}{s.\ oben\xspace} +\newcommand{\su}{s.\ unten\@\xspace} + +\newcommand{\ua}{u.\thinspace{}a.\@\xspace} +\newcommand{\Ua}{U.\thinspace{}a.\@\xspace} +\newcommand{\uae}{u.\thinspace{}\"A.\@\xspace} +\newcommand{\usw}{usw.\@\xspace} +\newcommand{\uva}{u.\thinspace{}v.\thinspace{}a.\@\xspace} +\newcommand{\uvm}{u.\thinspace{}v.\thinspace{}m.\@\xspace} +\newcommand{\va}{vor allem\@\xspace} +\newcommand{\vgl}{vgl.\@\xspace} +\newcommand{\zB}{z.\thinspace{}B.\@\xspace} +\newcommand{\ZB}{Zum Beispiel\xspace} + +%% English abbreviations: + +\newcommand{\ie}{i.e.\@\xspace} +\newcommand{\eg}{e.g.\@\xspace} +\newcommand{\Eg}{E.g.\@\xspace} +%\newcommand{\etc}{etc.\@\xspace} +\newcommand{\wrt}{w.r.t.\@\xspace} diff --git a/thesis/hgbalgo.sty b/thesis/hgbalgo.sty new file mode 100644 index 0000000..c2a17bb --- /dev/null +++ b/thesis/hgbalgo.sty @@ -0,0 +1,89 @@ +%% hgbalgo.sty + +%% Toward better looking algorithms ... +%% This package imports and pre-configures the 'algorithmicx'/'algpseudocodex' packages +%% (see https://ctan.org/pkg/algpseudocodex), fixes some problems and adds new functionality +%% and colors. It relies on the 'algorithm' package for typesetting float-type algorithms +%% with captions. + +%% This file is part of the Hagenberg Thesis package for creating bachelors's and masters's theses +%% Author: Wilhelm Burger (wilbur@ieee.org) +%% GitHub: https://github.com/Digital-Media/HagenbergThesis +%% File encoding: ASCII + +\ProvidesPackage{hgbalgo}[2023/11/06]%%AUTO + +\RequirePackage[noEnd=true,indLines=true,italicComments=false]{algpseudocodex} % https://ctan.org/pkg/algpseudocodex +\RequirePackage{calc} % for numeric calculations +\RequirePackage{xcolor} + +% Colors to be used in algorithms (can be redefined locally if desired) +\definecolor{AlgKeywordColor}{rgb}{0.00, 0.00, 0.666} % = Dark Blue +\definecolor{AlgProcedureColor}{rgb}{0.00, 0.5, 0.20} % = Dark Green +%\definecolor{AlgCommentColor}{gray}{0.40} % = Gray (40% black) + +\algrenewcommand\algorithmicend{\textbf{\color{AlgKeywordColor}end}} +\algrenewcommand\algorithmicdo{\textbf{\color{AlgKeywordColor}do}} +\algrenewcommand\algorithmicwhile{\textbf{\color{AlgKeywordColor}while}} +\algrenewcommand\algorithmicfor{\textbf{\color{AlgKeywordColor}for}} +\algrenewcommand\algorithmicforall{\textbf{\color{AlgKeywordColor}for all}} +\algrenewcommand\algorithmicloop{\textbf{\color{AlgKeywordColor}loop}} +\algrenewcommand\algorithmicrepeat{\textbf{\color{AlgKeywordColor}repeat}} +\algrenewcommand\algorithmicuntil{\textbf{\color{AlgKeywordColor}until}} +\algrenewcommand\algorithmicprocedure{\textbf{\color{AlgKeywordColor}procedure}} +\algrenewcommand\algorithmicfunction{\textbf{\color{AlgKeywordColor}function}} +\algrenewcommand\algorithmicif{\textbf{\color{AlgKeywordColor}if}} +\algrenewcommand\algorithmicthen{\textbf{\color{AlgKeywordColor}then}} +\algrenewcommand\algorithmicelse{\textbf{\color{AlgKeywordColor}else}} +\algrenewcommand\algorithmicrequire{\textbf{\color{AlgKeywordColor}Require:}} +\algrenewcommand\algorithmicensure{\textbf{\color{AlgKeywordColor}Ensure:}} +\algrenewcommand\algorithmicreturn{\textbf{\color{AlgKeywordColor}return}} + +% Use SF font and color for procedure and function names: +\newcommand{\@AlgTextProc}[1]{\textcolor{AlgProcedureColor}{\textsf{#1}}} +\algrenewcommand\textproc{\@AlgTextProc} +\algrenewcommand\Call[2]{\textproc{#1}\hskip0.75pt(#2)}% + +%% ----------------------------------------------------------------- + +\newlength{\@AlgTmpIndent} + +%% Additional public macros: + +% This macro is obsolete and will eventually dissappear: +\algnewcommand{\StateL}[1]{\State #1% + \PackageWarning{hgbalgo}{Macro \protect\StateL\space is obsolete, use \protect\State\space instead}}% + +% \StateNN[]{} creates non-numbered statements like algorithmicx's \Statex +% command but provides consistent indentation inside nested constructs and over multiple lines. +% The optional integer argument [] can be used to specify the nesting depth +% to counteract a bug in algorithmicx (nesting level is not set properly before the first \State +% command inside a nested construct. +\algnewcommand{\StateNN}[2][\numexpr\theALG@nested-1]{% default indentation = nesting - 1 + \setlength\@AlgTmpIndent{\algorithmicindent*#1}% requires calc package + \Statex\hskip\@AlgTmpIndent\parbox[t]{\linewidth-\@AlgTmpIndent}{#2\strut}% +}% + +% Macros for describing input and output of procedures and functions: +\algnewcommand\Input[1]{\StateNN[1]{\textbf{Input:} #1}}% use to describe input parameters: \Input{} +\algrenewcommand\Output[1]{\StateNN[1]{\textbf{Output:} #1}}% use to describe output values: \Output{} (already defined in algpseudocodex.sty) +\algnewcommand\Returns[1]{\StateNN[1]{\textbf{Returns} #1}}% use to describe what a procedure/function returns: \Returns{\hsize + \begin{sloppypar}\noindent\@license\end{sloppypar} + \else + \global \@minipagefalse + \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% + \fi +} + +\newcommand{\@copyrightpage}{% +\newpage +%\setcounter{page}{2} +\thispagestyle{plain} +\rule{0mm}{1mm} +\vspace*{75mm} +\begin{center} +\textsf{\copyright\ Copyright\ \arabic{@yearofsubmission}\ \@author} +\end{center} +\vspace{8mm} +\@makelicense +} + + +%% Company Page for Internship Report ----------------------------------------- + +\newcommand{\@companypage}{% +\newpage +\setcounter{page}{2} +\thispagestyle{plain} +\rule{0mm}{1mm} +\begin{center} +\vspace{25mm} +{Praktikumsstelle:} +\\ +\vspace{3mm} +{\Large\sf\@companyName\\ \mbox{}} +\\ +{\sf \@companyUrl} +\\ +\vspace{45mm} +{Kontaktperson:} +\\ +\vspace{3mm} +{\Large\sf\@advisor\\ \mbox{}} +\end{center} +} + + +%% Advisor Page ---------------------------------------- + +\newcommand{\@advisorheaderfinal}{ + \ifthenelse{\equal{\hgb@MainLanguage}{german}}% + {Betreuung}% + {Advisor}% +} + +\newcommand{\@advisorheaderproposal}{ + \ifthenelse{\equal{\hgb@MainLanguage}{german}}% + {Betreuung (Vorschlag)}% + {Proposed Advisor}% +} + +\newcommand{\@advisorpage}{% + \ifthenelse{\equal{\@advisor}{}}% does nothing if advisor not defined + {}{% + \newpage + \setcounter{page}{2} + \thispagestyle{plain} + \rule{0mm}{1mm} + \vspace{90mm} + \begin{center} + \ifthenelse{\boolean{hgb@isProposal}}% + {\@advisorheaderproposal:}% + {\@advisorheaderfinal:}% + \\ + \vspace{3mm} + {\Large\sf \@advisor\\ \mbox{}} + \end{center} + } +} + +%% Declaration Pages in German and English ------------------------------------ + +% German + +\newcommand{\@declarationpageDe}{% + \begin{german} + \chapter{Erkl\"arung} + \noindent + %Standardfassung der FH-OOe ab 04.04.2012: + Ich erkl\"are eidesstattlich, dass ich die vorliegende Arbeit selbstst\"andig und ohne fremde Hilfe verfasst, + andere als die angegebenen Quellen nicht benutzt und die den benutzten Quellen entnommenen Stellen als + solche gekennzeichnet habe. Die Arbeit wurde bisher in gleicher oder \"ahnlicher Form keiner anderen + Pr\"ufungsbeh\"orde vorgelegt. + Die vorliegende, gedruckte Arbeit ist mit dem elektronisch \"ubermittelten Textdokument identisch. + \par + \vspace{10mm} + \noindent + %\@placeofstudy, am \formatdate{\value{@dayofsubmission}}{\value{@monthofsubmission}}{\value{@yearofsubmission}} + \@placeofstudy, am \DTMdate{\value{@yearofsubmission}-\value{@monthofsubmission}-\value{@dayofsubmission}} + \par + \vspace{12mm} + \noindent + \@author + \end{german} +} + +% English + +\newcommand{\leadingzero}[1]{\ifnum #1<10 0\the#1\else\the#1\fi} + +\newcommand{\@declarationpageEn}{% + \begin{english} + \chapter{Declaration} + \noindent + I hereby declare and confirm that this thesis is entirely the result of my own original work. + Where other sources of information have been used, they have been indicated as such and properly + acknowledged. I further declare that this or similar work has not been submitted for credit elsewhere. + This printed copy is identical to the submitted electronic version. + \par + \vspace{10mm} + \noindent + %\@placeofstudy, \the\year-\leadingzero{\month}-\leadingzero{\day} %http://de.wikibooks.org/wiki/LaTeX-W%F6rterbuch:_today + %\@placeofstudy, {\usdate\formatdate{\value{@dayofsubmission}}{\value{@monthofsubmission}}{\value{@yearofsubmission}}} + \@placeofstudy, \DTMdate{\value{@yearofsubmission}-\value{@monthofsubmission}-\value{@dayofsubmission}} + \par + \vspace{12mm} + \noindent + \@author + \end{english} +} + +\newcommand{\@declarationpage}{% +\ifthenelse{\equal{\hgb@MainLanguage}{german}}% + {\@declarationpageDe}% + {\@declarationpageEn} +} + + +%% Assembly of title pages ---------------------------------------------------- + +\renewcommand{\@bachelortitlepages}{ + \@makebachelortitle% + \ifthenelse{\boolean{hgb@isProposal}}% + {% thesis proposal: + \@proposalsetup% + \@advisorpage% + %no copyright page for proposals + %no declaration page for proposals + }% + {% final thesis: + \@advisorpage% + \@copyrightpage% + \@declarationpage% + }% +} + +\renewcommand{\@mastertitlepages}{ + \@makemastertitle + \ifthenelse{\boolean{hgb@isProposal}}% + {% thesis proposal: + \@proposalsetup% + \@advisorpage% + %no copyright page for proposals + %no declaration page for proposals + }% + {% final thesis: + \@advisorpage% + \@copyrightpage% + \@declarationpage% + }% +} + +\renewcommand{\@diplomatitlepages}{ + \@makediplomatitle + %\ifthenelse{\equal{\@advisor}{}}% + %{}{\@advisorpage}% + \@advisorpage + \@copyrightpage + \@declarationpage +} + +\renewcommand{\@internshiptitlepages}{ + \@makeinternshiptitle + \@companypage + \@copyrightpage + \@declarationpage +} + +\newcommand{\@warnmultipleauthors}% +{\PackageWarning{hagenberg-thesis}{Multiple authors are not supported ('\@backslashchar and' is ignored)!}}% + +% Add PDF meta data and create title pages +\renewcommand{\maketitle}{ %replace standard LaTeX-command + \def\and{\@warnmultipleauthors}% suppress \and inside \author{..} + \renewcommand{\thanks}[1]{}% suppress \thanks{..} inside \author{..} + \hypersetup{ + pdftitle={\@title}, + pdfauthor={\@author}, + pdfsubject={\@programtype~\@programname,~\@placeofstudy}, + pdfcreator={LaTeX using class hgbthesis [\hgbDate]}, + pdfproducer={pdflatex}, + pdfkeywords={}, + pageanchor=false % disable hyperref page anchors in frontmatter pages + }% + \@maketitlepages + \hypersetup{pageanchor=true} % enable hyperref page anchors in the main document +} + +%% Additional Hagenberg packages ---------------------------------------------- + +\RequirePackage{hgbmath} +\RequirePackage{hgbalgo} +\RequirePackage{hgbheadings} +\RequirePackage{hgbabbrev} +\RequirePackage{hgblistings} +\RequirePackage{hgbbib} + +\endinput diff --git a/thesis/images/logo.pdf b/thesis/images/logo.pdf new file mode 100644 index 0000000..98f4ad9 Binary files /dev/null and b/thesis/images/logo.pdf differ diff --git a/thesis/main.pdf b/thesis/main.pdf new file mode 100644 index 0000000..7a3ba22 Binary files /dev/null and b/thesis/main.pdf differ diff --git a/thesis/main.tex b/thesis/main.tex new file mode 100644 index 0000000..2a3f892 --- /dev/null +++ b/thesis/main.tex @@ -0,0 +1,92 @@ +%%% File encoding: UTF-8 +%%% äöüÄÖÜß <-- no German umlauts here? Use an UTF-8 compatible editor! + +%%% Magic comments for setting the correct parameters in compatible IDEs +% !TeX encoding = utf8 +% !TeX program = pdflatex +% !TeX spellcheck = de_DE +% !BIB program = biber + +\RequirePackage[utf8]{inputenc} % Remove when using lualatex or xelatex! +\RequirePackage{hgbpdfa} % Creates a PDF/A-2b compliant document + +\documentclass[master,english,smartquotes,apa]{hgbthesis} +% Valid options in [..]: +% Type of work: 'diploma', 'master' (default), 'bachelor', 'internship' +% Additionally for a thesis exposé: 'proposal (for 'bachelor' and 'master') +% Main language: 'german' (default), 'english' +% Turn on smart quote handling: 'smartquotes' +% APA bibliography style: 'apa' +%%%----------------------------------------------------------------------------- + +\graphicspath{{images/}} % Location of images and graphics +\logofile{logo} % Logo file: images/logo.pdf (no logo: \logofile{}) +\bibliography{references} % Biblatex bibliography file (references.bib) + +%%%----------------------------------------------------------------------------- +\begin{document} +%%%----------------------------------------------------------------------------- + +%%%----------------------------------------------------------------------------- +% Title page entries +%%%----------------------------------------------------------------------------- + +\title{Interpreter and Transpiler for simple expressions on Nvidia GPUs using Julia} +\author{Daniel Wiplinger} +\programname{Software Engineering} + +%\programtype{Fachhochschul-Bachelorstudiengang} % select/edit +\programtype{Fachhochschul-Masterstudiengang} + +\placeofstudy{Hagenberg} +\dateofsubmission{2025}{01}{01} % {YYYY}{MM}{DD} + +\advisor{DI Dr. Gabriel Kronberger} % optional + +%\strictlicense % restrictive license instead of Creative Commons (discouraged!) + +%%%----------------------------------------------------------------------------- +\frontmatter % Front part (roman page numbers) +%%%----------------------------------------------------------------------------- + +\maketitle +\tableofcontents + +\include{front/abstract} +\include{front/kurzfassung} + +%%%----------------------------------------------------------------------------- +\mainmatter % Main part (arabic page numbers) +%%%----------------------------------------------------------------------------- + +\include{chapters/introduction} +\include{chapters/relwork} +\include{chapters/conceptdesign} +\include{chapters/implementation} +\include{chapters/evaluation} +\include{chapters/conclusion} + +%%%----------------------------------------------------------------------------- +\appendix % Appendix +%%%----------------------------------------------------------------------------- + +% \include{back/appendix_a} % Technical supplements +% \include{back/appendix_b} % Contents of the CD-ROM/DVD +% \include{back/appendix_c} % Chronological list of changes +% \include{back/appendix_d} % Source text of this document + +%%%----------------------------------------------------------------------------- +\backmatter % Back part (bibliography, glossary, etc.) +%%%----------------------------------------------------------------------------- + +\MakeBibliography % References + +%%%----------------------------------------------------------------------------- +% Special page for checking print size +%%%----------------------------------------------------------------------------- + +\include{back/printbox} + +%%%----------------------------------------------------------------------------- +\end{document} +%%%----------------------------------------------------------------------------- diff --git a/thesis/references.bib b/thesis/references.bib new file mode 100644 index 0000000..b05fb03 --- /dev/null +++ b/thesis/references.bib @@ -0,0 +1,544 @@ +%%% Biber accepts '%' for marking comments + +@book{BachBWV988, + author={Bach, Johann Sebastian}, + title={Goldberg-Variationen für Streichquartett, BWV 988}, + editor={Anka, Dana}, + publisher={Musikverlag Hans Sikorski}, + location={Hamburg}, + date={2017}, + langid={ngerman} +} + +@thesis{Bacher2004, + author={Bacher, Florian}, + title={Interaktionsmöglichkeiten mit Bildschirmen und großflächigen Projektionen}, + type={bathesis}, + date={2004-06}, + institution={University of Applied Sciences Upper Austria, Medientechnik und {-design}}, + location={Hagenberg, Austria}, + langid={ngerman} +} + +@manual{Bezos2023, + author={Bezos, Javier and Braams, Johannes L.}, + title={Babel}, + subtitle={Localization and internationalization}, + date={2023-10-25}, + version={3.96}, + url={http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf}, + langid={english} +} + +@incollection{BurgeBurger1999, + author={Burge, Mark and Burger, Wilhelm}, + title={Ear Biometrics}, + booktitle={Biometrics}, + booksubtitle={Personal Identification in Networked Society}, + publisher={Kluwer Academic Publishers}, + date={1999}, + location={Boston}, + editor={Jain, Anil K. and Bolle, Ruud and Pankanti, Sharath}, + chapter={13}, + pages={273-285}, + doi={10.1007/0-306-47044-6_13}, + langid={english} +} + +@inproceedings{Burger1987, + author={Burger, Wilhelm and Bhanu, Bir}, + title={Qualitative Motion Understanding}, + booktitle={Proceedings of the Tenth International Joint Conference on Artificial Intelligence}, + date={1987-08}, + editor={McDermott, John P.}, + eventdate={1987-08-23/1987-08-28}, + venue={Milano}, + publisher={Morgan Kaufmann Publishers}, + location={San Francisco}, + pages={819-821}, + doi={10.1007/978-1-4615-3566-9}, + langid={english} +} + +@book{BurgerBurge2022, + author={Burger, Wilhelm and Burge, Mark James}, + title={Digital Image Processing}, + subtitle={An Algorithmic Introduction}, + publisher={Springer}, + location={Cham}, + edition={3}, + date={2022}, + doi={10.1007/978-3-031-05744-1}, + langid={english} +} + +@manual{Carlisle2021, + author={Carlisle, David P.}, + title={Packages in the {`graphics'} bundle}, + date={2021-03-05}, + url={http://mirrors.ctan.org/macros/latex/required/graphics/grfguide.pdf}, + langid={english} +} + +@image{CocaCola1940, + author={Wolcott, Marion Post}, + title={Natchez, Miss.}, + note={Library of Congress Prints and Photographs Division Washington, Farm Security Administration/Office of War Information Color Photographs}, + date={1940-08}, + url={https://www.loc.gov/pictures/item/2017877479/}, + langid={english} +} + +@unpublished{Dai2016, + author={Dai, Jifeng and Li,Yi and He, Kaiming and Sun, Jian}, + title={{R-FCN:} Object Detection via Region-Based Fully Convolutional Networks}, + date={2016}, + pubstate={prepublished}, + doi={10.48550/arXiv.1605.06409}, + langid={english} +} + +@manual{Daniel2018, + author={Daniel, Marco and Gundlach, Patrick and Schmidt, Walter and Knappen, Jörg and Partl, Hubert and Hyna, Irene}, + title={\LaTeX2e-Kurzbeschreibung}, + date={2018-04-08}, + version={3.0c}, + url={http://mirrors.ctan.org/info/lshort/german/l2kurz.pdf}, + langid={ngerman} +} + +@report{Drake1948, + author={Drake, Hubert M. and McLaughlin, Milton D. and Goodman, Harold R.}, + title={Results obtained during accelerated transonic tests of the {Bell} {XS-1} airplane in flights to a {MACH} number of 0.92}, + type={techreport}, + institution={NASA Dryden Flight Research Center}, + date={1948-01}, + location={Edwards, CA}, + number={NACA-RM-L8A05A}, + url={https://www.nasa.gov/centers/dryden/pdf/87528main_RM-L8A05A.pdf}, + langid={english} +} + +@book{Duden1997, + author={Friedrich, Christoph}, + title={Schriftliche Arbeiten im technisch-natur\-wissen\-schaft\-lichen Studium}, + subtitle={Ein Leitfaden zur effektiven Erstellung und zum Einsatz moderner Arbeitsmethoden}, + publisher={Bibliographisches Institut}, + series={Duden Taschenbücher}, + volume={27}, + location={Mannheim}, + date={1997}, + langid={ngerman} +} + +@thesis{Eberl1987, + author={Eberl, Gerhard}, + title={Automatischer Landeanflug durch Rechnersehen}, + type={phdthesis}, + date={1987-08}, + institution={Universität der Bundeswehr, Fakultät für Raum- und Luftfahrttechnik}, + location={München}, + langid={ngerman} +} + +@legislation{EuRichtlinie2000, + author={{Europäische Union}}, + title={Richtline 2000/14/EG des Europäischen Parlaments und des Rates vom 8.\ Mai 2000 zur + Angleichung der Rechtsvorschriften der Mitgliedstaaten über umweltbelastende Geräuschemissionen + von zur Verwendung im Freien vorgesehenen Geräten und Maschinen}, + howpublished={Amtsblatt der Europäischen Gemeinschaften, L 162}, + date={2000-05-08}, + url={https://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CONSLEG:2000L0014:20051227:de:PDF}, + langid={ngerman} +} + +@manual{Fear2020, + author={Fear, Simon}, + title={Publication quality tables in \LaTeX}, + date={2020-01-14}, + version={v1.61803398}, + url={http://mirrors.ctan.org/macros/latex/contrib/booktabs/booktabs.pdf}, + langid={english} +} + +@book{Faires1934, + author={Faires, Virgil Moring}, + title={Design of Machine Elements}, + publisher={The Macmillan Company}, + date={1934}, + origdate={1920}, + note={Originalausgabe 1920}, + langid={english} +} + +@online{Feder2006, + author={Feder, Alexander}, + title={{BibTeX.org}}, + date={2006}, + url={https://www.bibtex.org/}, + urldate={2023-11-06}, + langid={english} +} + +@legislation{FhStG1993, + title={Bundesgesetz über Fachhochschulen}, + titleaddon={Fachhochschulgesetz – FHG}, + howpublished={BGBl.\ Nr.\ 340/1993, zuletzt geändert mit Bundesgesetz BGBl.\ I Nr.\ 177/2021}, + date={1993-05-28}, + url={https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10009895}, + langid={ngerman} +} + +@video{Futurama1999, + author={Groening, Matt}, + title={Futurama}, + titleaddon={Season 1 Collection}, + howpublished={DVD}, + date={2002-02}, + organization={Twentieth Century Fox Home Entertainment}, + langid={english} +} + +@incollection{GershwinSummertime, + author={Gershwin, George and Heyward, DuBose}, + title={Summertime}, + booktitle={The Greatest Songs of George Gershwin}, + publisher={Chappel Music}, + location={London}, + pages={40-43}, + date={1979}, + langid={english} +} + +@book{HaydnCelloConcerto2, + author={Haydn, Josef}, + title={Konzert für Violoncello No.\ 2 in D-Dur, Hob.VIIb:2}, + editor={Soldan,Kurt}, + publisher={C. F. Peters}, + location={Leipzig}, + date={1920}, + langid={ngerman} +} + +@book{Hemleben1969, + author={Hemleben, Johannes}, + title={Galilei, Galileo}, + publisher={rororo}, + date={1969}, + edition={20}, + langid={ngerman} +} + +@book{Higham2020, + author={Higham, Nicholas J.}, + title={Handbook of Writing for the Mathematical Sciences}, + publisher={Society for Industrial and Applied Mathematics (SIAM)}, + location={Philadelphia}, + edition={3}, + date={2020}, + url={https://www.maths.manchester.ac.uk/~higham/hwms/}, + langid={english} +} + +@video{HistoryOfComputers2008, + title={History of Computers}, + date={2008-09-24}, + url={https://www.youtube.com/watch?v=LvKxJ3bQRKE}, + langid={english} +} + +@online{IBM360, + author={IBM}, + title={System 360}, + subtitle={From Computers to Computer Systems}, + date={2012-03-07}, + url={https://www.ibm.com/ibm/history/ibm100/us/en/icons/system360/impacts/}, + urldate={2023-11-06}, + langid={english} +} + +@manual{Kime2023, + author={Kime, Philip and Wemheuer, Moritz and Lehman, Philipp}, + title={The \texttt{biblatex} Package}, + subtitle={Programmable Bibliographies and Citations}, + date={2023-03-05}, + version={3.19}, + url={http://mirrors.ctan.org/macros/latex/contrib/biblatex/doc/biblatex.pdf}, + langid={english} +} + +@book{Kopka2003, + author={Kopka, Helmut and Daly, Patrick William}, + title={Guide to \LaTeX}, + series={Tools and Techniques for Computer Typesetting}, + publisher={Addison-Wesley}, + location={Reading, MA}, + date={2003}, + edition={4}, + langid={english} +} + +@book{Lamport1994, + author={Lamport, Leslie}, + title={{LaTeX}, A Document Preparation System}, + subtitle={User's Guide and Reference Manual}, + publisher={Addison-Wesley}, + location={Reading, MA}, + date={1994}, + edition={2}, + langid={english} +} + +@book{Lamport1995, + author={Lamport, Leslie}, + title={Das {LaTeX}-Handbuch}, + publisher={Addison-Wesley}, + location={Reading, MA}, + date={1995}, + edition={3}, + langid={ngerman} +} + +@software{LegendOfZelda1998, + author={Miyamoto, Shigeru and Aonuma, Eiji and Koizumi, Yoshiaki}, + title={The Legend of Zelda: Ocarina of Time}, + howpublished={N64 Cartridge}, + publisher={Nintendo}, + date={1998-11}, + langid={english} +} + +@thesis{Loimayr2019, + author={Loimayr, Nora}, + title={Utilization of GPU-Based Smoothed Particle Hydrodynamics for Immersive Audiovisal Experiences}, + type={mathesis}, + date={2019-11-26}, + institution={University of Applied Sciences Upper Austria, Interactive Media}, + location={Hagenberg, Austria}, + url={https://theses.fh-hagenberg.at/thesis/Loimayr19}, + langid={english} +} + +@article{Mermin1989, + author={Mermin, Nathaniel David}, + title={What's Wrong with these Equations?}, + journaltitle={Physics Today}, + volume={42}, + number={10}, + date={1989}, + pages={9-11}, + doi={10.1063/1.2811173}, + langid={english} +} + +@manual{Mittelbach2023, + author={Mittelbach, Frank and Schöpf, Rainer and Downes, Michael and Jones, David M. and Carlisle, David}, + title={The \texttt{amsmath} package}, + date={2023-05-13}, + version={2.17o}, + url={http://mirrors.ctan.org/macros/latex/required/amsmath/amsmath.pdf}, + langid={english} +} + +@movie{Nosferatu1922, + title={Nosferatu -- A Symphony of Horrors}, + howpublished={Film}, + date={1922}, + note={Drehbuch/Regie: F.\ W.\ Murnau. Mit Max Schreck, Gustav von Wangenheim, Greta Schröder.}, + langid={english} +} + +@manual{Oetiker2021, + author={Oetiker, Tobias and Partl, Hubert and Hyna, Irene and Schlegl, Elisabeth}, + title={The Not So Short Introduction to \LaTeXe}, + subtitle={Or \LaTeXe in 139 minutes}, + date={2021-03-09}, + version={6.4}, + url={http://mirrors.ctan.org/info/lshort/english/lshort.pdf}, + langid={english} +} + +@legislation{OoeRaumordnungsgesetz1994, + title={Landesgesetz vom 6. Oktober 1993 über die Raumordnung im Land Oberösterreich}, + titleaddon={Oö. Raumordnungsgesetz 1994 - Oö. ROG 1994}, + howpublished={LGBl.Nr. 114/1993 zuletzt geändert durch LGBl.Nr. 125/2020}, + date={1993-12-23}, + url={https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=LrOO&Gesetzesnummer=10000370}, + langid={ngerman} +} + +@manual{Oostrum2022, + author={Oostrum, {Pieter van}}, + title={The \textrm{fancyhdr} and \textrm{extramarks} packages}, + date={2022-11-09}, + version={4.1}, + url={http://mirrors.ctan.org/macros/latex/contrib/fancyhdr/fancyhdr.pdf}, + langid={english} +} + +@manual{Pakin2021, + author={Pakin, Scott}, + title={The Comprehensive {\LaTeX} Symbol List}, + date={2021-05-05}, + url={http://mirrors.ctan.org/info/symbols/comprehensive/symbols-a4.pdf}, + langid={english} +} + +@manual{Patashnik1988, + author={Patashnik, Oren}, + title={{BiBTeXing}}, + date={1988-02-08}, + url={http://mirrors.ctan.org/biblio/bibtex/base/btxdoc.pdf}, + langid={english} +} + +@patent{Pike2008, + author={Pike, Dion}, + title={Master-slave communications system and method for a network element}, + type={US Patent}, + holder={Alcatel-Lucent SAS}, + number={7,460,482}, + date={2008-12-02}, + url={https://patents.google.com/patent/US7460482}, + langid={english} +} + +@movie{Psycho1960, + title={Psycho}, + howpublished={Film}, + date={1960}, + note={Regie: Alfred Hitchcock, + Drehbuch: Joseph Stefano. + Nach dem Roman von Robert Bloch. + Mit Anthony Perkins, Vera Miles, Janet Leigh.}, + langid={english} +} + +@book{Sedgewick2011, + author={Sedgewick, Robert and Wayne, Kevin}, + title={Algorithms}, + publisher={Addison-Wesley}, + location={Reading, MA}, + date={2011}, + edition={4}, + langid={english} +} + +@book{ShostakovichOp110, + author={Shostakovich, Dimitri}, + title={Streichquartett Nr.\ 8 in c-Moll, Op.\ 110}, + editor={Hans Sikorski}, + publisher={G. Schirmer}, + location={New York}, + date={1960}, + langid={ngerman} +} + +@manual{Sommerfeldt2023, + author={Sommerfeldt, Axel}, + title={Customizing captions of floating environments}, + date={2023-07-10}, + version={3.6}, + url={http://mirrors.ctan.org/macros/latex/contrib/caption/caption.pdf}, + langid={english} +} + +@software{SpringFramework, + title={Spring Framework}, + url={https://github.com/spring-projects/spring-framework}, + langid={english} +} + +@article{Vardavoulia2001, + author={Vardavoulia, Maria I. and Andreadis, Ioannis and Tsalides, Phillipos}, + title={A new vector median filter for colour image processing}, + journaltitle={Pattern Recognition Letters}, + volume={22}, + number={6-7}, + pages={675-689}, + date={2001}, + doi={10.1016/S0167-8655(00)00141-0}, + langid={english} +} + +@manual{Voss2014, + author={Voß, Herbert}, + title={Math mode}, + date={2014-01-30}, + version={2.47}, + url={http://mirrors.ctan.org/obsolete/info/math/voss/mathmode/Mathmode.pdf}, + langid={english} +} + +@standard{WHATWGHTMLLivingStandard, + author={{Web Hypertext Application Technology Working Group}}, + shortauthor={WHATWG}, + title={HTML}, + titleaddon={Living Standard}, + date={2023-11-06}, + url={https://html.spec.whatwg.org/multipage/}, + langid={english} +} + +@online{WikiReliquienschrein2023, + title={Reliquienschrein}, + url={https://de.wikipedia.org/wiki/Reliquienschrein}, + date={2023-09-22}, + urldate={2023-11-06}, + langid={ngerman} +} + +@online{WikibooksLaTeXLengths2018, + title={LaTeX/Lengths}, + url={https://en.wikibooks.org/wiki/LaTeX/Lengths}, + date={2018-08-04}, + urldate={2023-11-06}, + langid={english} +} + +@audio{Zappa1995, + author={Zappa, Frank}, + title={Freak Out!}, + type={audiocd}, + date={1995-05}, + organization={Rykodisc, New York}, + langid={english} +} + +%% used in thesis proposal example: + +@inproceedings{Finke2008, + author={Finke, Matthias and Tang, Anthony and Leung, Rock and Blackstock, Michael}, + title={Lessons Learned: Game Design for Large Public Displays}, + booktitle={Proceedings of the 3rd International Conference on Digital Interactive Media in Entertainment and Arts}, + series={DIMEA '08}, + pages={26-33}, + date={2008}, + publisher={ACM}, + location={New York, NY, USA}, + doi={10.1145/1413634.1413644}, + langid={english} +} + +@inproceedings{Hochleitner2013, + author={Hochleitner, Wolfgang and Lankes, Michael and Diephuis, Jeremiah and Hochleitner, Christina}, + title={Limelight -- Fostering Sociability in a Co-located Game}, + booktitle={Proceedings of the CHI 2013 Workshop on Designing and Evaluating Sociability in Online Video Games}, + series={CHI '13}, + pages={23-28}, + date={2013}, + location={Paris, France}, + langid={english} +} + +@book{Schell2019, + author={Schell, Jesse}, + title={The Art of Game Design}, + subtitle={A Book of Lenses}, + publisher={CRC Press}, + date={2019}, + edition={3}, + location={Boca Raton, FL, USA}, + doi={10.1201/b22101}, + langid={english} +}