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