| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
dependencies as well.
PiperOrigin-RevId: 211038094
|
|
|
|
| |
PiperOrigin-RevId: 210998142
|
|
|
|
| |
PiperOrigin-RevId: 210005372
|
|
|
|
| |
PiperOrigin-RevId: 209686671
|
|
|
|
|
|
|
|
| |
The tile shape can be deduced based on the tile assignment and then HLO
shape and by not storing it in the sharding we can give more flexibility
to the compiler to decide the data layout.
PiperOrigin-RevId: 207860794
|
|
|
|
| |
PiperOrigin-RevId: 206885051
|
|
|
|
|
|
| |
Restructured sharding passes to propagate sharding on pass-through instructions which now the placer does not assign anymore (GTEs, tuples, bitcast, parameters, ...).
PiperOrigin-RevId: 203591020
|
|
|
|
|
|
|
|
|
| |
Currently Literal classes sits in literal_util.{h,cc} instead of literal.{h,cc}.
It also contains helper functions that are better fit to be their own separate
class/namespace. This change starts this process by moving most static factory
methods to LiteralUtil namespace.
PiperOrigin-RevId: 203217065
|
|
|
|
| |
PiperOrigin-RevId: 201439537
|
|
|
|
| |
PiperOrigin-RevId: 201383246
|
|
|
|
| |
PiperOrigin-RevId: 200327849
|
|
|
|
| |
PiperOrigin-RevId: 199745064
|
|
|
|
|
|
|
|
| |
instructions with similar attributes (ie, sharding).
This CL simply adds the infrastructure, but leaves the wire-on to a separate CL.
PiperOrigin-RevId: 198503625
|
|
|
|
|
|
|
| |
Delete dead code in HloSharding::ToString(), and add and use proper
hasher struct.
PiperOrigin-RevId: 198493972
|
|
|
|
|
|
| |
assignment.
PiperOrigin-RevId: 192693972
|
|
|
|
|
|
|
|
| |
Pre process the input module to reassign reserved devices (like the host compute one) to new sequentially increasing device numbers, and track those in the GlobalState.
This avoids having many places where we need to spread the is-special-device logic, within the HLO partitioner and its related components.
Added handling for kCall, which was missing from previous implementation.
PiperOrigin-RevId: 191601831
|
|
|
|
|
|
|
| |
The new operator makes the error messages coming from gtest more
readable as well as making logging easier.
PiperOrigin-RevId: 190200926
|
|
|
|
| |
PiperOrigin-RevId: 189569053
|
|
|
|
|
|
|
|
| |
It transforms an existing sharding to be compatible with a new shape
with an optional transform method to adjust the tile size for the
sharded dimensions.
PiperOrigin-RevId: 188903257
|
|
|
|
|
|
|
|
| |
requiring
a ShapeTree.
PiperOrigin-RevId: 177956572
|
|
|
|
|
|
| |
tests and improve the validation error messages given.
PiperOrigin-RevId: 176214090
|
|
|
|
|
|
| |
Add reverse iteration to ShapeTree.
PiperOrigin-RevId: 175341255
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
of each individual subtensor individually. Tuples are essentially just
containers - the tensors they contain should be able to be sharded
differently.
Tuples are hierarchically structured, but shardings were designed to
not contain the sharded type (the sharded type is inferred from the
output type of the instruction the sharding is applied to). Therefore,
shardings for tuples contain shardings for each subtensor as a
non-structured list.
This list is ordered as a preorder walk of the tuple shape, and of
course only the leaf nodes of the tuple shape are stored. The
structure is reapplied when the sharded instruction's shape is known.
PiperOrigin-RevId: 175132692
|
|
* Attaching sharding descriptors to HLO ops
* Partitioning the HLO graph into per-device computations based on those sharding descriptors.
* All operator support for device placement and ops replicated on all devices.
* Elementwise op support for tiled shardings.
* 2D Convolution support for tiled shardings (no stride or dilation support).
PiperOrigin-RevId: 173946036
|