Use fuser contextmanager (#784)
Summary:
This PR uses `fuser` context manager to manage run contexts to replace the old "hacky" implementation.
Because the instance generated by `contextlib.contextmanager` can only be applied once, we need to pass in a lambda and instantiate a new instance every time we run the benchmark
Pull Request resolved: https://github.com/pytorch/benchmark/pull/784
Reviewed By: davidberard98
Differential Revision: D34797602
Pulled By: xuzhao9
fbshipit-source-id: 95d46301c613b796e2b4c9aafc9e4b1a7fe6e59a