To execute thousands of threads concurrently, GPUs spend significant hardware resources on register storage. For example, each Nvidia Fermi GPU contains 2 Mbytes of registers.5 Naively checkpointing all registers used by a thread at transaction boundaries,