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
|