7915f1c7f8dfa4927b9f9c8f60fb8b00f6f97343
[matthijs/projects/internship.git] / Progress presentation / Presentation.tex
1 \documentclass[hyperref={pdfpagelabels=false}]{beamer}
2
3 \setbeameroption{show notes}
4
5 \mode<presentation>
6 {
7   %\useinnertheme{echt}
8   %\useinnertheme{proef}
9   \usetheme{recore}
10   \setbeamercovered{transparent}
11 %\setbeamertemplate{footline}[frame number]
12 }
13
14 \usepackage[english]{babel}
15 \usepackage[latin1]{inputenc}
16 \usepackage{times}
17 \usepackage[T1]{fontenc}
18 \usepackage{acronym}
19 \usepackage{tikz}
20 \usepackage{multimedia}
21 \usepackage{subfigure}
22 \usepackage{booktabs}
23 %For handouts, use the following two lines:
24 %\usepackage{pgfpages}
25 %\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
26
27
28 \title
29 {MontiumC Transforming}
30
31 \author {Matthijs Kooijman}
32
33 \institute[Recore Systems and University of Twente]
34 {
35   \inst{}%
36   Recore Systems
37   \and
38   \inst{}%
39   Faculty of Electrical Engineering, Mathematics and Computer Science\\
40   University of Twente
41   }
42   
43 \begin{document}
44
45 \begin{frame}
46         \titlepage
47 \end{frame}
48
49 \begin{frame}{Contents}
50   \tableofcontents
51 \end{frame}
52
53 \section{Introduction}
54   \subsection{Montium Tile Processor}
55   \subsection{MontiumC}
56   \subsection{LLVM}
57   \subsection{Compile process}
58 \section{Tasks}
59   \subsection{Original tasks}
60     \begin{frame}{Original tasks}
61       \begin{itemize}
62         \item Select LLVM transformations
63         \item Improve and add transformations
64         \item Provide debugging information
65       \end{itemize}
66     \end{frame}
67   \subsection{Extra tasks}
68     \begin{frame}{Extra tasks}
69       \begin{itemize}
70         \item What is MontiumC?
71         \item What is Montium IR?
72       \end{itemize}
73     \end{frame}
74     \begin{frame}{What is MontiumC?}
75       \begin{itemize}
76       \item Status: Specification is ongoing
77       \item Challenges:
78         \begin{itemize}
79           \item Clang is nontransparent
80           \note[item]{Clang --- A lot of special cases}
81           \item C is complex
82           \note[item]{Complex C --- A lot of corner cases}
83           \item C is limited
84           \note[item]{Limited C --- Need to use annotations, limited amount of types}
85         \end{itemize}
86       \end{itemize}
87     \end{frame}
88     
89     \begin{frame}{What is Montium IR?}
90       \begin{itemize}
91         \item Status: Initial version
92         \item Challenges:
93         \begin{itemize}
94           \item Fast moving target
95           \item Corner cases
96           \note[item]{Corner case --- global constants}
97           \item Hardware dependencies
98           \note[item]{Hardware --- Limited number of conditionals possible}
99         \end{itemize}
100       \end{itemize}
101     \end{frame}
102
103     \begin{frame}{Selecting LLVM transformations}
104       \begin{itemize}
105         \item Status: Done
106         \item Challenges:
107         \begin{itemize}
108           \item LLVM Passes assume a lot
109           \note[item]{Assumptions --- Immediates are not free}
110           \item Montium has specific constraints
111           \note[item]{Constraint --- Implicit cycle boundaries and ordering}
112         \end{itemize}
113       \end{itemize}
114     \end{frame}
115
116     \begin{frame}{Improving / adding transformations}
117       \begin{itemize}
118         \item Status: Ongoing
119         \item Challenges:
120         \begin{itemize}
121           \item Staying generic
122           \note[item]{Generic --- LLVM maintained passes are a lot easier}
123           \item New LLVM features
124           \note[item]{Features --- Multiple return values, inlining and
125           annotation attributes}
126         \end{itemize}
127       \end{itemize}
128     \end{frame}
129
130     \begin{frame}{Reconfigurable binaries}
131       \begin{itemize}
132         \item Status: Recently started
133         \item Challenges:
134         \begin{itemize}
135           \item What to reconfigure?
136           \item Loss of optimizations
137         \end{itemize}
138       \end{itemize}
139     \end{frame}
140 \end{document}