MichaelJKlaiber commented on a change in pull request #60:
URL: https://github.com/apache/tvm-rfcs/pull/60#discussion_r830246648



##########
File path: rfcs/00xx_UMA_Unified_Modular_Accelerator_Interface.md
##########
@@ -0,0 +1,228 @@
+# UMA: Universal Modular Accelerator Interface
+
+    Feature Name: Universal Modular Accelerator Interface (UMA)
+    Start Date: 2022 February
+       Authors: 
+         Paul Palomero Bernardo @paulpb, Christoph Gerum @cgerum - University 
of Tübingen
+      Michael J. Klaiber @mjklaiber, Ingo Feldner - Bosch Research
+      Philipp van Kempen @philippvk, Rafael Stahl @r.stahl, Daniel 
Müller-Gritschneder - Technical University of Munich
+         Johannes Partzsch - TU Dresden
+         Andrew Stevens - Infineon Technologies
+    RFC PR: TBD
+    GitHub Issue: TBD
+
+## Summary
+
+<img src="https://live.staticflickr.com/98/234261205_63fa6a3412_b.jpg"; 
align="left" width="200px"/>
+
+
+The goal of **UMA (Universal Modular Accelerator Interface)** is to create a 
unified infrastructure for easily integrating external accelerators into TVM. 
+UMA provides file structures, Python interface classes and an API for 
accelerator integration. These interfaces and API are accessible from Python 
and are part of the components *UMA Partitioner*, *UMA Lower* and *UMA Codgen*. 
+The features and proposals of *Target registered compiler flow customization* 
[TVM-RFC0011] and [TVM-RFC0010] are considered, with the difference that UMA 
tries to provide a more general interface for integrating new accelerators and 
one specific implementation of the hooks described in [TVM-RFC0011]. 
+
+
+
+<br clear="left"/>
+
+<sub><sup> Image Source:  https://www.flickr.com/photos/luvi/234261205 under 
CC BY-NC-ND 2.0</sup></sub>
+
+
+
+##  Goal and Motivation
+
+A number of accelerators have already been integrated into TVM, e.g. VTA, ARM 
EthosU. 
+These are similar in both the structure of their build flow and the operations 
that they can offload.
+Nonetheless, due to incremental independent development, the TVM interfaces 
and processing steps used are quite different with little commonality.  A 
consistent, unified, infrastructure would simplify accelerator integration 
making it accessible to smaller, hardware-focused, development teams.
+
+The **goal** of UMA is to establish two API layers with a different target 
groups of users:
+
+**Porcelain Layer**: UMA
+  - Straight-forward, *Python-only* and stable API wrapper of plumbing layer
+  - Easy and clearly-defined template for integration of accelerators
+  - Short learning period for hardware/software engineers new to TVM
+
+**Plumbing Layer**: 
+  - Collage-like API + other TVM APIs

Review comment:
       Wasn't available when we published the latest version, so that's for the 
hint! Link is added.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to