Tensor Comprehensions
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
unroll.h
Go to the documentation of this file.
1
16
#pragma once
17
18
#include "
tc/core/polyhedral/schedule_tree.h
"
19
20
namespace
tc {
21
namespace
polyhedral {
22
23
/*
24
* For each descendant band node of "st" in "root" (possibly including
25
* "st" itself) and for each member of the band, mark it for unrolling
26
* if the total number of instances executed by the band member
27
* is smaller than or equal to the unroll value (if any).
28
* Only unroll values greater than 1 can have any effect.
29
*
30
* The number of executed instances is estimated based the number
31
* of values attained by the corresponding affine function given
32
* fixed values of the outer bands and members.
33
* The prefix schedule is therefore computed first,
34
* taking into account the actual set of statement instances and
35
* the filters along the path from "root" to "st".
36
*/
37
void
markUnroll(
38
detail::ScheduleTree* root,
39
detail::ScheduleTree* st,
40
uint64_t unroll);
41
42
}
// namespace polyhedral
43
}
// namespace tc
schedule_tree.h
include
tc
core
polyhedral
unroll.h
Generated by
1.8.5