Optimal ordering of AoS/SoA conversion and CPU–GPU data movement operations
Determine the optimal ordering of narrowing, AoS-to-SoA conversion, host–device memory mapping, GPU kernel execution, device–host memory mapping, SoA-to-AoS conversion, and widening when offloading AoS-origin data to GPUs, particularly for tightly integrated CPU–GPU systems and potential in-situ conversions on the GPU, so as to minimize total runtime.
References
Given the observation that memory movements become a limiting factor in GPU utilisation, the order of operations in (equation) is natural. However, it is not clear that this order is optimal in all cases.
— Annotation-guided AoS-to-SoA conversions and GPU offloading with data views in C++
(2502.16517 - Radtke et al., 23 Feb 2025) in Section 4 Formal code transformations and algorithm description, Subsection GPU offloading