Provide a step container to OpKernelContexts when running eagerly.
authorAkshay Agrawal <akshayka@google.com>
Sat, 26 May 2018 00:12:49 +0000 (17:12 -0700)
committerTensorFlower Gardener <gardener@tensorflow.org>
Sat, 26 May 2018 00:15:38 +0000 (17:15 -0700)
commit06717b77e05bd602d10fe40f4519dbb105fabd5c
treef16cf13faa46908433287b1a95204478917e486d
parente140ab8d07dd6aec70f61c0c6939506f6e67ac5e
Provide a step container to OpKernelContexts when running eagerly.

This lets us run some ops that require step containers (e.g.
TensorArray-related ops).

 Before change:
 Benchmark                    Time(ns)        CPU(ns)     Iterations
-------------------------------------------------------------------
 BM_CreateGraph                  61292          80915           8581
 BM_RunGraph                      7899          13398          51251
 BM_CreateAndDestroySession       2588           2594         269838
 BM_KernelAndDeviceInit           2971           2976         235908
 BM_KernelAndDeviceRun             505            506        1000000

 After change:
 Benchmark                    Time(ns)        CPU(ns)     Iterations
 -------------------------------------------------------------------
 BM_CreateGraph                  78295         105539           8698
 BM_RunGraph                      9907          16988          47908
 BM_CreateAndDestroySession       2773           2778         247635
 BM_KernelAndDeviceInit           2678           2682         270054
 BM_KernelAndDeviceRun             553            554        1000000

PiperOrigin-RevId: 198125630
tensorflow/core/common_runtime/eager/kernel_and_device.cc