Using colored petri nets for GPGPU performance modeling
Souley Madougou, Ana Lucia Vărbănescu, Cees de Laat · 2016
Performance analysis and modeling of applications running on GPUs is still a challenge for most designers and developers. State-of-the-art solutions are dominated by two classic approaches: statistical models that require a lot of training and profiling on existing hardware, and analytical models that require in-depth knowledge of the hardware platform and significant calibration. Both these classes separate the application from the hardware and attempt a high-level combination of the two models for performance prediction. In this work, we propose an orthogonal approach, based on high-level simulation. Specifically, we use Colored Petri Nets (CPN) to model both the hardware and the application. Using this model, the execution of the application is a simulation of the CPN model using warps as tokens. Our prototype implementation of this modeling approach demonstrates promising results on a few case studies on two different GPU architectures: both reasonably accurate predictions and detailed execution information are obtained. We conclude that CPN-based GPU performance modeling is an elegant solution for systematic performance prediction, and we focus further on optimizing the models to improve the execution time of the symbolic simulation.