In 2D iteration, foreach maps to gang-size chunks for contiguous inner loop var. There is an alternative looping mechanism foreach_tiled that maps indices to a compact rectangle. More description here.
pdp
"static interleaved assignment" - does it mean that 'static' specifies that the program instances in a gang are decided at compile time by the ISPC compiler and not at run time? And interleaved means that different gangs are interleaved and executed on the same core?
kayvonf
The implementation of the foreach construct by the current ISPC compiler will have very similar behavior as the interleaved assignment shown on slide 9.
In 2D iteration,
foreach
maps to gang-size chunks for contiguous inner loop var. There is an alternative looping mechanismforeach_tiled
that maps indices to a compact rectangle. More description here."static interleaved assignment" - does it mean that 'static' specifies that the program instances in a gang are decided at compile time by the ISPC compiler and not at run time? And interleaved means that different gangs are interleaved and executed on the same core?
The implementation of the
foreach
construct by the current ISPC compiler will have very similar behavior as the interleaved assignment shown on slide 9.