Efficient exception handling support for GPUs
Ivan Tanasić, Isaac Gelado, Marc Jordà, Eduard Ayguadé, Nacho Navarro · 2017
Operating systems have long relied on the exception handling mechanism to implement numerous virtual memory features and optimizations. However, today's GPUs have a limited support for exceptions, which prevents implementation of such techniques. The existing solution forwards GPU memory faults to the CPU while the faulting instruction is stalled in the GPU pipeline. This approach prevents preemption of the faulting threads, and results in underutilized hardware resources while the page fault is being resolved by the CPU.