STT-tensorflow/tensorflow/core/grappler/costs
Doe Hyun Yoon 05756fcc81 Set default device info if device type is neither CPU nor GPU.
OpLevelCostEstimator::GetDeviceInfo() returns GFLOPs/sec and GB/sec of
the assumed machine, but currently it assumes the device type is either CPU
or GPU. We didn't expect other device types would be passed during the Grappler
optimization as transfer operations such as _Send and _Recv are added when
a graph actually runs. In some occasions, we encountered the input graph
includes _HostSend op (it is possible that the graph includes _Send or _Recv
ops; that happened in some test cases).

Device type not CPU / GPU currently causes crash; to avoid such a case, we
assume unknown device type as transfer operations over PCIe; setting
default PCIe x16 gen3 bandwidth to avoid crash.

As the GetDeviceInfo() method is virtual, one may override this method
if more precise device info is needed.

PiperOrigin-RevId: 356865551
Change-Id: Icf1f39e5da81f9c627aa01e479f437184a13eed3
2021-02-10 17:31:09 -08:00
..
graph_properties_testdata Create BUILD files and corresponding targets for tensorflow/core/grappler/costs/graph_properties_testdata/BUILD. 2020-11-20 14:46:28 -08:00
analytical_cost_estimator_test.cc Added Softmax to the estimator. 2020-08-07 15:34:38 -07:00
analytical_cost_estimator.cc
analytical_cost_estimator.h
BUILD Fix --config=mkl_threadpool build errors. 2021-02-09 16:21:01 -08:00
cost_estimator_test.cc
cost_estimator.cc
cost_estimator.h
graph_memory_test.cc [Grappler] Allow feeding non-zero index tensors to Grappler optimizer 2020-04-27 11:45:41 -07:00
graph_memory.cc Merge pull request #40496 from tg-at-google:sign-compare-warning-fixes-batch-2 2020-06-17 11:22:40 -07:00
graph_memory.h
graph_properties_test.cc Use kUnknownDimFromConst for output_tensors_as_shapes for Pack op. 2021-01-11 10:29:03 -08:00
graph_properties.cc Add more debugging capabilities to static / symbolic shape inference in Grappler. 2021-01-13 10:59:06 -08:00
graph_properties.h [Grappler] Micro optimizations: 2020-04-02 10:36:54 -07:00
measuring_cost_estimator.cc
measuring_cost_estimator.h
op_context.h Qualify uses of std::string 2020-07-08 08:56:15 -07:00
op_level_cost_estimator_test.cc Refactor op level cost estimator -- cost functions report raw data (e.g., num ops, num bytes, not time), and then PredictCosts() translates it to time (in Costs). 2020-12-07 10:27:08 -08:00
op_level_cost_estimator.cc Set default device info if device type is neither CPU nor GPU. 2021-02-10 17:31:09 -08:00
op_level_cost_estimator.h Add const to helper methods in grappler::NodeCosts. 2020-12-15 11:27:33 -08:00
op_performance_data.proto
robust_stats_test.cc
robust_stats.cc
robust_stats.h
utils_test.cc
utils.cc
utils.h
virtual_placer_test.cc
virtual_placer.cc
virtual_placer.h
virtual_scheduler_test.cc Control dependency flowing between devices should have a higher priority virtual channel than data flows, otherwise there is a risk of control transfer getting stuck behind a large data transfer. Current channel device implementation is simple, it doesn't model such prioritization. 2021-01-13 21:42:07 -08:00
virtual_scheduler.cc Control dependency flowing between devices should have a higher priority virtual channel than data flows, otherwise there is a risk of control transfer getting stuck behind a large data transfer. Current channel device implementation is simple, it doesn't model such prioritization. 2021-01-13 21:42:07 -08:00
virtual_scheduler.h Get rid of waiting_queue from HeapReadyManager. Instead store a cached value that can be returned by GetCurrNode(), if called again. 2021-01-11 18:42:07 -08:00