aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Small improvement to ring_reducer_test: add case thatGravatar A. Unique TensorFlower2018-08-30
| | | | | | | verifies correct error termination when first RecvBuf request fails. PiperOrigin-RevId: 210993543
* We now also log the exception which is thrown while running the session.Gravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210991606
* Unwrapping per_device hooks in estimator.Gravatar Yuefeng Zhou2018-08-30
| | | | PiperOrigin-RevId: 210984489
* Force-place QR ops on CPU.Gravatar Alexandre Passos2018-08-30
| | | | | | This prevents TFE from trying and failing to run them on GPUs. PiperOrigin-RevId: 210975652
* Make dtype in Image class actually modifiable.Gravatar A. Unique TensorFlower2018-08-30
| | | | | | | | | Changing dtype to any other type other than default will cause a crash because decode_jpeg or decode_image will promise to return uint8 all the time while decode_raw will actually vary its return type. This mismatch of types causes tf.case to fail and makes dtype parameter unusable. PiperOrigin-RevId: 210975290
* Add NDK r16 to Bazel's supported range of NDKs.Gravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210975274
* Make SummaryAtEndHook work even if there are no summaries in the graph.Gravatar A. Unique TensorFlower2018-08-30
| | | | | | | Besides just general resilience to general user code, another motivation is that it still makes sense to use the hook when there are no summaries in the graph for the side effect of writing out the graph summary. PiperOrigin-RevId: 210975165
* [XLA] xla::ContainersEqual -> absl::c_equalGravatar Benjamin Kramer2018-08-30
| | | | | | The replacement for the initializer_list overload is a bit sad because MakeSpan doesn't understand initializer_list (and we don't have CTAD yet) PiperOrigin-RevId: 210974939
* tfdbg: fix a bug in the example debug_tflearn_irisGravatar Shanqing Cai2018-08-30
| | | | | | Previously, if neither the --debug or --tensorboard_debug_address flag is used, the example will error out because the variable debug_hook is unset. PiperOrigin-RevId: 210973500
* Emit target address for outfeedGravatar Sanjoy Das2018-08-30
| | | | | | | This is necessary now that outfeed instructions return a token[]; otherwise users of said token can't find it via GetEmittedValueFor. PiperOrigin-RevId: 210970118
* Update some numbers.Gravatar Shashi Shekhar2018-08-30
| | | | PiperOrigin-RevId: 210965673
* Deprecate `tf.train.QueueRunner` and related APIs.Gravatar Derek Murray2018-08-30
| | | | | | Queue runners will be removed in TensorFlow 2.0. They have been replaced with `tf.data` input pipelines, which provide a more efficient version of the same functionality. PiperOrigin-RevId: 210964268
* Avoid using bracket initializer for vector initializer with correct types.Gravatar Suharsh Sivakumar2018-08-30
| | | | | | To avoid potentially narrowing issues. PiperOrigin-RevId: 210961574
* Add parallel evaluation and blacklist support.Gravatar Shashi Shekhar2018-08-30
| | | | PiperOrigin-RevId: 210957416
* Move legacy ops to the legacy files.Gravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210956850
* Remove explicit tape watching in backprop tests.Gravatar Tom Hennigan2018-08-30
| | | | PiperOrigin-RevId: 210956690
* Add lowering pass for functional While op.Gravatar Saurabh Saxena2018-08-30
| | | | | | | This will allow the functional tf.while_loop proposed in https://github.com/tensorflow/community/pull/13 to achieve feature parity with the current implementation. Lowering is performed only when the "_lower_using_switch_merge" attr is set to True. PiperOrigin-RevId: 210956432
* Set collective_executor in function CallOp from OpKernelContext.Gravatar Ayush Dubey2018-08-30
| | | | | | Without this change, CollectiveOps in functions cannot execute. PiperOrigin-RevId: 210955255
* Make sure the platform is initialized before use.Gravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210954903
* Go: Update generated wrapper functions for TensorFlow ops.Gravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210950778
* [XLA] xla::ArrayContains -> absl::c_linear_searchGravatar Benjamin Kramer2018-08-30
| | | | PiperOrigin-RevId: 210950150
* Finish Pack operator, marking as quantizable.Gravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210948369
* Update ops-related pbtxt files.Gravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210947198
* Remove (Mutable)ArraySlice implementation and alias them to absl::Span.Gravatar Tim Shen2018-08-30
| | | | | | | | There are several API migrations happening: * ArraySlice's sub-slice constructor => .subspan * MutableArraySlice's container pointer constructor => absl::MakeSpan PiperOrigin-RevId: 210946124
* Consolidate refactoring of runtime shapes.Gravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210945714
* Fix typo in low latency svdf model.Gravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210934704
* Skip zeros call if unrequired in backprop for ↵Gravatar Akshay Modi2018-08-30
| | | | | | | | | | SparseSoftmaxCrossEntropyWithLogits See https://github.com/tensorflow/tensorflow/blob/065f9b833ffbb3b2f03d63febb186275674ba133/tensorflow/python/ops/nn_grad.py#L482 Should help with #20218 PiperOrigin-RevId: 210933185
* TensorListScatter and TensorListGatherGravatar Alexandre Passos2018-08-30
| | | | | | This closes one API hole between TensorList and TensorArray PiperOrigin-RevId: 210932049
* Fixes a data race condition in tfdbg that could lead to using moreGravatar Stanley Bileschi2018-08-30
| | | | | | than the storage limit. PiperOrigin-RevId: 210930360
* Remove no-op COMPUTE_CAPABILITIES variableGravatar Austin Anderson2018-08-30
| | | | | | The COMPUTE_CAPABILITES var gets set during our build scripts, and the default here probably doesn't actually work if left alone. PiperOrigin-RevId: 210929650
* Replaced tensorflow::StringPiece with an alias of absl::string_view.Gravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210929192
* Fix the documentation of tf.foldl to not try to fold a scalar.Gravatar Alexandre Passos2018-08-30
| | | | PiperOrigin-RevId: 210928667
* Use an ImageProjectiveTransformV2 op for backwards compatibility (#17011).Gravatar Dan Ringwalt2018-08-30
| | | | PiperOrigin-RevId: 210927561
* StridedSlice gradient more efficient in tfe.Gravatar Alexandre Passos2018-08-30
| | | | PiperOrigin-RevId: 210927458
* Minor performance improvements in [Process]FunctionLibraryRuntime.Gravatar Derek Murray2018-08-30
| | | | PiperOrigin-RevId: 210925718
* [XLA:GPU] Extract and fix IsInputFusibleReduction from GpuMultiOutputFusion ↵Gravatar Thomas Joerg2018-08-30
| | | | | | to make it available to other fusion passes. PiperOrigin-RevId: 210909961
* Update TF gpu toolchain for RBEGravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210897377
* [XLA:GPU] Do not merge loop fusions into reduce input fusions if the ↵Gravatar Thomas Joerg2018-08-30
| | | | | | resulting reduce kernel suffers from poor data locality. PiperOrigin-RevId: 210894866
* [XLA:GPU] Extract and generalize fusion-related logic from compiler ↵Gravatar Thomas Joerg2018-08-30
| | | | | | | | pass-specific classes: LayoutsAreReduceInputFusionFriendly This is the first of a series of CLs. The idea is to extract and generalize IsFusable... logic scattered across GpuInstructionFusion, FusionMerger, and GpuMultiOutputFusion into the joint util. Eventually, functions like LayoutsAreReduceInputFusionFriendly will no longer be directly exposed, but rather used internally to determine fusibility of given ops. PiperOrigin-RevId: 210888913
* compat: Update forward compatibility horizon to 2018-08-30Gravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210870855
* [TF:XLA] Implement full_matrices=False case of QR decompositionGravatar A. Unique TensorFlower2018-08-30
| | | | PiperOrigin-RevId: 210870412
* Changing DNNLinearCombinedClassifier to be "re-entrant" with respect to ↵Gravatar A. Unique TensorFlower2018-08-30
| | | | | | variable_scope. So that it doesn't assume it is called in the "root" scope of variables. PiperOrigin-RevId: 210866643
* Add the kernels option to also the python binary macros defined in ↵Gravatar Gunhan Gulsoy2018-08-30
| | | | | | tensorflow.bzl PiperOrigin-RevId: 210859798
* Bump test size for pruning_utils_test to avoid flaky timeouts.Gravatar Gunhan Gulsoy2018-08-29
| | | | PiperOrigin-RevId: 210857377
* Convert a couple more test files to HloVerifiedTestBase, and add default ↵Gravatar Dimitris Vardoulakis2018-08-29
| | | | | | arguments to the constructor to remove some boilerplate. PiperOrigin-RevId: 210855509
* Fix typo and formatting issues in tpu.py commentsGravatar Yanan Cao2018-08-29
| | | | PiperOrigin-RevId: 210855008
* Switch guide_index to search for `` references instead of deprecated @{} ↵Gravatar Mark Daoust2018-08-29
| | | | | | | | references. + Capitalize default version hint. PiperOrigin-RevId: 210846291
* Improve the GPU memory use discipline of CollectiveReduce.Gravatar A. Unique TensorFlower2018-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GPU memory allocation can be done in one of two modes: efficient (but complex and therefore somewhat risky) or conservative (simpler, but less efficient). The main difference is that 'efficient' allocation allows the same memory area to be allocated to mutiple independent uses simultaenously, when it should be the case that those uses will in fact be serial and thus temporally disjoint, while 'conservative' allocation will always obey the invarient that one piece of memory is allocated to at most one use at any point in time. If GPUDevice::RequiresRecordingAccessedTensors() returns false, then the TF runtime uses efficient memory allocation for GPU ops. That is, GPU ops are nominally synchronous and their tensor Ref's are deleted immediately after the ops returns although really the corresponding GPU kernel is only guaranteed to have been enqueued on the compute stream and may not have yet begin execution. If RequiresRecordingAccessedTensors() returns true, then conservative memory allocation is used, i.e. Refs on the tensors accessed by a GPU op are held until the corresponding kernel is guaranteed to have completed execution and no part of the op will touch them again. Efficient GPU memory allocation should be safe when the following criteria are all met: 1. All GPU kernels are executed serially on a single compute stream. 2. All GPU kernel outputs and temp buffers are allocated by the GPU Op in the executor thread in which it is originally called. 3. Any read of a GPU tensor computed by a GPU kernel that is not by another kernel on that same GPU first synchronizes on the compute stream that produced it. 4. Any read by a GPU kernel of a value that was not produced by another GPU kernel first synchronizes on the entity that produced it, e.g. a copy stream. 5. All direct allocations of GPU memory that are not for kernel outputs or temp buffers are conservative in duration. 6. Any use of directly allocated GPU memory that is not part of a kernel execution first synchronizes on the compute stream to ensure that any prior granted uses of the same region have expired before this new use. These conditions together should be sufficient for safety, and correspond to established practice, though it may be possible to contrive other sets of rules that are also sufficient. Collective Ops for GPUs are unusual in that they are async (as TF Ops) and they can directly allocate GPU memory in CPU threads that are asynchronous to the launching executor thread. This CL corrects a couple of subtle misuse errors related to conditions 2 and 6. PiperOrigin-RevId: 210841522
* Update ops-related pbtxt files.Gravatar A. Unique TensorFlower2018-08-29
| | | | PiperOrigin-RevId: 210836404
* [XLA] Enable fusing kIota for CPU & GPUGravatar David Majnemer2018-08-29
| | | | PiperOrigin-RevId: 210832078