aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* [TF:XLA] Make the shape of a TensorArray flow value a scalar.Gravatar Peter Hawkins2017-07-25
| | | | | | Previously we used an f32[0] value, since the exact flow value does not matter, however this causes problems when a TensorArray computation is placed in a loop since the shape of the flow value is no longer loop invariant. PiperOrigin-RevId: 163082452
* If the value to be forwarded from a loop to its gradient is a constant, ↵Gravatar Peter Hawkins2017-07-25
| | | | | | | | clone the constant instead of repeatedly pushing it onto a stack on each iteration. This should never consume more memory than the stack approach (notwithstanding swapping), and frequently should be much better. This change is in preparation for enabling XLA compilation of RNN gradients. PiperOrigin-RevId: 163082165
* Improve the HLO graph dumper's output.Gravatar Justin Lebar2017-07-25
| | | | | | | | | | | | | | | | - Truncate long shapes. It's not uncommon to have giant tuples, and displaying the whole thing makes the graph unreadable. - Don't traverse into the users of a node with < 16 users. These are probably not interesting, and traversing into them can quickly blow up the graph, making it un-renderable. - Allow nodes which have multiple trivial subcomputations (e.g. select-and-scatter) to have those computations inlined. - Match additional patterns in MatchTrivialComputation PiperOrigin-RevId: 163079329
* [TF:XLA] Register a no-op kernel for ControlTrigger, but forbid the JIT ↵Gravatar Peter Hawkins2017-07-25
| | | | | | | | marking pass from compiling ControlTrigger nodes. CL in preparation for compiling dynamic RNN gradients via XLA. PiperOrigin-RevId: 163073212
* [XLA] Update StatusOr implementation to use more nuanced type traits.Gravatar A. Unique TensorFlower2017-07-25
| | | | | | | | | | | Previously we would evaluate the is_copy_constructible trait before template parameters were fully defined; e.g. StatusOr<ThingIAmDefiningRightNow>, which could lead to surprising effects. Also, previously it was not possible to provide an error status to a StatusOr<T> where T was not default-constructible. PiperOrigin-RevId: 163073057
* Two improvements to pip.shGravatar Shanqing Cai2017-07-25
| | | | | | | 1. Distinguish between passed and skipped tests. 2. Allow skipping the smoke test of tensorflow install in clean virtualenv with NO_TEST_ON_INSTALL=1 PiperOrigin-RevId: 163065599
* Use correct order of arguments in call of valid_bitcast_callback_.Gravatar A. Unique TensorFlower2017-07-25
| | | | | | There are platforms where bitcasts are not symmetric. I.e. there are shapes A and B so that A->B is a bitcast, but B->A not. So we have to consider the correct order when calling valid_bitcast_callback_. PiperOrigin-RevId: 163058665
* Refactor HLO graph dumping.Gravatar Justin Lebar2017-07-25
| | | | | | | | This also makes a few minor cosmetic changes, like moving the fusion type out of the fusion node and into the out-of-line computation and adjusting the arrow labels that we use to indicate operand numbers. PiperOrigin-RevId: 163038795
* [XLA] Teach CPU and GPU compilers to optionally invoke the HLO ↵Gravatar A. Unique TensorFlower2017-07-25
| | | | | | | | insert-reduce-precision-operations pass. This also required a few additions and fixups. We add pieces to ReducePrecisionInsertion to translate between the protocol-buffer representation of the pass options and the predicate-function actually used in the pass. To facilitate this translation, we also add a function to HloOpcode to return the number of opcodes so that we can iterate over the whole set easily. PiperOrigin-RevId: 163037250
* Removing session reset since destroying the session object would delete its ↵Gravatar Yuefeng Zhou2017-07-24
| | | | | | variables as well. Resetting session might unintentionally close other sessions in the same process. PiperOrigin-RevId: 163019166
* Go: Update generated wrapper functions for TensorFlow ops.Gravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 163014834
* Update ops-related pbtxt files.Gravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 163014080
* Update documentation of various dimension/axis arguments to mention support ↵Gravatar RJ Ryan2017-07-24
| | | | | | for negative axis indexing. PiperOrigin-RevId: 163011166
* Properly handle folding of constant nodes with multiple outputs.Gravatar Benoit Steiner2017-07-24
| | | | PiperOrigin-RevId: 163009009
* Update stage_op and map_stage_op to not special case returning one elementGravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 163005029
* Only assign new start times if start times have not already been setGravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 163001776
* Re-align asterisks for pointer types; NFCGravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 163001060
* Modify dependency structure of transform_utils to allow use within Grappler.Gravatar Suharsh Sivakumar2017-07-24
| | | | PiperOrigin-RevId: 162998272
* [XLA] Change backtrace logging from WARNING to VLOG(1)Gravatar Eli Bendersky2017-07-24
| | | | PiperOrigin-RevId: 162995303
* Update ops-related pbtxt files.Gravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 162989008
* Internal change.Gravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 162986106
* Go: Update generated wrapper functions for TensorFlow ops.Gravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 162983913
* tfdbg: remove gen_debug_opsGravatar Shanqing Cai2017-07-24
| | | | | | Replace it with a new hidden op: array_ops.DebugGradientIdentity PiperOrigin-RevId: 162983526
* bitwise xor op now uses vectorised xor on CPU.Gravatar Eugene Brevdo2017-07-24
| | | | | | | | | To get vectorised xor on CUDA, additional changes need to be made to Eigen; specifically adding packetwise xor operations for the various float and double types (float2, float4, double2). Once those are in, this op will magically pick them up as well. PiperOrigin-RevId: 162981519
* Make the logic around linking to CPU runtime functions less error-prone.Gravatar A. Unique TensorFlower2017-07-24
| | | | | | | | | | | | | | The way we link to CPU runtime functions from code generated by LLVM is problematic in a few ways: 1. Forgetting to add lookup code in the ORC JIT's resolver for a new builtin does not break JIT tests in obvious ways. JIT tests will usually continue to work because of the way we build our unit tests. 2. There are ways to break the AOT link in ways that don't show up in when JITing by naming the extern "C" symbols incorrectly. This change addresses the above by: - Preventing SimpleResolver from dlsym'ing symbols that start with __xla_cpu_runtime_. This way tests don't just "happen to work" if we forget to add a runtime function to the list. - Using a C++ macro to make sure the C++ symbol names line up correctly with the IR symbol names. This way we know that if the JIT is able to link to a symbol, code generated by the AOT compiler will be able to as well. PiperOrigin-RevId: 162980962
* Fix _Recv op caching for multi-output port ops in VirtualScheduler.Gravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 162970793
* [XLA] Remove the xla_status_add_backtrace flag.Gravatar Eli Bendersky2017-07-24
| | | | | | Replace the flag by always emitting the status and the backtrace to LOG(WARNING) PiperOrigin-RevId: 162958352
* Fix #11708Gravatar Asim Shankar2017-07-24
| | | | PiperOrigin-RevId: 162955528
* [XLA] Appease clang-tidy by switching away from StatusOr::ConsumeValueOrDie.Gravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 162949550
* Remove old TensorForest implementation.Gravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 162944683
* [XLA] StatusOr testing macro TF_ASSIGN_OR_ASSERT_OK => TF_ASSERT_OK_AND_ASSIGNGravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 162944460
* Internal doc change -- second draft.Gravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 162943858
* RELNOTES: Add the capacity for hparams.parse_values to parse strings ↵Gravatar A. Unique TensorFlower2017-07-24
| | | | | | involving assignment to specific list positions (e.g. "arr[1]=abc".) The returned dictionary is identical to the previous version w.r.t. variable assignments, but for position assignments the key will map to a dictionary mapping specified indices to values (e.g. {'arr': {1:'abc'}}). The type_map must have a key corresponding to the variable name, not the index (e.g. type_map={'arr':int}, not type_map={'arr[1]'=int}. NOTE: No longer allows multi-assignment to the same name. (e.g. 'x=10,x=20' will now raise a ValueError, where it would previously ignore the 'x=10'.) PiperOrigin-RevId: 162940437
* Simplify debug ops op_lib BUILD ruleGravatar Shanqing Cai2017-07-24
| | | | | | by using tf_gen_op_libs PiperOrigin-RevId: 162936394
* Further BUILD cleanup in tensorflow/contrib/...Gravatar A. Unique TensorFlower2017-07-24
| | | | PiperOrigin-RevId: 162925024
* [XLA] Add support for sin(x) transcendental.Gravatar A. Unique TensorFlower2017-07-23
| | | | PiperOrigin-RevId: 162889962
* Add test tag oss_serial and support by run_pip_tests.sh and pip.shGravatar Shanqing Cai2017-07-22
| | | | PiperOrigin-RevId: 162842890
* Make build_pip_package.sh work with relative paths.Gravatar Gunhan Gulsoy2017-07-22
| | | | PiperOrigin-RevId: 162842180
* Internal cleanup.Gravatar A. Unique TensorFlower2017-07-21
| | | | PiperOrigin-RevId: 162809937
* Refactor pip.sh into independent jobsGravatar Shanqing Cai2017-07-21
| | | | | | | | | | | | | | | pip.sh consists of multiple tasks, such as * testing pip package on a clean virtualenv install * running all bazel_pip tests in a "non-clean" virtualenv * testing user ops * testing tfdbg binaries etc. Previously they run in a way in which if an earlier task fails, none of the following tasks will run. This CL corrects that by separating the code into multiple tasks and ensure that they always run regardless of the status of preceding tasks. Also adds color to the FAIL / PASS messages. PiperOrigin-RevId: 162807396
* Implement VIMCO-like objective for approx Csiszar f-Divergence. Simplify ↵Gravatar Joshua V. Dillon2017-07-21
| | | | | | monte_carlo.expectation_v2 calculation when doing score-trick. PiperOrigin-RevId: 162806278
* fix lint issues in *stage_op_testGravatar A. Unique TensorFlower2017-07-21
| | | | PiperOrigin-RevId: 162804579
* Create generator for tflite examples.Gravatar Andrew Selle2017-07-21
| | | | | | | This is end-to-end in that it starts as TensorFlow python, producing tflite models. PiperOrigin-RevId: 162801924
* Internal change.Gravatar Anna R2017-07-21
| | | | PiperOrigin-RevId: 162800491
* Prune more types of nodes from the graphGravatar Benoit Steiner2017-07-21
| | | | PiperOrigin-RevId: 162798360
* Automated g4 rollback of changelist 162782896Gravatar Anna R2017-07-21
| | | | PiperOrigin-RevId: 162797577
* Internal change.Gravatar Anna R2017-07-21
| | | | PiperOrigin-RevId: 162794963
* Properly schedule merge nodes.Gravatar Benoit Steiner2017-07-21
| | | | PiperOrigin-RevId: 162792987
* Stop using internal API that creates grpc::ClientAsyncResponseReader.Gravatar A. Unique TensorFlower2017-07-21
| | | | | | Instead, switch to using grpc::GenericStub. PiperOrigin-RevId: 162790056
* Make cudnn_rnn.RNNParamsSaveable use parameter variable op instead of None forGravatar A. Unique TensorFlower2017-07-21
| | | | | | | SaveableObject. Without an associated op, it is not possible to save more than one Cudnn param variable in the same graph. PiperOrigin-RevId: 162788929