| Commit message (Collapse) | Author | Age |
|
|
|
| |
PiperOrigin-RevId: 178800980
|
|
|
|
| |
PiperOrigin-RevId: 178790193
|
|
|
|
| |
PiperOrigin-RevId: 178788810
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
CompositeNodeManager has per-device LIFO manager, FirstReadyManagers for _Send
and _Recv ops, and chooses FirstReady among the ops from per-device LIFOManager
and _Send and _Recv FirstReadyManagers.
This one can maximizes producer-consumer locality within a device (with LIFO),
but does not introduce previously reported scheduling inefficiency w.r.t.
multi-device execution with separately managing _Send and _Recv ops and global
FirstReady policy across devices.
It's implemented, but not enabled; VirtualScheduler still uses
FirstReadyManager.
PiperOrigin-RevId: 178787352
|
|
|
|
| |
PiperOrigin-RevId: 178787158
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Push constants down add/mul to canonicalize chains and possibly create constant nodes at the bottom. Example:
+ + +
/ \ / \ / \
c1 + --> x + --> x c1+c2
/ \ / \
c2 x c2 c1
Small cleanup: Consolidate code for manipulating names of nodes added or modified during constant folding.
PiperOrigin-RevId: 178785218
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Without this change, the C++ ImportGraphDef API returns unused
input_map keys (which are plumbed through to the C API as
well). However, the Python import_graph_def API requires slightly
different semantics: it throws an error for unused input_map keys that
are missing from the GraphDef.
This change modifies the C and C++ APIs to limit the returned keys to
those missing from the GraphDef, and plumbs this through to the C
API-enabled import_graph_def implementation.
Note that this is a change to the existing C API. Luckily the modified
method hasn't been released yet, so it's ok to change it.
PiperOrigin-RevId: 178783957
|
|
|
|
| |
PiperOrigin-RevId: 178769850
|
|
|
|
| |
PiperOrigin-RevId: 178767676
|
|
|
|
|
|
|
|
| |
1) It fixes a bug that manifested as `OutOfRange` being returned prematurely.
2) It changes the behavior on sequences of elements whose size is not a multiple of `batch_size`. Previously, the implementation would drop the last small batch (similar to `batch_and_drop_remainder). Newly, the implementation returns the last small batch (similar to `batch`).
PiperOrigin-RevId: 178764508
|
|
|
|
| |
PiperOrigin-RevId: 178759398
|
|
|
|
| |
PiperOrigin-RevId: 178751067
|
|
|
|
| |
PiperOrigin-RevId: 178740804
|
|
|
|
| |
PiperOrigin-RevId: 178737278
|
|
|
|
| |
PiperOrigin-RevId: 178734940
|
|
|
|
| |
PiperOrigin-RevId: 178724659
|
|
|
|
| |
PiperOrigin-RevId: 178723711
|
|
|
|
| |
PiperOrigin-RevId: 178723108
|
|
|
|
|
|
|
| |
* TestUtils now supports generating random literals with more than one constraint.
There is still an error if the constraints conflict.
PiperOrigin-RevId: 178720092
|
|
|
|
|
|
|
|
|
| |
This way when a test fails, it prints out useful information about the
failure, instead of
"<48-byte object with these bytes: de ad be ef ...>"
PiperOrigin-RevId: 178719733
|
|
|
|
|
|
|
|
| |
If the stream is not OK, the timer might not have been initialized and
finalized, in which case calling timer->Nanoseconds() is illegal and
will crash.
PiperOrigin-RevId: 178717089
|
|
|
|
| |
PiperOrigin-RevId: 178715353
|
|
|
|
|
|
|
|
| |
There is no great need for this yet, but I noticed that the test cases were
broken (they were constructing dots with unset dimension numbers), and one thing
led to another.
PiperOrigin-RevId: 178713597
|
|
|
|
| |
PiperOrigin-RevId: 178710439
|
|
|
|
|
|
|
|
| |
of unknown
rank as a scalar.
PiperOrigin-RevId: 178710185
|
|
|
|
|
|
|
|
| |
when building externally using either the Makefile or Bazel. The macros use
stderr and fprintf which may not be defined depending on the order of
headers included by the .cc files.
PiperOrigin-RevId: 178708839
|
|
|
|
| |
PiperOrigin-RevId: 178703180
|
|
|
|
| |
PiperOrigin-RevId: 178701096
|
|
|
|
| |
PiperOrigin-RevId: 178695724
|
|
|
|
| |
PiperOrigin-RevId: 178694869
|
|
|
|
|
|
|
|
| |
dot(concat(..), constant) and dot(constant, concat(..)) can be rewritten to
avoid the concatenate. This can itself be a win, but can also help unlock other
optimization opportunities.
PiperOrigin-RevId: 178691585
|
|
|
|
|
|
| |
constant.
PiperOrigin-RevId: 178689056
|
|
|
|
|
|
|
|
| |
returning the results point to the correct return value.
List available workers when the remote call target is not available.
PiperOrigin-RevId: 178687525
|
|
|
|
|
|
|
| |
Lifts unnecessary lambdas to reduce clutter. This will make a later change
more readable.
PiperOrigin-RevId: 178686976
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change adds an overload of the `FunctionLibraryRuntime::Run()` method
that allows users to pass argument and return value containers in a
`CallFrameInterface` object, rather than using the current (and expensive for
large arities) default `FunctionCallFrame` implementation. It also specializes
`CapturedFunction` to use this interface.
Note that the new overload currently only supports local function execution,
and more restructuring will be required to take advantage of it in the remote
function execution case.
This change should especially benefit datasets where each element has a large
number of components (typically when training data have many features).
PiperOrigin-RevId: 178684431
|
|
|
|
|
|
|
|
|
| |
name_scope bypassed the Graph.name_scope slash-stripping logic (strip a trailing
slash if it exists, then add one back unconditionally) when executing eagerly,
leading to extra slashes at the end of some variable names and a failure to break
out of nested name scopes.
PiperOrigin-RevId: 178676873
|
|
|
|
| |
PiperOrigin-RevId: 178675580
|
|
|
|
|
|
| |
This fixes a bug where two calls to the same stateful function will erroneously be eliminated as common subexpressions. It is also a step towards pruning nodes from function bodies, which is necessary for a variety of `Dataset` optimizations.
PiperOrigin-RevId: 178675527
|
|
|
|
|
|
| |
that unrolling can be selectively enabled/disabled per backend (should be no performance change).
PiperOrigin-RevId: 178666990
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change makes sure the b-tree page size isn't 1024 bytes. It also enables
WAL mode. This means TensorBoard can perform reads at the same time as
TensorFlow is performing writes.
We now also fsync() less often. This shouldn't carry any risk of database
corruption in WAL mode. Since WAL mode uses shared memory, writes become
immediately available to other processes, but they won't become durable until
after the OS decides to flush the FS cache.
This makes the DB writer faster than the file writer, at least in cases where
the DB is tiny. We probably make it go faster still, once we find a way to use
transactions.
Name Cold ?s Average ?s Flushing ?s Size B
?i.i 1,920 69 0 0
Scalar 1.0 FS 1,623 337 4,258 11,348
Scalar 1.0 TB FS 3,137 527 4,213 17,023
Scalar 2.0 FS 3,319 681 3,917 11,348
Scalar 2.0 DB 2,601 578 217 118,784
Tensor 1.0 FS 4 6,397 558 4,276 14,215
Tensor 2.0 FS 4 1,678 613 3,971 24,455
Tensor 2.0 DB 4 3,605 278 313 118,784
Tensor 1.0 FS 128 1,857 289 4,397 47,111
Tensor 2.0 FS 128 3,558 721 10,894 57,351
Tensor 2.0 DB 128 3,508 585 203 118,784
Tensor 1.0 FS 8192 2,677 525 4,400 2,119,816
Tensor 2.0 FS 8192 2,248 822 4,006 2,130,056
Tensor 2.0 DB 8192 4,346 370 449 126,976
PiperOrigin-RevId: 178666363
|
|
|
|
|
|
| |
This is a stopgap measure to avoid silently miscompiling dot operations.
PiperOrigin-RevId: 178666218
|
|
|
|
|
|
| |
default. We leave removal of addition and subtraction with zero out for now, since it is used as a "hack" to force a copy of a tensor in a few places. Once we have fixed this code, we can enable it.
PiperOrigin-RevId: 178665567
|
|
|
|
|
|
|
| |
All modes are experimental for now. The goal is to find the best setting, and
change the default to pick that.
PiperOrigin-RevId: 178662212
|
|
|
|
| |
PiperOrigin-RevId: 178662178
|
|
|
|
| |
PiperOrigin-RevId: 178661624
|
|
|
|
| |
PiperOrigin-RevId: 178658907
|
|
|
|
|
|
|
|
|
|
|
| |
This LSC will rename ABSL macros. Most macro will be renamed with ABSL_ prefix.
Some might have completely new names. Please see the list of the macros
affected. For example, MUST_USE_RESULT will be renamed ABSL_MUST_USE_RESULT
The purpose of this LSC is to avoid name conflicts for the ABSL release. To see
the details go/absl-macros.
PiperOrigin-RevId: 178655181
|
|
|
|
| |
PiperOrigin-RevId: 178652323
|
|
|
|
| |
PiperOrigin-RevId: 178647824
|
|
|
|
| |
PiperOrigin-RevId: 178644910
|