![]() | Dipl.-Inform. Florian Stock | ||
---|---|---|---|
Technische Universität Darmstadt | |||
FB20 (Informatik) | |||
FG Eingebettete Systeme und ihre Anwendungen | |||
Hochschulstr. 10 | |||
D-64289 Darmstadt | |||
Telefon: +49 6151 / 16-22425 | |||
Fax: +49 6151 / 16-22422 | |||
E-Mail: | ![]() | ||
S2/02 (Piloty-Gebäude), Raum E102 | |||
Sprechstunde: Mittwoch 14:30 - 15:30 Uhr |
Forschungsgebiete
Compilerbau Hardware-Compiler für Adaptive Computer Systeme (ACS) sind um ein vielfaches schwerer zu implementieren als normale Compiler. Herausforderungen hierbei sind Aufgaben wie z.B. die Speicheranbindung, die Software-Hardware-Partionierung, bei der entschieden werden muss welche Programmteile in HW und welche in SW ausgeführt werden sollen, oder die Parallelisierung.Lebenslauf
- 2005
- Diplom in Informatik
- 2005-2007
- Compiler Ingenieur bei PACT XPP
- 2007
- Wissenschaftlicher Mitarbeiter der Fachgruppe Eingebettete Systeme und ihre Anwendungen (ESA)
Veröffentlichungen
2013
Florian Stock, Dietmar Hildenbrand, Andreas KochFPGA-accelerated color edge detection using a Geometric-Algebra-to-Verilog compiler
International Symposium on System on Chip (SoC) 2013, Tampere, Finland


2012
2011
2010
Jens Huthmann, Peter Muller, Florian Stock, Dietmar Hildenbrand, Andreas KochAccelerating high-level engineering computations by automatic compilation of Geometric Algebra to hardware accelerators.
Proceedings of the 2010 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (IC-SAMOS 2010), Samos, Greece, July 19-22, 2010


Christian Schwinn, Dietmar Hildenbrand, Florian Stock, Andreas Koch
Gaalop 2.0 - A Geometric Algebra Algorithm Compiler
GraVisMa 2010 Proceedings


Jens Huthmann, Peter Müller, Florian Stock, Dietmar Hildenbrand, Andreas Koch
Compiling Geometric Algebra Computations into Reconfigurable Hardware Accelerators
Dynamically Reconfigurable Architectures, Dagstuhl Seminar Proceedings, 2010


2009
Florian Wörsdörfer, Florian Stock, Eduardo Bayro-Corrochano, Dietmar HildenbrandOptimizations and Performance of a Robotics Grasping Algorithm Described in Geometric Algebra.
Progress in Pattern Recognition, Image Analysis, Computer Vision, and Applications, 14th Iberoamerican Conference on Pattern Recognition, CIARP 2009, Guadalajara, Jalisco, Mexico, November 15-18, 2009. Proceedings 2009


Holger Lange, Florian Stock, Andreas Koch, Dietmar Hildenbrand
Acceleration and Energy Efficiency of a Geometric Algebra Computation using Reconfigurable Computers and GPUs.
FCCM 2009, 17th IEEE Symposium on Field Programmable Custom Computing Machines, Napa, California, USA, 5-7 April 2009



Florian Stock, Andreas Koch
A Fast GPU Implementation for Solving Sparse Ill-Posed Linear Equation Systems
Parallel Processing and Applied Mathematics, 8th International Conference, PPAM 2009, Wroclaw, Poland, September 13-16, 2009. Revised Selected Papers, Part I 2010


2008
Hagen Gädke, Florian Stock, Andreas KochMemory access parallelisation in high-level language compilation for reconfigurable adaptive computers
FPL 2008, International Conference on Field Programmable Logic and Applications, Heidelberg, Germany, 8-10 September 2008


Dietmar Hildenbrand, Holger Lange, Florian Stock, Andreas Koch
Efficient Inverse Kinematics Algorithm Based on Conformal Geometric Algebra - Using Reconfigurable Hardware
GRAPP 2008: 300-307


2006
Florian Stock, Andreas KochArchitecture Exploration and Tools for Pipelined Coarse-Grained Reconfigurable Arrays
Proceedings of the 2006 International Conference on Field Programmable Logic and Applications (FPL), Madrid, Spain, August 28-30, 2006


Offene studentische Arbeiten
- Automatische Testbenchgenerierung (SA/BA)
Adaptive Computer Systeme (ACS) sind eine Kombination aus CPU und FPGA. Während die CPU weiterhin ganz normal arbeitet, kann der rekonfigurierbare FPGA für rechenintesive Applikationen als anwendungsspezifischer Beschleuniger arbeiten.
Der ANSI C Compiler COMRADE analysiert den Code, entscheidet welche Teile vom Programm weiterhin auf der CPU ausgeführt werden und für welche sich eine Auslagerung in einen Hardwarekernel auf dem FPGA lohnt. Aufgrund dieser Entscheidung generiert er eine Hardwarebeschreibung für den Hardwareteil und erzeugt den notwendigen CPU Code für den Rest der Anwendung.
Um den Hardwarekernel zu testen, wird er simuliert. Da die CPU des ACS nicht mitsimuliert wird, wird ein Testrahmen benötigt, der die Hardware mit den notwendigen Parametern versorgt. Der bisherige Ablauf erfordert die manuelle Erstellung des Testrahmens, dies soll in der Arbeit automatisiert werden.
Aufgabe ist es:- Ein Werkzeug zu entwickeln, dass in einem C Compiler (in Java geschrieben) einen Pass einbaut, der an bereits markiert Punkten (HW-SW Übergänge), einen Funktionsaufruf einfügt.
- Die aufgerufene Funktion soll sämtliche übergebenen Werte in einer Datei festhalten. Das ganze stellt also einen Snapshot der relevanten Variablen zum Zeitpunkt des Hardwareaufrufs dar. Diese Funktion ist ebenfalls zu implementieren.
- Da natürlich nicht nur skalare Variablen als Argument an die Hardware übergeben werden können, sondern auch Zeiger und Arrays, muss malloc (calloc, free, ...) der libc entsprechend angepasst werden, so dass sämtliche Speicheraddressen und -größen mitprotokolliert werden, um entsprechende Speicherinhalte speichern zu können.
- Aus den gespeicherten Werten soll eine Testbench erstellt
werden, die den Hardwarekernel mit den gespeicherten Werten ausführt. Ausgang hierfür kann die bereits genutzte Testbench sein, die bisher manuell mit Werten versehen wurde.