package xla

Mouse Melon logoGet desktop application:
View/edit binary Protocol Buffers messages

service DistributedRuntimeService

protocol.proto:122

service XlaService

xla_service.proto:49

/////////////////////// Global data requests

message BufferAllocationProto

hlo.proto:544

Serialization of BufferAllocation.

Used in: BufferAssignmentProto

message BufferAllocationProto.Assigned

hlo.proto:547

Assigned represents a single LogicalBuffer that is assigned to this BufferAllocation.

Used in: BufferAllocationProto

message BufferAssignmentProto

hlo.proto:610

Serialization of BufferAssignment.

Used in: HloProto, cpu.XlaRuntimeCpuExecutableProto

message BufferAssignmentProto.BufferAlias

hlo.proto:613

Alias represents a source LogicalBuffer, and the buffer location that aliases it.

Used in: BufferAssignmentProto

message ChannelHandle

xla_data.proto:404

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: CreateChannelHandleResponse

enum ChannelHandle.ChannelType

xla_data.proto:406

Used in: ChannelHandle, CreateChannelHandleRequest

message CholeskyOptions

xla_data.proto:667

Used in: HloInstructionProto

enum CompilationEvent

xla_data.proto:276

The compilation event that triggered the use of the profile.

Used in: HloModuleProto.ProfileInfo, OpMetadata.ProfileInfo

message CompileOptionsProto

compile_options.proto:73

message ComputationStats

xla_data.proto:252

Statistics of a computation.

Used in: ComputationStatsResponse

message ConvolutionDimensionNumbers

xla_data.proto:564

Used in: HloInstructionProto

message CrossProgramPrefetch

hlo.proto:451

Used in: HloModuleProto

enum CustomCallApiVersion

hlo.proto:47

The version of the API used by the custom call function. The signatures for each version are given below. TODO(b/189822916): Remove this enum when all clients are migrated to the status-returning API.

Used in: HloInstructionProto

message CustomCallOutputOperandAliasing

xla_data.proto:795

Specifies a pair of output/operand buffers for kCustomCall that alias each other.

Used in: HloInstructionProto

enum CustomCallSchedule

hlo.proto:37

Used in: HloInstructionProto

message DebugOptions

xla.proto:25

Debugging options for XLA. These options may change at any time - there are no guarantees about backward or forward compatibility for these fields.

Used in: tpu_driver.CompileRequest, ComputationGraphStatsRequest, ExecutableBuildOptionsProto, ExecutionOptions, xrt.XLAComputationConfig

enum DebugOptions.ShapeChecks

xla.proto:193

Used in: DebugOptions

enum DebugOptions.StepMarkerLocation

xla.proto:223

Used in: tensorflow.tpu.TPUCompileMetadataProto, DebugOptions

message DeviceAssignmentProto

xla_data.proto:427

DeviceAssignmentProto is a serialized form of DeviceAssignment class, which represents the device ids assigned to a set of replicated computations. See xla::DeviceAssignment class comment for more details.

Used in: tensorflow.TPUExecutableInfoProto, tensorflow.tpu.TPUCompileMetadataProto, tpu_driver.ExecuteRequest, ExecutableBuildOptionsProto, ExecutionOptions, HloModuleProto

message DeviceAssignmentProto.ComputationDevice

xla_data.proto:433

Each logical computation runs on replica_count physical devices. ComputationDevice represents the device ids assinged to the replicas.

Used in: DeviceAssignmentProto

message DeviceHandle

xla_data.proto:393

Handle given to a user that represents a replicated virtual device. Each replicated device represents N physical devices for execution where N is the number of replicas.

Used in: ExecutionOptions, GetDeviceHandlesResponse, ResetDeviceRequest, TransferFromOutfeedRequest, TransferToInfeedRequest, TransferToServerRequest

message DeviceProto

protocol.proto:35

Describes a device local to a host.

Used in: LocalTopologyProto

enum DimLevelType

xla_data.proto:117

A DimLevelType indicates the encoding method for a dimension in an array. The semantics of this field are identical to those of the MLIR SparseTensor dialect. This should be kept in sync with the SparseTensor DimLevelType enum: https://github.com/llvm/llvm-project/blob/5674a3c88088e668b684326c2194a6282e8270ff/mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td#L86

Used in: LayoutProto

message DotDimensionNumbers

xla_data.proto:615

Used in: HloInstructionProto, gpu.GemmBackendConfig

message DynamicParameterBindingProto

hlo.proto:416

