Skip to content

Commit a31acc4

Browse files
committed
Fix header for devdocs.
1 parent fb4037a commit a31acc4

File tree

7 files changed

+6
-12
lines changed

7 files changed

+6
-12
lines changed

docs/src/devdocs/constructing_loopsets.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
## Constructing LoopSets
1+
# Constructing LoopSets
32

43
When applying the `@avx` macro to a broadcast expression, the LoopSet object is constructed by recursively evaluating [add_broadcast!](https://github.com/chriselrod/LoopVectorization.jl/blob/master/src/broadcast.jl#L166) on all the fields. The function and involved operations are their relationships are straightforward to infer from the structure of nested broadcasts.
54
```julia

docs/src/devdocs/evaluating_loops.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
## Determining the strategy for evaluating loops
1+
# Determining the strategy for evaluating loops
32

43
The heart of the optimizatizations performed by LoopVectorization are given in the [determinestrategy.jl](https://github.com/chriselrod/LoopVectorization.jl/blob/master/src/determinestrategy.jl) file utilizing instruction costs specified in [costs.jl](https://github.com/chriselrod/LoopVectorization.jl/blob/master/src/costs.jl).
54
Essentially, it estimates the cost of different means of evaluating the loops. It iterates through the different possible loop orders, as well as considering which loops to unroll, and which to vectorize. It will consider unrolling 1 or 2 loops (but it could settle on unrolling by a factor of 1, i.e. not unrolling), and vectorizing 1.

docs/src/devdocs/loopset_structure.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
## LoopSet Structure
1+
# LoopSet Structure
32

43
The loopsets define loops as a set of operations that depend on one another, and also on loops. Cycles are not allowed, making it a directed acyclic graph. Currently, only single return values are supported.
54
Lets use a set of nested loops performing matrix multiplication as an example. We can create a naive `LoopSet` from an expression (naive due to being created without access to any type information):

docs/src/devdocs/lowering.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
## Lowering
1+
# Lowering
32

43
The first step to lowering is picking a strategy for lowering the loops. Then a Julia expression is created following that strategy, converting each of the operations into Julia expressions.
54
This task is made simpler via multiple dispatch making the lowering of the components independent of the larger picture. For example, a load will look like

docs/src/devdocs/overview.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
2-
## Developer Overview
1+
# Developer Overview
32

43
Here I will try to explain how the library works for the curious or any would-be contributors.
54

docs/src/future_work.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
## Future Plans
12

23
Future plans for LoopVectorization:
34
1. Support triangular iteration spaces.

docs/src/getting_started.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
2-
31
## Getting Started
42

53
To install `LoopVectorization.jl`, simply use the package and `] add LoopVectorization`, or

0 commit comments

Comments
 (0)