Analyzing and Estimating the Performance of Concurrent Kernels Execution on GPUs - Cruz, Rommel; Drummond, Lucia; Clua, Esteban; Bentes, Cristiana (Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD), 2017)
GPUs have established a new baseline for power efficiency and computing power, delivering larger bandwidth and more computing units in each new generation. Modern GPUs support the concurrent execution of kernels to maximize resource utilization, allowing other kernels to better exploit idle resources. However, the decision on the simultaneous execution of different kernels is made by the hardware, and sometimes GPUs do not allow the execution of blocks from other kernels, even with the availability of resources. In this work, we present an in-depth study on the simultaneous execution of kernels on the GPU. We present the necessary conditions for executing kernels simultaneously, we define the factors that influence competition, and describe a model that can determine performance degradation. Finally, we validate the model using synthetic and real-world kernels with different computation and memory requirements.