Publication | Closed Access
Vectorisation avoidance
14
Citations
17
References
2012
Year
Unknown Venue
Cluster ComputingEngineeringComputer ArchitectureSoftware AnalysisParallel SoftwareData ScienceFlat Data ParallelismParallel ComputingComputational GeometryParallelizing CompilerComputer EngineeringComputer ScienceNested ParallelismProgram AnalysisParallel ProcessingParallel ProgrammingData-level ParallelismIrregular Nested ParallelismVectorization
Flattening nested parallelism is a vectorising code transform that converts irregular nested parallelism into flat data parallelism. Although the result has good asymptotic performance, flattening thoroughly restructures the code. Many intermediate data structures and traversals are introduced, which may or may not be eliminated by subsequent optimisation. We present a novel program analysis to identify parts of the program where flattening would only introduce overhead, without appropriate gain. We present empirical evidence that avoiding vectorisation in these cases leads to more efficient programs than if we had applied vectorisation and then relied on array fusion to eliminate intermediates from the resulting code.
| Year | Citations | |
|---|---|---|
Page 1
Page 1