1syntax = "proto3";
2
3package tensorflow.profiler;
4
5// Next ID: 15
6message KernelReport {
7  // Name of the kernel.
8  string name = 1;
9  // Registers per thread.
10  uint32 registers_per_thread = 2;
11  // Static shared memory in bytes.
12  uint32 static_shmem_bytes = 3;
13  // Dynamic shared memory in bytes.
14  uint32 dynamic_shmem_bytes = 4;
15  // Block dimensions.
16  repeated uint32 block_dim = 5;
17  // Grid dimensions.
18  repeated uint32 grid_dim = 6;
19  // Total duration of this kernel.
20  uint64 total_duration_ns = 7;
21  // Min duration of kernel in nanoseconds.
22  uint64 min_duration_ns = 8;
23  // Max duration of kernel in nanoseconds.
24  uint64 max_duration_ns = 9;
25  // Kernel utilizes TensorCore instructions.
26  bool is_kernel_using_tensor_core = 10;
27  // Operation is eligible to use TensorCores.
28  bool is_op_tensor_core_eligible = 11;
29  // TF operation name.
30  string op_name = 12;
31  // Number of occurrences.
32  uint32 occurrences = 13;
33  // Occupancy percentage.
34  float occupancy_pct = 14;
35}
36
37message KernelStatsDb {
38  // A list of kernels aggregated by name.
39  repeated KernelReport reports = 1;
40}
41