How to save and restore the context by a microprogrammed trap routine?

Ivan Tanasic[1] said that Saving and restoring the context is performed by a microprogrammed trap routine. But I don’t know how to do it.

[1]anasic I, Gelado I, Cabezas J, et al. Enabling preemptive multiprogramming on GPUs[C]//2014 ACM/IEEE 41st International Symposium on Computer Architecture (ISCA). IEEE, 2014: 193-204.

If you read the paper more closely, I think you will find that the authors propose context switching by a microprogrammed trap routine. Their proposal also requires precise exceptions.

To my knowledge, NVIDIA GPUs use neither microprogramming nor do they provide precise exceptions. The authors of that paper did not use a real GPU for their proof-of-concept implementation:

Can you tell me which GPU emulator this article uses? I can’t find it.

“in-house” usually means that it is not available publicly.