1. An apparatus, comprising: a graphics processing unit (GPU) comprising a plurality of storage locations and a plurality of execution units and configured to implement a plurality of virtual GPUs having corresponding variable priority levels, wherein: the GPU is further configured to modify the corresponding variable priority levels of at least one of the plurality of virtual GPUs based on an arbitration scheme; the GPU is further configured to receive a plurality of GPU commands and a corresponding plurality of virtual GPU indicators that indicate, for the plurality of GPU commands, corresponding ones of the plurality of virtual GPUs; the plurality of execution units are configured to execute the GPU commands for the plurality of virtual GPUs; a priority level for a given GPU command is based on a priority level of a corresponding one of the plurality of virtual GPUs; and the GPU is further configured to store, in at least one of the plurality of storage locations, intermediate results that are usable to resume execution of one or more incomplete operations corresponding to one or more of the plurality of virtual GPUs.