Personal tools

Difference between revisions of "DaCe on Snitch"

From iis-projects

Jump to: navigation, search
 
(Blanked the page)
 
Line 1: Line 1:
[[Category:Digital]]
 
[[Category:High Performance SoCs]]
 
[[Category:Computer Architecture]]
 
[[Category:2020]]
 
[[Category:Master Thesis]]
 
[[Category:Semester Thesis]]
 
[[Category:Paulsc]]
 
[[Category:Tbenz]]
 
[[Category:Zarubaf]]
 
[[Category:Fschuiki]]
 
[[Category:Available]]
 
Programming a heavily multi-core system such as Manticore is very complex. It requires careful scheduling of data movement due to the program-controlled DMA, and the actual computation. A promising angle to make this more manageable is to leverage a higher-level framework to describe computation with respect to its dataflow, and then to mechanically transform that to meet the target hardware needs. Frameworks like TensorFlow already do this, but very specifically for the Machine Learning domain. We would like to explore ways of leveraging the DaCe framework to generate code for ETH’s Snitch processor system.
 
  
DaCe is a framework in Python to enable Data-Centric Parallel Programming where the fundamental view is shifted from computational complexity to data-movement complexity. In DaCe, computations are modeled as parametric (stateful) dataflow graphs with computation elements (tasklets), data containers, and parametric data flow dependencies. This representation allows performance engineers to map the execution graph on spatial architectures at all levels of the hierarchy (ranging from vector units to complex supercomputers)
 
 
===== Further reading =====
 
* [https://arxiv.org/abs/1902.10345 Stateful Dataflow Multigraphs (DaCe)]
 
* [https://scholar.google.com/scholar?oi=bibs&cluster=8341123140790442037&btnI=1&hl=de Snitch]
 
* [https://ieeexplore.ieee.org/abstract/document/9068465/ SSRs]
 
* [https://arxiv.org/pdf/2008.06502 Manticore]
 
 
===== Requirements =====
 
* C/C++, Python programming skills
 
* Interest in code generation
 
* Ability to endure soul-crunching hardware simulation environments
 
 
Composition: 50% Implementation, 30% Arhitecture, 20% Evaluation
 
 
===== Project Supervisors =====
 
* [[:User:Fschuiki | Fabian Schuiki]]: [mailto:fschuiki@iis.ee.ethz.ch fschuiki@iis.ee.ethz.ch]
 
* [[:User:Zarubaf | Florian Zaruba]]: [mailto:zarubaf@iis.ee.ethz.ch zarubaf@iis.ee.ethz.ch]
 
* [[:User:Paulsc | Paul Scheffler]]: [mailto:paulsc@iis.ee.ethz.ch paulsc@iis.ee.ethz.ch]
 
* [[:User:Tbenz | Thomas Benz]]: [mailto:tbenz@iis.ee.ethz.ch tbenz@iis.ee.ethz.ch]
 
Co-supervised by Prof. Torsten Hoefler's group
 
* Alexandru Calotoiu  -- acalotoiu at inf.ethz.ch
 

Latest revision as of 13:03, 2 November 2020