Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
Used in:
Arithmetic operations.
Comparison operators.
Dot product, matrix multiply.
Indexes into the LHS with the RHS. If the RHS is higher-rank, this is a gather operation. Note: currently out of bounds indices may crash the underlying XLA machine.
Element-wise maximum.
Element-wise minimum.
Raises the left-hand-side to the right-hand-side power.
Remainder operation.
Logical operators
Used in:
Used in:
Handle given to a user to represent a channel between two computations via a Send and Recv instruction pair. Channels are unbuffered, so Send Send instructions will be blocked until the data is transferred.
Used in: , ,
Handle given to a user that represents a data result in a computation. This is used to pass to subsequent computations that depends upon the data as an operand.
Used in: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
Handle given to a user that represents a computation that the user builds up before execution.
Used in: , , , , , , , , , , , , , , , , , , ,
Statistics of a computation.
Used in:
The number of floating point operations in the computation.
The number of transcendental operations (e.g., exp) in the computation.
Used in:
The dimension in which we concatenate; e.g. if you had dimension arrays of [4, 1] and [5, 1], you'd concatenate in dimension 0 to produce a [9, 1]. Attempting to concatenate those in dimension 1 would produce an error, as 4 != 5 (and there is no ragged array support).
Used in:
Used in:
Used in:
The number of the dimension that represents batch in the input (lhs) and output.
The number of the dimension that represents features in the input (lhs) and output.
The dimension numbers for the spatial dimensions that the window moves through in the input (lhs) and output.
The number of the dimension that represents input features in the convolutional kernel (rhs).
The number of the dimension that represents output features in the convolutional kernel (rhs).
The dimension numbers for the spatial dimensions that the window moves through in the kernel (rhs). window.strides(0) is the stride in the kernel_spatial_dimensions(0) dimension.
Used in:
This is the filter/kernel.
Describes the filter/kenel.
(message has no fields)
Used in:
Used in:
Handle given to a user that represents a device to execute a computation. When replication is enabled, the device handle represents the device for the replica id 0.
Used in: , , , ,
Used in:
Operand from which to slice at dynamic 'start_indices'.
Dynamically computed 'start_indices' for slice operation.
Slice sizes for each dimension (note that indices calculations are computed modulo dimension sizes to avoid out-of-bound array accesses).
Used in:
Operand on which slice 'update' is to be applied.
The slice update to apply to 'operand'.
Dynamically computed start indices for the update slice operation.
Options that affect how XLA compiles and runs code to service this request.
A handle to the execution launched asynchronously.
Used in:
This optional field specifies a particular device to run the computation. If not provided, the default device will be chosen.
Options that affect how XLA compiles and runs code to service this request.
Used in:
Handle given to a user that represents an execution that the user launched asynchronously on the device.
Used in: ,
These settings control how XLA compiles and/or runs code. Not all settings will have an effect on every platform. When adding new fields, keep in mind that boolean fields default to false.
Used in: ,
When false, "unsafe" mathematical optimizations are enabled. These transformations include but are not limited to: - Reducing the precision of operations (e.g. using an approximate sin function, or transforming x/y into x * (1/y)). - Assuming that operations never produce or consume NaN or +/- Inf. - Assuming that +0 and -0 are indistinguishable.
This optional field's layout is used as a hint when storing the output of this computation. Subsequent transfers of this output array to the client may be faster when using this layout. We use a Shape here to accommodate computations that return a tuple.
Used to seed random-number generators used in this computation. If this is 0, we generate a seed ourselves. TODO(b/32083678): Changing the seed unnecessarily forces a recompilation.
Profile data from the execution of a computation.
Used in: ,
Whether the executable was read from the compilation cache.
The time in milliseconds spent to compile the computation. This only set if the executable was not read from the compilation cache (compilation_cache_hit == false).
The number of cycles spent for the computation. This does not include the time taken for the data transfers between the host and the device. This is a target-dependent field and only used for debugging purposes.
The time in nanoseconds spent for the computation, without data transfer.
The time in nanoseconds spent for the entire computation, including the result data transfer time. Current implementation does not spend any cycles for the input data transfer since the memory is initialized with the proper values before the execution.
Used in:
Handle given to a user that represents a globally accessible allocation. Contrast this against a ComputationDataHandle, which is not globally accessible, since it only exists within a specific computation.
Used in: , , , , , , , , , , , , , , , ,
Used in:
The shape of the data returned by reading the device's infeed buffer.
Additional infeed configuration for the backend.
A layout describes how the array is placed in (1D) memory space. This includes the minor-to-major ordering of dimensions within a shape, as well as any padding present in those dimensions. Clients must specify the layouts of input Literals to the computation. Layouts specified in interior operations which take Shapes (for example, Convert) are ignored. See the XLA documentation for more information on shapes and layouts.
Used in: ,
Sequence of dimension numbers, from minor (fastest varying index) to major (slowest varying index). This field is required.
The width to which the layout of each dimension is padded up to. If present, the size of the padded_dimensions must equal the rank of the shape. The padding appears at the end of a dimension, not at the beginning. This kind of padding, unlike padding in e.g. convolution, is not part of the shape.
Describes the values in the padding specified by padded_dimensions.
Literals are used when the server and client need to exchange materialized data / results. Literals are also used to describe constants used in computations. Transfers to/from the client are encoded in literal form, and the structure of the repeated fields is implied by the shape.
Used in: , , , ,
Describes the path of the ColumnIO tablet to load.
Describes the field to load within the ColumnIO tablet.
Individual element shape, excluding rows.
Warning: ColumnIO does not support random-access, so use offset with caution in performance-critical scenarios.
Maximum number of elements (with shape element_shape) to load.
If more than one item is requested (via limit > 1), then this request attribute zips together the produced vectors.
Used in:
Used in:
Next: 33
Describes a single operation request.
Used in:
For operations which call embedded computations such as "Map", these are the version(s) that the embedded computation should be called at. A version value of a computation is the ComputationDataHandle of the root of the computation at the point in time. "Call", "Map", "Reduce", and "ReduceWindow" operations take a single embedded computation so this field will have a single value for those operations. "While" operation takes two; index 0 is the "condition" version and index 1 is the "body" version.
The actual request, which in itself is a tagged union of all possible operation request types.
Used in: ,
Operand to the Outfeed. Supports tuple.
Backend-specific information for how to perform the outfeed.
Used in:
Describes the padding configuration for Pad operation. The padding amount on both edges as well as between the elements are specified for each dimension.
Used in:
The padding configuration for all dimensions.
Describes the padding configuration for a dimension.
Used in:
Padding amount on the low-end (next to the index 0).
Padding amount on the high-end (next to the highest index).
Padding amount between the elements.
Describes the value held inside padding elements.
Used in:
Zero padding must be 0-values that correspond to the shape's element type.
One padding must be 1-values that correspond to the shape's element type.
"Lowest" padding must be the lowest values in the shape's element type, used as padding for operations like max-accumulation.
"Highest" padding must be the largest values in the shape's element type, used as padding for operations like min-accumulation.
Unknown padding could be anything; e.g. floating NaNs!
Used in:
Primitive types are the individual values that can be held in rectangular multidimensional arrays. A description of the rectangular multidimensional array dimensions / primitive type is given by Shape, below.
Used in: ,
Invalid primitive type to serve as default.
Predicates are two-state booleans.
Signed integral values of fixed width.
Unsigned integral values of fixed width.
Floating-point values of fixed width. Note: if f16s are not natively supported on the device, they will be converted to f16 from f32 at arbirary points in the computation.
A tuple is a polymorphic sequence; e.g. a shape that holds different sub-shapes. They are used for things like returning multiple values from a computation; e.g. a computation that returns weights and biases may have a signature that results in a tuple like (f32[784x2000], f32[2000]) Tuples are currently special in that they may only be rank 0.
An opaque type used for passing context specific data to a custom operation.
Shape of the parameters and output of a computation (like a traditional function signature).
Used in:
Used in:
Creates a uniform-distribution-generated random number on the semi-open interval [parameter[0], parameter[1]).
Creates a normal-distribution-generated random number with mean parameter[0] and standard deviation parameter[1].
Creates a Bernoulli-distribution-generated random number with mean parameter[0].
Used in:
Used in:
Operand to the reduction.
Initial value for the reduction. This must be consistent with the result shape of to_apply.
The dimensions to reduce over.
The computation to apply in the reduction.
Used in:
(message has no fields)
Used in:
The dimension order for collapse (from fastest-changing to slowest).
The new dimension sizes (from dimension 0 to n-1).
Used in:
Used in:
Used in:
Operand array on which the windows slide.
Source array for the data to scatter.
Initial scalar value for each element in the output.
Window configuration.
Binary function used to select an element from each window.
Binary function used to combine each scattered value from source with the current output value at the selected location.
Used in: ,
Describes a sequence of operation requests which define an XLA computation.
Used in:
The ComputationHandle used to refer to this computation in the XLA service.
Map from ComputationDataHandle value to operation request. The highest ComputationDataHandle value corresponds to the root of the computation.
The list of Trace requests in this SessionComputation.
The list of Send requests in this SessionComputation.
The list of Outfeed requests in this SessionComputation.
Describes a group of SessionComputations with an "entry point" computation that may refer to the other non-entry (AKA embedded) computations. This message is used to serialize a computation that has been built via the XLA service API, along with its dependencies, for purposes such as analysis/replay/file-storage.
Used in: ,
The entry computation, which was requested for serialization. This may have referred to embedded computations, which are reflected below.
Embedded computations that are transitively referred to by the entry computation.
The arguments passed to the computation.
The result of the computation.
The name of the platform used to run the computation.
(message has no fields)
A shape describes the number of dimensions in the array, the size of each dimension, and the primitive component type. Tuples are a special case in that they have rank zero and have tuple_shapes defined. See the XLA documentation for more information on shapes and layouts.
Used in: , , , , , , , , , , , , , ,
The element type for this shape.
The size (number of elements) for each dimension. In XLA, dimensions are numbered from 0 to N-1 for an N-dimensional array. The first element of 'dimensions' is the size of dimension 0, the second element is the size of dimension 1, and so forth. Empty list indicates a scalar.
For tuples only, the shapes of constitutent shapes in the tuple sequence.
The layout used to back this shape.
Used in:
(message has no fields)
Used in:
Used in:
Given a predicate and two operands, selects operand0 if the predicate is true and operand1 if the predicate is false.
Updates operand0 at index operand1 with value operand2 and outputs the updated value.
Given a min, max and an operand returns the operand if between min and max, else returns min if operand is less than min or max if operand is greater than max.
Used in: ,
(message has no fields)
This optional field directs the service to return the literal in this layout. A shape is used to hold the layout to accomodate tuples.
(message has no fields)
Used in:
Used in:
Elementwise, logical negation
Elementwise, computes e^x.
Elementwise, computes -x.
Puts the elements in the operand into sorted order.
Elementwise, computes tanh(x).
Elementwise, computes the natural logarithm of x.
Elementwise, computes the floor of x.
Elementwise, computes the ceil of x.
Elementwise, computes the abs of x.
Elementwise, computes the sign of x.
(message has no fields)
Used in:
Used in:
Creates a tuple from its operands.
Used in:
Describes the windowing in an operation such as convolution. The window is moved across a base area and for each position of the window a computation is performed. The field below describes the window and the movement of the window across a base area.
Used in: , ,
Used in:
The size of the window in this dimension. For a rectangle, this would be the width or height.
The stride at which the window moves across the base area in this dimension. In other words, this is the spacing between different positions of the window in this dimension.
If positive, means the amount of padding with zeroes to add to the base area at the low end of this dimension; if negative, its negative means the number of elements removed from the low end of this dimension. For example, in the horizontal dimension of a rectangle, this would be the number of zeroes to pad on the left, given that indices increase when going right.
As padding_low, but on the high end of this dimension. For example, in the horizontal dimension of a rectangle, this would be the number of zeroes to pad on the right, given that indices increase when going right.
Dilation factor of the sliding window in this dimension. A dilation factor of 1 means no dilation. window_dilation - 1 no-op entries ("holes") are implicitly placed between each kernel element. See documentation for convolution.
Dilation factor of the base area in this dimension. A dilation factor of 1 means no dilation. base_dilation - 1 no-op entries ("holes") are implicitly placed between each base area element. See documentation for convolution.