Priority-Based Task Management in a GPGPU Megakernel
Institute for Computer Graphics and Vision, Graz University of Technology, Graz / Austria
Central European Seminar on Computer Graphics (CESCG), 2012
@article{kerbl2012priority,
title={Priority-Based Task Management in a GPGPU Megakernel},
author={Kerbl, B.},
year={2012}
}
In this paper, we examine the challenges of implementing priority-based task management with respect to userdefined preferential attributes on a graphics processing unit (GPU). Previous approaches usually rely on constant synchronization with the CPU to determine the proper chronological sequence for execution. We transfer the responsibility for evaluating and arranging planned tasks to the GPU where they are continuously processed in a persistent kernel. By implementing a dynamic work queue with segments of variable size, we introduce possibilities for gradually improving the overall order and identify necessary meta data required to avoid write-read conflicts in a massively parallel environment. We employ an autonomous controller module to allow queue management to run concurrently with task execution. We revise Batcher’s bitonic merge sort and show its eligibility for sorting partitioned work queues. The performance of the algorithm for tasks with constant execution time is evaluated with respect to multiple setups and priority types. An implementation of a Monte Carlo Ray-Tracing engine is presented in which we use appropriate priority functions to direct the available resources of the GPU to areas of interest. The results show increased precision for the desired features at early rendering stages, demonstrating the selective preference established by our management system.
April 21, 2012 by hgpu