Polyhedral Model基本概念
多面体模型是用于循环优化的数学模型,我们把满足多面体模型的循环称为static control part(SCoP)。在多面体模型中,一个循环由三个基本的组件组成:iteration domains, access relations, schedule.
- iteration domains由循环过程中访问的数据的下标组成。
- access relations标记访问的映射关系。
- schedule标记loop执行的过程
针对上面的二维的矩阵乘法来说, - iteration domains如下图2第一行,说明循环的范围;例如访问i的范围是从0~M-1,访问j的范围是从0 ~ N-1.
- 映射关系access relations是{𝑆0[𝑖, 𝑗, 𝑘] → 𝐴[𝑖, 𝑘]; 𝑆0[𝑖, 𝑗, 𝑘] →𝐵[𝑘, 𝑗]; 𝑆0[𝑖, 𝑗, 𝑘] → 𝐶[𝑖, 𝑗]}; 例如在S0,也就是计算的过程中,当三个下标是i,j,k时,表示此时访问到了A[i,k],B[k,j],C[i,j].
- schedule一般在多面体模型中被表示成一个树的形式。树如图2所示。树一般是有层级结构的node组成