| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
|
|
|
|
|
|
|
| |
marking pass from compiling ControlTrigger nodes.
CL in preparation for compiling dynamic RNN gradients via XLA.
PiperOrigin-RevId: 163073212
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
variables as well. Resetting session might unintentionally close other sessions in the same process.
PiperOrigin-RevId: 163019166
|
|
|
|
| |
PiperOrigin-RevId: 163014834
|
|
|
|
| |
PiperOrigin-RevId: 163014080
|
|
|
|
|
|
| |
for negative axis indexing.
PiperOrigin-RevId: 163011166
|
|
|
|
| |
PiperOrigin-RevId: 163009009
|
|
|
|
| |
PiperOrigin-RevId: 163005029
|
|
|
|
| |
PiperOrigin-RevId: 163001776
|
|
|
|
| |
PiperOrigin-RevId: 163001060
|
|
|
|
| |
PiperOrigin-RevId: 162998272
|
|
|
|
| |
PiperOrigin-RevId: 162995303
|
|
|
|
| |
PiperOrigin-RevId: 162989008
|
|
|
|
| |
PiperOrigin-RevId: 162986106
|
|
|
|
| |
PiperOrigin-RevId: 162983913
|
|
|
|
|
|
| |
Replace it with a new hidden op: array_ops.DebugGradientIdentity
PiperOrigin-RevId: 162983526
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
PiperOrigin-RevId: 162970793
|
|
|
|
|
|
| |
Replace the flag by always emitting the status and the backtrace to LOG(WARNING)
PiperOrigin-RevId: 162958352
|
|
|
|
| |
PiperOrigin-RevId: 162955528
|
|
|
|
| |
PiperOrigin-RevId: 162949550
|
|
|
|
| |
PiperOrigin-RevId: 162944683
|
|
|
|
| |
PiperOrigin-RevId: 162944460
|
|
|
|
| |
PiperOrigin-RevId: 162943858
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
by using tf_gen_op_libs
PiperOrigin-RevId: 162936394
|
|
|
|
| |
PiperOrigin-RevId: 162925024
|
|
|
|
| |
PiperOrigin-RevId: 162889962
|
|
|
|
| |
PiperOrigin-RevId: 162842890
|
|
|
|
| |
PiperOrigin-RevId: 162842180
|
|
|
|
| |
PiperOrigin-RevId: 162809937
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
monte_carlo.expectation_v2 calculation when doing score-trick.
PiperOrigin-RevId: 162806278
|
|
|
|
| |
PiperOrigin-RevId: 162804579
|
|
|
|
|
|
|
| |
This is end-to-end in that it starts as TensorFlow python,
producing tflite models.
PiperOrigin-RevId: 162801924
|
|
|
|
| |
PiperOrigin-RevId: 162800491
|
|
|
|
| |
PiperOrigin-RevId: 162798360
|
|
|
|
| |
PiperOrigin-RevId: 162797577
|
|
|
|
| |
PiperOrigin-RevId: 162794963
|
|
|
|
| |
PiperOrigin-RevId: 162792987
|
|
|
|
|
|
| |
Instead, switch to using grpc::GenericStub.
PiperOrigin-RevId: 162790056
|
|
|
|
|
|
|
| |
SaveableObject. Without an associated op, it is not possible to save more than
one Cudnn param variable in the same graph.
PiperOrigin-RevId: 162788929
|