| Commit message (Collapse) | Author | Age |
|
|
|
|
|
| |
No support in any of the backends, and not yet exposed through XlaBuilder.
PiperOrigin-RevId: 216465753
|
|
|
|
|
|
| |
Add a variant of CustomCall which specifies arbitrary layout constraints on the operands and result. The existing non-layout-constrained CustomCall is changed to have no layout preference and can now be assigned arbitrary layouts by layout assignment.
PiperOrigin-RevId: 216249615
|
|
|
|
|
|
|
|
| |
Move these checks to RET_CHECKs in the HloVerifier. Added a new visitor class
InstructionVerifier inside of hlo_verifier.cc for handling these random
non-result-shape verifications.
PiperOrigin-RevId: 215745043
|
|
|
|
|
|
|
|
|
|
| |
Many of the HLO parser tests verify that an text form of an HLO module preserves all information when running through ToString then parsing. It makes sense to also use these tests to exercise proto serialization/deserialization. This is done by adding additional instantiations of the parameterized parsing tests. This caught several bugs which are fixed in this CL:
(1) Domain instructions were not being serialized properly.
(2) Host send/recv instructions did not preserve the is_host_transfer bit.
(3) Sparse literals could not be serialized or deserialized.
PiperOrigin-RevId: 215445200
|
|
|
|
| |
PiperOrigin-RevId: 215272497
|
|
|
|
|
|
|
|
| |
Where "X" is the parameter number. Previously, fusion parameter names including
the name of the original instruction which produced the value which was
confusing.
PiperOrigin-RevId: 215238171
|
|
|
|
|
|
| |
The intent of this field is to enable more information to be encoded in the custom call and passed through to the backend.
PiperOrigin-RevId: 214800539
|
|
|
|
| |
PiperOrigin-RevId: 212313258
|
|
|
|
|
|
|
|
| |
This field only makes sense on kDot & kConvolution. This should shave a few
more bytes off of HloInstruction and remove methods that aren't applicable on
many HLOs.
PiperOrigin-RevId: 211985502
|
|
|
|
| |
PiperOrigin-RevId: 211916428
|
|
|
|
| |
PiperOrigin-RevId: 211912785
|
|
|
|
|
|
| |
The "Proto" suffix adds little clarity but makes a long type name even longer.
PiperOrigin-RevId: 211693871
|
|
|
|
|
|
|
|
| |
If the feature_group_count is 1, don't bother showing it as it is not very
informative and a very common scenario. This is consistent with the
HloCustomCall's feature_group_count attribute.
PiperOrigin-RevId: 211560372
|
|
|
|
|
|
|
|
| |
HLO transformations would forget to propagate the feature depth attribute.
Making these attributes mandatory, while slightly less convenient for tests,
makes HLO transformations more robust.
PiperOrigin-RevId: 211490160
|
|
|
|
|
|
|
|
| |
Cudnn supports grouped convolutions, so we don't need the
ConvolutionFeatureGroupConverter pass and can instead set the group_count
parameter on the cudnn custom calls.
PiperOrigin-RevId: 211339551
|
|
|
|
| |
PiperOrigin-RevId: 210998142
|
|
|
|
|
|
| |
The replacement for the initializer_list overload is a bit sad because MakeSpan doesn't understand initializer_list (and we don't have CTAD yet)
PiperOrigin-RevId: 210974939
|
|
|
|
| |
PiperOrigin-RevId: 210816152
|
|
|
|
| |
PiperOrigin-RevId: 210778248
|
|
|
|
|
|
| |
only for the case where all of the inputs have the same element type.
PiperOrigin-RevId: 210746149
|
|
|
|
|
|
|
| |
This extends the Iota HLO to have a broadcast field. This allows for higher
rank kIota operations.
PiperOrigin-RevId: 210600435
|
|
|
|
| |
PiperOrigin-RevId: 210576458
|
|
|
|
|
|
| |
Of {fusable, fusile, fusible} my dictionary only knows about fusible.
PiperOrigin-RevId: 210373347
|
|
|
|
|
|
| |
Also move 'using' statements into namespaces.
PiperOrigin-RevId: 210055083
|
|
|
|
| |
PiperOrigin-RevId: 210018843
|
|
|
|
|
|
|
| |
Unfortunately this has to be one big patch, because e.g. absl::StrCat
doesn't accept a TF StringPiece, but as soon as we switch to
absl::string_view, we have to switch away from all of the TF functions.
PiperOrigin-RevId: 209957896
|
|
|
|
|
|
|
|
| |
instructions.
This will make adding collective instructions slightly easier.
PiperOrigin-RevId: 209864869
|
|
|
|
|
|
|
|
| |
- Remove unused field 'cross_replica_sum_barrier' for Alltoall.
- Update cost analysis. There's no computation in Alltoall.
- Cleanup stale TODOs.
PiperOrigin-RevId: 209814190
|
|
|
|
| |
PiperOrigin-RevId: 209780185
|
|
|
|
| |
PiperOrigin-RevId: 209686671
|
|
|
|
|
|
| |
Now for host compute, we just emit SendToHost & RecvFromHost pairs, and use token to ensure dependency.
PiperOrigin-RevId: 209671416
|
|
|
|
|
|
| |
Same for WrapUnique.
PiperOrigin-RevId: 209531124
|
|
|
|
| |
PiperOrigin-RevId: 209502513
|
|
|
|
| |
PiperOrigin-RevId: 209248552
|
|
|
|
| |
PiperOrigin-RevId: 209247783
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This CL renames the various inputs to the Gather HLO to be more mnemonic by
making it more obviously a batch dynamic-slice. The replacements I made are:
s/elided_window_dims/collapsed_slice_dims/g
s/window_bounds/slice_sizes/g
s/gather_dims_to_operand_dims/start_index_map/g
s/gather_indices/start_indices/g
s/output_window_dims/offset_dims/g
PiperOrigin-RevId: 209051067
|
|
|
|
|
|
|
| |
This is a first step towards supporting grouped convolutions, which are a
generalization of depthwise convolution.
PiperOrigin-RevId: 208950311
|
|
|
|
|
|
| |
For expediency in rolling out support for tokens used for ordering side-effecting ops, infeed and outfeed *optionally* took a token operand. This CL removes that option so all infeed and outfeed instructions take a token operand.
PiperOrigin-RevId: 208927968
|
|
|
|
| |
PiperOrigin-RevId: 207971529
|
|
|
|
|
|
| |
This defines the semantics, and adds parser and shape inference support. Since support is not plumbed through the rest of the compiler here, multi-output reduce is still rejected by the HLO verifier, and is not exposed through XlaBuilder.
PiperOrigin-RevId: 207148035
|
|
|
|
| |
PiperOrigin-RevId: 207045468
|
|
|
|
|
|
|
|
| |
Adds a bit on kSend/kReceive instructions and their Done variants indicated whether the operations communicates with the host or another device (the default). Host send/recv operations are single-sided without a complementary recv/send instruction in another module.
Host send/recv operations are exposed in the XLA builder API as SendToHost and RecvFromHost.
PiperOrigin-RevId: 205008138
|
|
|
|
| |
PiperOrigin-RevId: 204670087
|
|
|
|
| |
PiperOrigin-RevId: 204421652
|
|
|
|
| |
PiperOrigin-RevId: 203997296
|
|
|
|
|
|
|
|
|
|
|
| |
When doing multi-output fusion and using sibling fusion, it can happen that we
don't need to clone the 'instruction_to_fuse' argument. Right now, we clone,
and then delete the clone again, and at the end of the function try to print
the debug string for the clone (which then crashes).
Instead, we can simply not generate the clone if it is not needed, and catch
this case before printing the debug string.
PiperOrigin-RevId: 203733796
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
This is a follow up to cl/202069017 which added tokens as operands to Send and Recv.
PiperOrigin-RevId: 203145403
|
|
|
|
|
|
| |
Send and Recv HLOs now have an additional required operand which must be token-shaped. XLA client interface for these operations is unchanged and will be updated in follow up CLs.
PiperOrigin-RevId: 202993121
|
|
|
|
| |
PiperOrigin-RevId: 202049336
|