Premium
Maximizing the GPU resource usage by reordering concurrent kernels submission
Author(s) -
Cruz Rommel A.Q.,
Bentes Cristiana,
Breder Bernardo,
Vasconcellos Eduardo,
Clua Esteban,
Carvalho Pablo M.C.,
Drummond Lúcia M.A.
Publication year - 2018
Publication title -
concurrency and computation: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.309
H-Index - 67
eISSN - 1532-0634
pISSN - 1532-0626
DOI - 10.1002/cpe.4409
Subject(s) - computer science , turnaround time , kernel (algebra) , knapsack problem , scheduling (production processes) , parallel computing , execution time , shared resource , distributed computing , throughput , operating system , algorithm , mathematical optimization , mathematics , combinatorics , wireless
Summary The increasing amount of resources available on current GPUs sparked new interest in the problem of sharing its resources by different kernels. While new generations of GPUs support concurrent kernel execution, their scheduling decisions are taken by the hardware at runtime. The hardware decisions, however, heavily depend on the order at which the kernels are submitted to execution. In this work, we propose a novel optimization approach to reorder the kernels invocation focusing on maximizing the resources utilization, improving the average turnaround time. We model the kernel assignments to the hardware resources as a series of knapsack problems and use a dynamic programming approach to solve them. We evaluate our method using kernels with different sizes and resource requirements. Our results show significant gains in the average turnaround time and system throughput compared to the kernels submission implemented in modern GPUs.