|
1 | 1 | ## Motivation
|
2 | 2 |
|
3 |
| -There is a ```gap``` between the ```Program``` defined by |
4 |
| -user and the ```Executable``` that can be scheduled |
| 3 | +There is a `gap` between the `Program` defined by |
| 4 | +user and the `Executable` that can be scheduled |
5 | 5 | efficiently on heterogeneous hardware, either locally
|
6 | 6 | or distributedly.
|
7 | 7 |
|
8 |
| -Usually, the ```gap``` is bridged by |
| 8 | +Usually, the `gap` is bridged by |
9 | 9 |
|
10 | 10 | * A serious transformations with defined order.
|
11 | 11 |
|
12 | 12 | * These transformations usually involve
|
13 |
| -```insert, delete, clustering, split, dependency analysis```. |
| 13 | +`insert, delete, clustering, split, dependency analysis`. |
14 | 14 |
|
15 | 15 | * Has a simple way to verify and debug each transformation.
|
16 | 16 |
|
@@ -38,44 +38,44 @@ design below.
|
38 | 38 |
|
39 | 39 | #### Node
|
40 | 40 |
|
41 |
| -```Node``` represents an operation that performs some computation or |
| 41 | +`Node` represents an operation that performs some computation or |
42 | 42 | a variable that is input or output of operation.
|
43 | 43 |
|
44 |
| -```Node```s are connected to other ```Node```s via inputs and outputs. |
| 44 | +`Node`s are connected to other `Node`s via inputs and outputs. |
45 | 45 |
|
46 | 46 | Other properties (maybe device placement information) can be added
|
47 |
| -to ```Node``` in the future if it's a |
48 |
| -common requirement of many other ```Pass```es. Otherwise, it should live |
49 |
| -in a ```Node``` wrapper class that is private to some ```Pass``` or be |
50 |
| -a local member of a ```Pass```. |
| 47 | +to `Node` in the future if it's a |
| 48 | +common requirement of many other `Pass`es. Otherwise, it should live |
| 49 | +in a `Node` wrapper class that is private to some `Pass` or be |
| 50 | +a local member of a `Pass`. |
51 | 51 |
|
52 | 52 | #### Graph
|
53 | 53 |
|
54 |
| -```Graph``` contains a list of ```Node```s, which are connected to |
| 54 | +`Graph` contains a list of `Node`s, which are connected to |
55 | 55 | each other via inputs and outputs.
|
56 | 56 |
|
57 | 57 | TODO: Better definitions for the graph.
|
58 | 58 |
|
59 |
| -```Graph``` can also contain ```Attribute```s. ```Attribute```s |
60 |
| -can be ``any`` thing. For example, it can be a list of "wraper" |
61 |
| -nodes. The ```wrapper``` nodes compose ```Node```s and provide |
62 |
| -helper method for execution or transformation. ```Attribute``` |
| 59 | +`Graph` can also contain `Attribute`s. `Attribute`s |
| 60 | +can be `any` thing. For example, it can be a list of "wraper" |
| 61 | +nodes. The `wrapper` nodes compose `Node`s and provide |
| 62 | +helper method for execution or transformation. `Attribute` |
63 | 63 | can also contain other things that describe some properties of
|
64 |
| -the ```Graph``` or ```Graph``` nodes. ```Attribute``` can be passed |
65 |
| -across ```Pass```. However, it should be used with care. |
| 64 | +the `Graph` or `Graph` nodes. `Attribute` can be passed |
| 65 | +across `Pass`. However, it should be used with care. |
66 | 66 |
|
67 | 67 | #### Pass
|
68 | 68 |
|
69 |
| -```Pass``` represents a transformation of ```Graph```. Its input |
70 |
| -is a ```Graph``` and its output is also a ```Graph```. For example, |
71 |
| -a ```Pass``` can simply print out the ```Graph```. A ```Pass``` |
72 |
| -can also fuse some ```Graph```'s ```Node```s. |
| 69 | +`Pass` represents a transformation of `Graph`. Its input |
| 70 | +is a `Graph` and its output is also a `Graph`. For example, |
| 71 | +a `Pass` can simply print out the `Graph`. A `Pass` |
| 72 | +can also fuse some `Graph`'s `Node`s. |
73 | 73 |
|
74 | 74 | #### Optimize
|
75 | 75 |
|
76 |
| -```Optimize``` contains a series of ```Pass``` with defined order. |
77 |
| -```Optimize``` transforms a ```Graph``` that only contains raw |
78 |
| -modeling logic to a ```Graph``` that can be run efficiently while |
| 76 | +`Optimize` contains a series of `Pass` with defined order. |
| 77 | +`Optimize` transforms a `Graph` that only contains raw |
| 78 | +modeling logic to a `Graph` that can be run efficiently while |
79 | 79 | maintaining the original modeling logic.
|
80 | 80 |
|
81 | 81 |
|
|
0 commit comments