Dice Question Streamline Icon: https://streamlinehq.com

Automating conversion and layout transformations via compiler heuristics

Identify and develop robust compiler heuristics to automatically decide when and where to apply prologue–epilogue unpack/pack transformations, AoS-to-SoA conversions, and related data-representation changes to maximise performance.

Information Square Streamline Icon: https://streamlinehq.com

Background

The paper suggests that unpacking once per loop and repacking after may outperform per-access conversions, especially when combined with AoS-to-SoA transformations and vectorisation. However, these transformations trade off temporary memory footprint and require careful placement.

The authors explicitly frame automation of these decisions as an open question, asking whether reliable compiler heuristics can guide conversion selection and placement.

References

Many open questions remain: Are there robust, reliable heuristics within a compiler that can guide the selection of a proper conversion realisation and inform the translation when in the code to (optimistically) convert data representations?