aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/common_runtime/function.h
Commit message (Collapse)AuthorAge
* fix C++ header guards.Gravatar A. Unique TensorFlower2018-08-21
| | | | PiperOrigin-RevId: 209679086
* Enables `If` operator lowering in cond_v2 when XLA is disabled. Lowering ↵Gravatar A. Unique TensorFlower2018-06-18
| | | | | | | | | | | | | | | | allows cond_v2 to avoid some of the limitations of Functions, allowing users to specify devices & colocation inside of cond_v2 branches, and enabling non-strict evaluation & partial pruning of branches. This brings cond_v2 closer to feature parity with tf.cond. However, we do not lower `If` in the XLA context because it is easier for XLA to apply its own optimizations when dealing with un-lowered `If` operators than with lowered switch/merge control flow. Also adds a toggleable flag in for InlineFunctionBody in function.cc that prevents the function caller device from overriding the devices of function body nodes. This is necessary for cond_v2 branches to support explicitly-specified devices. Adds several tests to make sure that: - lowering is usually enabled - lowering is disabled for XLA - node colocation inside of cond_v2 branches works - explicit device placement inside of cond_v2 branches works PiperOrigin-RevId: 201049850
* Allowing for FunctionLibraryRuntime::Run calls to not be provided with a ↵Gravatar Rohan Jain2018-03-09
| | | | | | | | runner to execute kernels with. In that case, it defaults to using the threadpool provided by the device. Also makes sure each device has a default threadpool to fall back on. PiperOrigin-RevId: 188520648
* Allowing functions to run across devices. This change expands the ↵Gravatar Rohan Jain2017-08-17
| | | | | | | | ProcessFunctionLibraryRuntime library to Instantiate and Run functions on different devices. When a FunctionLibraryRuntime encounters a function with a target that is another device, it delegates Instantiate() and Run() calls to the ProcessFunctionLibraryRuntime. This change also moves the table_ containing all function instantiations to the PFLR instead of the FunctionLibraryRuntime. PiperOrigin-RevId: 165651194
* Automated g4 rollback of changelist 165521057Gravatar Rohan Jain2017-08-17
| | | | PiperOrigin-RevId: 165604864
* Allowing functions to run across devices. This change expands the ↵Gravatar Rohan Jain2017-08-16
| | | | | | | | ProcessFunctionLibraryRuntime library to Instantiate and Run functions on different devices. When a FunctionLibraryRuntime encounters a function with a target that is another device, it delegates Instantiate() and Run() calls to the ProcessFunctionLibraryRuntime. This change also moves the table_ containing all function instantiations to the PFLR instead of the FunctionLibraryRuntime. PiperOrigin-RevId: 165521057
* Update API to traffic in unique_ptrs rather than owning raw pointersGravatar A. Unique TensorFlower2017-07-27
| | | | PiperOrigin-RevId: 163414320
* Add GraphOptimizer to Grappler item builder to do L1 optimizations andGravatar A. Unique TensorFlower2017-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | | inlining. Op Counts Comparison (BNMT) Counts: Profile vs Grappler Op: Add, 968 vs 965 Op: AddN, 2228 vs 2228 Op: ApplyGradientDescent, 84 vs 84 Op: BatchMatMul, 998 vs 998 Op: Identity, 142 vs 105 Op: MatMul, 63 vs 63 Op: Mul, 10318 vs 10306 Op: OneHot, 1 vs 1 Op: Reshape, 8421 vs 8422 Op: Select, 488 vs 488 Op: Shape, 8132 vs 8131 Op: Sigmoid, 942 vs 942 Op: Softmax, 19 vs 19 Op: StridedSlice, 58 vs 74 Op: Sub, 1398 vs 1394 Op: Tanh, 333 vs 333 Op: Tile, 21 vs 21 Op: Transpose, 39 vs 39 PiperOrigin-RevId: 157288420
* Add function inlining support to Grappler.Gravatar A. Unique TensorFlower2017-05-18
| | | | PiperOrigin-RevId: 156457746
* Add support for passes that run post-partitioning to OptimizationRegistry.Gravatar Peter Hawkins2017-01-14
| | | | | | | To avoid another GraphDef -> Graph -> GraphDef conversion, change Device::MaybeRewriteGraph to take a Graph instead of a GraphDef. Use std::unique_ptr<> in more places to avoid some awkward .release() magic. Change: 144532446
* Internal cleanup.Gravatar A. Unique TensorFlower2016-11-11
| | | | Change: 138882350
* Internal cleanup.Gravatar A. Unique TensorFlower2016-10-25
| | | | Change: 137194599
* Using Session's environment in optimization functionsGravatar A. Unique TensorFlower2016-08-11
| | | | Change: 129993512
* Update copyright for 3p/tf/core.Gravatar A. Unique TensorFlower2016-06-02
| | | | Change: 123900938
* Change function library to use a runner passed in from the Run call, instead ofGravatar A. Unique TensorFlower2016-06-01
| | | | | | | | one from library-construction time. This is to properly support inter-op thread pools with the function library. Also change testlib graph construction to pass through the Graph's op_registry. Change: 123761344
* Instead of just validating the memory type. Fix them if they are notGravatar A. Unique TensorFlower2016-04-21
| | | | | compatible. Change: 120497594
* Moved config.proto from core/framework to core/protobuf.Gravatar Sherry Moore2016-03-04
| | | | Change: 116396958
* Refactor the logic to apply optimization into a common module.Gravatar A. Unique TensorFlower2016-02-03
| | | | Change: 113692577
* Fixed constant folding to handle nodes with multiple outputs.Gravatar Manjunath Kudlur2016-01-27
| | | | Change: 113220692
* Fix broken build.Gravatar A. Unique TensorFlower2016-01-27
| | | | Change: 113217181
* Fix broken build.Gravatar A. Unique TensorFlower2016-01-27
| | | | Change: 113216002
* Running our linter on a lot of files.Gravatar Vijay Vasudevan2016-01-24
| | | | Change: 112920860
* Export ToGraphDef() from function.ccGravatar A. Unique TensorFlower2016-01-21
| | | | | | The standard Graph::ToGraphDef function does not correctly handle the graphs produced by TensorFlow function expansion, e.g. inlining often produces duplicate node names. This CL also adds a parameter which can be used to produce more legible node names which help when viewing the GraphDef in the TensorFlow graph visualizer. Change: 112719928
* TensorFlow: merge changes from internalGravatar Vijay Vasudevan2015-12-10
| | | | | | | | | | | | | | | Change 109945903 Make unsorted_segment_sum detect negative indices Previously it crashed. This fixes #466. Also improve the error message to say which index is problematic. Change 109942557 Fix the conv_grad_input with stride 2. + We always call the Cudnn implementation even if we have an incompatible padding. Base CL: 109948577
* TensorFlow: Improve performance of AlexnetGravatar Manjunath Kudlur2015-11-20
| | | | | | | | | | | | | | | | | | | | | | Changes: * error message that refers to removed `DefaultSession` method. * -Wnull-conversion warnings * the "_start_time" attr for recvs when the flag "--brain_enable_scheduling_for_recvs" is set. * typo in tutorial data download progress message. * a typo ("however their installing"=>"however installing"). * typo, rename "TensorFlow Mechanics" to "How To" to be consistent with the website. * a typo ("subtact"=>"subtract"). * protobuf examples in comments in tensorflow::Example.proto. * formula formatting in MNIST beginner tutorial * negative fraction-of-queue-full stats * protobuf inclusion path so that Android demo will build under Blaze. * small typo (moderatly > moderately) * Session.run() to check that tensor arguments come from the session's graph. * another six import * seq2seq typo in bazel command Base CL: 108349164
* TensorFlow: Initial commit of TensorFlow library.Gravatar Manjunath Kudlur2015-11-06
TensorFlow is an open source software library for numerical computation using data flow graphs. Base CL: 107276108