Get desktop application:
View/edit binary Protocol Buffers messages
Measurements of an operation (or aggregated set of operations). Metrics are always "total" rather than "self".
Used in:
Core-time taken by this operation, as a fraction of all operations.
Floating point computations performed by this operation, as a fraction of peak core FLOPS * program time. This representation has useful properties: - it is proportional to the number of floating point operations performed - utilization is flops/time - wasted potential flops is proportional to time - flops - it does not reveal the peak core FLOPS of the hardware
Elapsed core-time in picoseconds.
Total floating-point operations performed.
An entry in the profile tree. (An instruction, or set of instructions).
Used in:
Semantics depend on contents.
May be omitted e.g. for fused instructions.
Details about what this node represents.
A category of XLA instructions. name is a descriptive string, like "data formatting".
Used in:
(message has no fields)
A single XLA instruction. name is the unique instruction id, like "%multiply.5".
Used in:
Opcode like %multiply
%multiply = [shape]multiply(operand1, operand2)
Typically the TensorFlow operation name.
Describes the physical memory layout of the instruction's primary input. e.g. for a convolution, this analyzes the image and ignores the kernel.
Used in:
The physical data layout, from most-minor to most-major dimensions.
Used in:
Size of the data in this dimension.
Data must be padded to a multiple of alignment.
What the dimension represents, e.g. "spatial".
Profile is the top-level data that summarizes a program.
Used in:
Root of a profile broken down by instruction category.
Root of a profile broken down by program structure.