Used in: HloModuleProto

message DynamicParameterBindingProto.Binding

hlo.proto:440

A list of bindings which indicates that the `target_dim_num` in the subshape `target_param_index` of parameter `target_param_num` is a dynamic dimension and its real dynamic size is represented by `dynamic_param_index` in parameter `dynamic_param_num`. As an example, imagine we have a program: ENTRY main { a = f32[] parameter(0) b = f32[10] parameter(1) ROOT root = (f32[], f32[10]) tuple(%a, %b) } Let's say 'b' (param index 1) is a dynamic shape whose input has an upperbound of 10 and real size is determined at runtime.'a' represents the real size of b's first dimension. In this case, the fields are set in the following way: dynamic_param_num = 1 dynamic_param_index = {} target_param_num = 0 target_param_index = {} target_param_dim = 0

Used in: DynamicParameterBindingProto

message EntryFunctionAttributes

hlo.proto:715

Encodes attributes for an entry function.

Used in: XlaRuntimeExecutableProto

message EntryFunctionAttributes.BufferParameterAttributes

hlo.proto:722

Encodes attributes for a single buffer parameter.

Used in: EntryFunctionAttributes

message EntryFunctionAttributes.ShapeIndex

hlo.proto:717

Acts as the underlying container for an xla::ShapeIndex.

Used in: BufferParameterAttributes

message ExecutableBuildOptionsProto

compile_options.proto:10

A serialization of xla::ExecutableBuildOptions. Next id: 13.

Used in: CompileOptionsProto

message ExecuteGraphRequest

xla.proto:622

TODO(b/118493728): Remove this and ExecuteGraphParallelRequest and replace the uses with calls to Compile and Execute.

Used in: ExecuteGraphParallelRequest

message ExecuteResponse

xla.proto:634

Used as response type in: XlaService.Execute

Used as field type in: ExecuteParallelResponse

message ExecutionHandle

xla_data.proto:379

Handle given to a user that represents an execution that the user launched asynchronously on the device.

Used in: CompileResponse, ExecuteRequest, WaitForExecutionRequest

message ExecutionOptions

xla.proto:444

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: CompileRequest, ExecuteGraphRequest

message ExecutionProfile

xla_data.proto:346

Profile data from the execution of a computation.

Used in: ExecuteResponse, WaitForExecutionResponse

enum FftType

xla_data.proto:607

Used in: HloInstructionProto

message FrontendAttributes

xla_data.proto:675

Generic map of attributes used to pass hints / configuration options from the Python frontend to the XLA backend.

Used in: HloInstructionProto

message GatherDimensionNumbers

xla_data.proto:523

Describes the dimension numbers for a gather operation. See https://www.tensorflow.org/performance/xla/operation_semantics#gather for more details.

Used in: HloInstructionProto

message GlobalDataHandle

xla_data.proto:386

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: DeconstructTupleRequest, DeconstructTupleResponse, ExecuteGraphRequest, ExecuteRequest, ExecuteResponse, GetShapeRequest, LoadDataResponse, TransferToClientRequest, TransferToServerResponse, UnpackRequest, UnpackResponse, UnregisterRequest, WaitForExecutionResponse

message GlobalTopologyProto

protocol.proto:52

Used in: tensorflow.XlaDeviceList, EnumerateDevicesResponse

message HeapSimulatorTrace

hlo.proto:567

A trace of a HeapSimulator run.

Used in: BufferAssignmentProto

message HeapSimulatorTrace.Event

hlo.proto:570

The trace includes a list of events, where each event describes one action performed by the heap simulator.

Used in: HeapSimulatorTrace

enum HeapSimulatorTrace.Event.Kind

hlo.proto:571

Used in: Event

message HloComputationProto

hlo.proto:338

Serialization of HloComputation.

Used in: HloModuleProto

message HloExecutionProfileData

hlo_execution_profile_data.proto:24

message HloInputOutputAliasProto

hlo.proto:388

Used in: HloModuleProto

message HloInputOutputAliasProto.AliasEntryProto

hlo.proto:402

The following proto describes a pair of aliased an input (described by parameter number and a ShapeIndex of the parameter) and an output (described by a ShapeIndex of the root instruction). For example: entry = { output_shape_index={1}, parameter_number=0, parameter_shape_index={1, 2}, } This entry indicates that the first paremter's {1, 2} element is aliased with the {1} element of the root instruction.

Used in: HloInputOutputAliasProto

message HloInstructionProto

hlo.proto:94

