A runtime performance analytics optimization using GPU and CPU execution as applied to planetary formation simulation




Westhart, Philip

Journal Title

Journal ISSN

Volume Title



The research in this thesis investigates an OpenCL GPU parallelization with novel runtime-performance analytics to dynamically determine whether execution should be performed on a CPU or a GPU for a particular input dataset. The Symplectic Massive Body Algorithm (SyMBA) for planetary formation simulation was targeted for optimization given its scientific value and parallelizable nature. The approach identified specific functions within the algorithm that would benefit from GPU acceleration and migrated this limited functionality to execute on the GPU within the OpenCL framework. Benchmarks saw speedups of up to 26.48x (541s from 14327s). The overall performance highly depended on the nature of the test case, specifically the total number of particles in the simulation (N) and the number of those particles that are considered massive (M). To accommodate these data-dependent performance differences, runtime performance analysis was integrated into the software to allow the decision of whether to execute on the CPU or GPU to be made at runtime. The runtime performance analysis was tested and was able to successfully use the more efficient execution environment.


This item is available only to currently enrolled UTSA students, faculty or staff. To download, navigate to Log In in the top right-hand corner of this screen, then select Log in with my UTSA ID.


Acceleration, CPU, GPU, Heterogeneous Computing, OpenCL, Optimization



Electrical and Computer Engineering