History log of /external/tensorflow/tensorflow/compiler/xla/service/logical_buffer.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
5ead76420dee762a5f710fda6893075f1292d5d3 19-Aug-2017 A. Unique TensorFlower <gardener@tensorflow.org> Reduce XLA compile time by ~7% for a convolutional image model:

* Added CompactPointerSet<T>, which is optimized for set size <= 1.
* Changed expensive CHECKs to DCHECKS in buffer_assignment.cc
* Reserve space in DFS state array before starting DFS.
* Use unsigned arithmetic in DFS state maintenance.
* HloInstruction:
- Moved frequently used fields to start for better cache locality.
- Use InlinedVector instead of vector for operand array.
- Use InlinedVector instead of vector for DFS stack.
* Pre-compute "is array" and "is tuple" for LogicalBuffer.
* PointsToSet:
- Combine two ShapeTrees into one.
- Use CompactPointerSet instead of std::set to hold sources.
- Use CompactPointerSet instead of std::set to hold flattened buffers.
* ShapeTree: use unique_ptr instead of optional for shape storage
(reduces size and destruction overhead).
* Add proper const qualifiers to some FlatSet iterator methods.

Co-author=jeff
PiperOrigin-RevId: 165759117
/external/tensorflow/tensorflow/compiler/xla/service/logical_buffer.h
8584e7216c4038b34533003ccdb106880091d339 30-Jun-2017 A. Unique TensorFlower <gardener@tensorflow.org> [XLA] Support different alignment requirements depending on buffer color.

PiperOrigin-RevId: 160665742
/external/tensorflow/tensorflow/compiler/xla/service/logical_buffer.h
8b5d2122b93bd8912ef7e754ce9edb4a9024df4d 28-Jun-2017 A. Unique TensorFlower <gardener@tensorflow.org> [XLA] Make logical buffer coloring run on output of points-to analysis.

PiperOrigin-RevId: 160354095
/external/tensorflow/tensorflow/compiler/xla/service/logical_buffer.h
15739221f7cb59a809cb617999a0b931d4a9480f 10-Jun-2017 A. Unique TensorFlower <gardener@tensorflow.org> [XLA] Add support for logical buffer coloring.
Buffers can now be assigned "color" tags. Buffers that have different colors must live in separate allocations.

PiperOrigin-RevId: 158575828
/external/tensorflow/tensorflow/compiler/xla/service/logical_buffer.h
7b401106a488eba759b6cce370393dce05d1d173 07-Jan-2017 A. Unique TensorFlower <gardener@tensorflow.org> [XLA:HLO] Add buffer aliases to BufferAssignmentProto serialization.

Also add ".json" suffix to saved data files.

PiperOrigin-RevId: 157236140
/external/tensorflow/tensorflow/compiler/xla/service/logical_buffer.h
3e767e9db0e0a00a509354ec18462841ea4d40f2 26-May-2017 A. Unique TensorFlower <gardener@tensorflow.org> Add debug protos that serialize HLO graph information.

Also add flags to dump this data in JSON format, for each backend.
This is useful for upcoming debugging tools.

PiperOrigin-RevId: 157178357
/external/tensorflow/tensorflow/compiler/xla/service/logical_buffer.h
b4d091d5a372f97af48192cb431985b20b447158 27-Feb-2017 Peter Hawkins <phawkins@google.com> [TF:XLA] Silence a number of compiler warnings, in particular warnings repeatedly issued by code in headers.

Fixes #7919
Change: 148670735
/external/tensorflow/tensorflow/compiler/xla/service/logical_buffer.h
8ff1c465c87fc3967c9d480646fac6d6205f856c 07-Feb-2017 A. Unique TensorFlower <gardener@tensorflow.org> [TF:XLA] Change buffer assignment to combine temp buffers into one allocation.

This lays the groundwork for future CLs to reduce overall memory usage, but
doesn't accomplish that goal yet. I.e. this is step 1.

The main change is in the semantics of BufferAllocation. Previously we'd only
assign non-interferring (i.e. disjoint in liveness) LogicalBuffers to a single
BufferAllocation. This meant that each BufferAllocation represented a unique
address range in the working memory of the compiled program.

Now we allow assignment of LogicalBuffers that overlap in liveness to the same
BufferAllocation, by ensuring they occupy disjoint address ranges within the
allocation. Bookkeeping of each address range is accomplished by associating
each LogicalBuffer with an offset and size.

We take advantage of these new semantics to combine all temp buffers into a
single BufferAllocation, by laying them end-to-end in a postprocessing step -
see BufferAssigner::CombineTempAllocations. This is the same logic that
TempBufferOffsets used on the GPU side; that class has been removed.

Entry parameters (inputs) and maybe_live_out (outputs) are unchanged, and may
still occupy multiple BufferAllocations.

The rest of the CL deals with the consequences of these changes.
Change: 146800348
/external/tensorflow/tensorflow/compiler/xla/service/logical_buffer.h
239493a6825f33c96d64b6a36be6616fbb41e42b 25-Jan-2017 Mark Heffernan <meheff@google.com> Break out HloOrdering classes into separate files.

Add CreateMemoryMinimizingSequence which constructs a sequence of the
instructions in an HLO module that heuristically minimizes the
total size of live buffers containing HLO outputs.
Change: 145599747
/external/tensorflow/tensorflow/compiler/xla/service/logical_buffer.h
1e67c90e2caceeff82d09793d1ef5fa0300d219b 09-Jan-2017 Peter Hawkins <phawkins@google.com> Initial open-source release of XLA: Accelerated Linear Algebra.

XLA is a compiler-based linear algebra execution engine that targets CPUs, GPUs and custom accelerators.

XLA is still experimental; we are releasing it early to get the community involved.
Change: 143990941
/external/tensorflow/tensorflow/compiler/xla/service/logical_buffer.h