Serialization of HloInstruction. Next ID: 80

Used in: HloComputationProto, gpu.ConvInstructionLog

message HloInstructionProto.SliceDimensions

hlo.proto:150

Describes the [begin, end) index range and stride for slices.

Used in: HloInstructionProto

message HloModuleGroupProto

hlo.proto:604

An abstraction representing a set of HLO module built to run concurrently across different devices.

message HloModuleMetadataProto

hlo.proto:653

Metadata for an HLO module. Dumped after HLO passes and before LLO lowering with filename module_####.metadata.textproto, where #### is canonical_module_id.

message HloModuleProto

hlo.proto:457

Serialization of HloModule.

Used in: tensorflow.XlaSerializedCacheEntry, tensorflow.tpu.UserDefinedProgramParameters, CompileRequest, ComputationGraphStatsRequest, ComputeConstantGraphRequest, ExecuteGraphRequest, HloModuleGroupProto, HloProto, XlaRuntimeExecutableProto

message HloModuleProto.ProfileInfo

hlo.proto:502

Information about the optimization profile that this module contains.

Used in: HloModuleProto

enum HloModuleProto.ProfileType

hlo.proto:493

The type of optimization profile in use for module-level optimizations.

Used in: ProfileInfo

message HloPassMetadata

hlo.proto:680

Metadata for one run of an HLO pass on a module. Provides more information when processing debug dumps of HloProtos about the order of HLO passes and various other stats like duration. `pass_id` may also be used to identify a particular run of a pass in debug info that propagates through stages of compilation.

Used in: HloModuleMetadataProto

message HloProfilePrinterData

hlo_profile_printer_data.proto:24

Describes how to pretty-print a profile counter array gathered for a specific HloModule.

Used in: HloExecutionProfileData

message HloProfilePrinterData.HloComputationInfo

hlo_profile_printer_data.proto:44

Pretty-printer information about an HloComputation.

Used in: HloProfilePrinterData

message HloProfilePrinterData.HloInstructionInfo

hlo_profile_printer_data.proto:26

Pretty-printer information about an HloInstruction.

Used in: HloComputationInfo

message HloProto

hlo.proto:625

Grouping message that contains all of the information above.

Used in: tensorflow.tpu.CompilationResultProto, tpu_driver.CompileRequest, HloSnapshot

message HloScheduleProto

hlo.proto:369

Serialization of an HLO schedule. An HLO schedule contains a total order of instructions for each non-fusion computation in the module.

Used in: HloModuleProto

message HloScheduleProto.InstructionSequence

hlo.proto:370

Used in: HloScheduleProto

message HloSnapshot

hlo.proto:636

Encapsulates HloProto together with the arguments, result, and execution_platform. This message is used for purposes such as analysis/replay/file-storage.

Used in: tensorflow.TPUExecutableInfoProto, xrt.XLAComputation

enum Kind

hlo.proto:378

Used in: HloInputOutputAliasProto.AliasEntryProto

message LayoutProto

xla_data.proto:148

A layout describes how the array is placed in (1D) memory space. This includes the minor-to-major ordering of dimensions within a shape. 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. LINT.IfChange

Used in: ComputeConstantGraphRequest, ShapeProto, gpu.BitcastBackendConfig

message LiteralProto

xla_data.proto:445

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: ComputeConstantResponse, HloInstructionProto, HloSnapshot, RunHloModuleIterationLiterals, TransferFromOutfeedResponse, TransferToClientResponse, TransferToInfeedRequest, TransferToServerRequest, xrt.XLAAllocation

message LocalTopologyProto

protocol.proto:47

Used in: EnumerateDevicesRequest, GlobalTopologyProto

message LogicalBufferProto

hlo.proto:521

Serialization of LogicalBuffer.

Used in: BufferAssignmentProto

message LogicalBufferProto.Location

hlo.proto:524

Location represents an instruction and its shape index, which uniquely identifies a point where a buffer is needed.

Used in: BufferAssignmentProto.BufferAlias, LogicalBufferProto

message OpMetadata

xla_data.proto:286

Symbolization metadata for HLO Instructions. This metadata is used for debugging XLA code generation, as well as performance profiling of XLA-generated executables.

Used in: HloInstructionProto, OpSharding

message OpMetadata.ProfileInfo

xla_data.proto:327

Information about the optimization profile that this operation contains.

Used in: OpMetadata

message OpSharding

xla_data.proto:680

LINT.IfChange

