Automation, Compilers, and Code-Generation
- Summer semester 2014
- CAMPUS #: 14ss-46578
-
Lectures: on Wednesdays, 5.15pm. Exact schedule to be decided.
Lectures begin: Wednesday, April 9th, 5.15pm
Rogowski 115 - AICES seminar room (Schinkelstrasse 2)
The topic for this semester is Automatic Code Generation.
The objective of this semester's seminar is to look closely into the process behind code generation, both in general purpose compilers and domain specific languages.
In regard to general purpose compilers (gcc, llvm, openCL, Cilk), we want to investigate their ability to automatically use vector instructions.
With respect to domain specific languages, we are interested in studying the techniques that are used in practice. A (non final and non exhaustive) list of test cases follows. Tensor Contraction Engine (TCE); the FFTW and Spiral projects for digital signal processing; BTO, Eigen, DxT and CLAK for linear algebra; the Fenics project for PDEs.
Presentations
"HOWTO: Presentations", by P. Bientinesi [PDF]
Report: [template] (page limit inside)
Topic Assignment
# | Team | Topic | Reference | Presentation |
---|---|---|---|---|
1 | Felix Dietze + Richard Musiol | LLVM - code generation | [refs] | [archive] |
2 | Christopher Czyba + Hermann Walth | LLVM - auto vectorization | [refs] | [slides] |
3 | Hanna Franzen + Kevin Neuenfeldt | gcc - auto vectorization | [refs] | [slides] |
4 | David Laukamp + Martin Wallraff | Supercompilers | [refs] | [slides] |
5 | Bao Ngo + Simon Oehrl | Peephole optimizers | [refs] | [slides] |
6 | Kai Neumann + Lukas Koschmieder | Julia | [refs] | [slides] |
7 | Vladimir.Parashin + Matthias Hannen | gcc - code generation | [refs] | [slides] |
8 | Leo Antunes + Markus Kruber | Armadillo | [refs] | [slides] |
- April 09, 5.15pm: Topic assigned, schedule finalized.
- April 30, 5pm: Last day to change project.
- April 30, 5pm: First team meeting.
5pm Team 1: LLVM code gen 5.15pm Team 2: LLVM auto vec 5.30pm Team 3: gcc auto vec 5.45pm Team 7: gcc code gen 6pm Team 6: Julia 6.15pm Team 4: Supercompilers 6.30pm Team 5: Peephole opt 6.45pm Team 8: Armadillo - Second team meeting. To be scheduled, team by team
- July 21 & 22, Final presentations - Attendance is mandatory
- July 29: 5pm: Report deadline
Schedule
Monday, July 21: 4pm, 5pm, 6pm
Tuesday, July 22: 10am, 11am, 1pm, 2pm, 3pm