On Wed, Aug 16, 2023 at 10:26:25PM -0700, le yin wrote:
>
> for (int i = 0; i < 1024; i++)
> for (int j = 0; j < 1024; j++)
> {
> tmp0[i] += input[i][j];
> tmp1[i] += input[i][j];
> }
>
> will get the schedule as follows:
What do you mean? Where did you get this schedule?
> domain: "{ S_1[i, j] : 0 <= i <= 1023 and 0 <= j <= 1023; S_0[i, j] : 0 <=
> i <= 1023 and 0 <= j <= 1023 }"
>
>
> child:
>
> set:
>
> - filter: "{ S_0[i, j] }"
> child:
>
> schedule: "[{ S_0[i, j] -> [(i)] }, { S_0[i, j] -> [(j)] }]"
> permutable: 1
>
> coincident: [ 1, 0 ]
>
> - filter: "{ S_1[i, j] }"
>
> child:
>
> schedule: "[{ S_1[i, j] -> [(i)] }, { S_1[i, j] -> [(j)] }]"
> permutable: 1
>
> coincident: [ 1, 0 ]
There is some serious issue with the formatting here,
making it almost impossible to parse the schedule.
> Can the two statements be scheduled in the same loop ?
Something like this should do it:
domain: "{ S_1[i, j] : 0 <= i <= 1023 and 0 <= j <= 1023; S_0[i, j] : 0 <= i <= 1023 and 0 <= j <= 1023 }"
child:
schedule: "[{ S_0[i, j] -> [(i)]; S_1[i, j] -> [(i)] }, { S_0[i, j] -> [(j)]; S_1[i, j] -> [(j)] }]"
skimo