Used in: tensorflow.tpu.TPUCompileMetadataProto.Arg, tensorflow.tpu.TPUCompileMetadataProto.Retval, HloInstructionProto, HloModuleProto

enum OpSharding.Type

xla_data.proto:681

Used in: OpSharding

message PaddingConfig

xla_data.proto:94

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: HloInstructionProto

message PaddingConfig.PaddingConfigDimension

xla_data.proto:96

Describes the padding configuration for a dimension.

Used in: PaddingConfig

enum PaddingType

xla_data.proto:601

Used in: HloInstructionProto

message ParameterReplication

xla_data.proto:766

Describes whether all data-parallelism replicas will receive the same parameter data at each buffer.

Used in: HloInstructionProto

message PrecisionConfig

xla_data.proto:749

Used to indicate the precision configuration. It has backend specific meaning.

Used in: HloInstructionProto, gpu.GemmBackendConfig

enum PrecisionConfig.Precision

xla_data.proto:750

Used in: PrecisionConfig

enum PrimitiveType

xla_data.proto:27

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. LINT.IfChange

Used in: tensorflow.TPUHostTransferProto, ShapeProto

enum ProfileSource

xla_data.proto:269

The source of the optimization profile.

Used in: HloModuleProto.ProfileInfo, OpMetadata.ProfileInfo

enum ProfileType

xla_data.proto:261

The type optimization profiles in use for Op-level optimizations.

Used in: OpMetadata, OpMetadata.ProfileInfo

message ProgramShapeProto

xla_data.proto:245

Shape of the parameters and output of a computation (like a traditional function signature).

Used in: tpu_driver.CompiledProgramMetadata, HloComputationProto, HloModuleProto, xrt.XLAComputationConfig

enum RandomAlgorithm

xla_data.proto:640

Used in: HloInstructionProto

enum RandomDistribution

xla_data.proto:626

Used in: HloInstructionProto

message ReplicaGroup

xla_data.proto:735

Describes the replica groups in a cross replica op (e.g., all-reduce and all-to-all).

Used in: HloInstructionProto

message RunHloModuleIterationLiterals

run_hlo_module.proto:7

Used in: RunHloModuleLiterals

message RunHloModuleLiterals

run_hlo_module.proto:18

message ScatterDimensionNumbers

xla_data.proto:554

Describes the dimension numbers for a scatter operation. All the fields are similar to the corresponding fields in GatherDimensionNumbers. Differences are noted below.

Used in: HloInstructionProto

message ShapeProto

xla_data.proto:207

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. LINT.IfChange

Used in: tensorflow.TPUExecutableInfoProto, tensorflow.TPUHostTransferProto, tpu_driver.AllocateRequest, CompileOptionsProto, CompileRequest, ExecutableBuildOptionsProto, ExecutionOptions, GetShapeResponse, HloInstructionProto, LayoutProto, LiteralProto, LoadDataRequest, LoadDataResponse, OpSharding, ProgramShapeProto, TransferFromOutfeedRequest, TransferToClientRequest, gpu.ConvInstructionLog

message SourceTarget

xla_data.proto:742

Describes the source target pair in the collective permute op.

Used in: HloInstructionProto

message TileProto

xla_data.proto:130

Describes a tile used in tiling-based layout. Refer to g3doc/third_party/tensorflow/compiler/xla/g3doc/tiled_layout.md for details about tiling-based layout.

Used in: LayoutProto

message TriangularSolveOptions

xla_data.proto:647

Used in: HloInstructionProto

enum TriangularSolveOptions.Transpose

xla_data.proto:658

Should we transpose or use the adjoint of 'a'?

Used in: TriangularSolveOptions

message WhileLoopBackendConfig

xla_data.proto:784

A backend-config for kWhile loops that stores the loop's trip count, if it is known. This is useful for backends that can implement a `for i in 0..N` loop more efficiently than a `while` loop. For example, on GPUs, we can implement a `for i in 0..N` loop by enqueueing the kernels for the loop body N times, whereas implementing a `while` loop requires a host-device sync on each iteration.

message WhileLoopBackendConfig.KnownTripCount

xla_data.proto:785

Used in: WhileLoopBackendConfig

message Window

xla_data.proto:515

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: HloInstructionProto

message WindowDimension

xla_data.proto:468

Used in: Window

message XlaRuntimeExecutableProto

hlo.proto:749

Encodes the underlying Xla runtime executable compiled from the XLA module.

Used in: cpu.XlaRuntimeCpuExecutableProto, gpu.XlaRuntimeGpuExecutableProto