Skip to content

Commit 8d4aeac

Browse files
Imperfect update in docs
1 parent 2e73cec commit 8d4aeac

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

docs/source/guide/timeloop_compare.rst

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,15 @@ The following are features **suppported by AccelForge, not Timeloop**:
4444
<https://github.com/Accelergy-Project/accelergy>`_. Hwcomponents is a successor to
4545
Accelergy, and makes it significantly easier to write custom component models.
4646
- **Easy Installation**: AccelForge and dependencies are pip installable.
47+
- **Mapper for imperfectly-factorized loop levels**: The mapper can explore imperfect
48+
mappings for all loop levels. We note two differences between our implementations and
49+
Timeloop's. **(1)** We permit the outermost loop for each rank variable to have a
50+
residual, while Timeloop permits a residual on every loop. **(2)** We only run
51+
imperfect mapping for simple rank variables which do not participate in indexing
52+
expressions, while Timeloop allows every rank variable to be imperfect. Our
53+
constraints allow us to find good mappings while keeping the search space tractable,
54+
while Timeloop may only search the imperfect space with additional user-written
55+
constraints.
4756

4857
The following are features **supported by Timeloop, work-in-progress in AccelForge**:
4958

@@ -53,10 +62,6 @@ The following are features **supported by Timeloop, work-in-progress in AccelFor
5362
- **Layout Support**: Support for the costs of how data is laid out in memory.
5463
- **Skew in Model**: User-defined spatial skews that can split data between multiple
5564
multiple spatial instances.
56-
- **Mapper for $\sim 1-2$ imperfectly-factorized loop levels**: The mapper can explore
57-
imperfect mappings for a handful of loop levels, but becomes intractible for more loop
58-
levels. This, as well as full imperfect mapping, is present in AccelForge, but the API
59-
is not yet implemented.
6065
- **ISL-Based Model**: Timeloop supports high-fidelity modeling with ISL to generate the
6166
accesses for every spatial instance, while AccelForge uses a simpler and faster
6267
analytical model.
@@ -66,8 +71,6 @@ Timeloop**:
6671

6772
- **Skew in Mapping**: Automatically deriving the best skew for a given workload and
6873
architecture.
69-
- **Mapper for all imperfectly-factorized loop levels**: The mapper can explore
70-
imperfect mappings for all loop levels.
7174
- **Einsum-Level Spatial Parallelism**: The mapper can parallelize Einsums across
7275
spatial instances, rather than executing them sequentially.
7376

0 commit comments

Comments
 (0)