File: RuleResults.proto

package info (click to toggle)
nvidia-cuda-toolkit 12.4.1-2
  • links: PTS, VCS
  • area: non-free
  • in suites: trixie
  • size: 18,505,836 kB
  • sloc: ansic: 203,477; cpp: 64,769; python: 34,699; javascript: 22,006; xml: 13,410; makefile: 3,085; sh: 2,343; perl: 352
file content (135 lines) | stat: -rw-r--r-- 4,290 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
         
syntax = "proto2";
package NV.RuleSystem;
import "ProfilerSection/ProfilerSection.proto";
// =============================================================================
// MESSAGE
// Simple message that stores a single string
//
// TYPES
// None         - No message available
// Ok           - Informative, non-actionable message
// Warning      - Non-fatal warnings, e.g. about as missing metrics
// Error        - Execution errors/failures during rule execution,
//                e.g. syntax error in Python script
// Optimization - Message about performance optimization potential;
//                should be actionable
// =============================================================================
enum RuleResultMessageType
{
    None = 0;
    Ok = 1;
    Warning = 2;
    Error = 3;
    Optimization = 4;
}
message RuleResultMessage
{
    required string Message = 1;
    required RuleResultMessageType Type = 2;
    optional int32 Id = 3;
    optional string Name = 4;
}
message RuleResultProposal
{
    required string Identifier = 1;
}
// =============================================================================
// POTENTIAL SPEEDUP
// Stores SpeedupType and Value of the estimated maximal achievable speedup
//
// TYPE
// Unknown - not set
// Local - value represents increase in hardware efficiency in isolated context
// Global - value represents decrease in overall kernel runtime
// 
// VALUE
// Expected to be in the range [0, 100], as it represents a percentage
// =============================================================================
enum RuleResultSpeedupType
{
    Unknown = 0;
    Local = 1;
    Global = 2;
}
message RuleResultSpeedup
{
    optional RuleResultSpeedupType SpeedupType = 1;
    optional double Value = 2;
}
enum RuleResultFocusSeverity
{
    Default = 0;
    Low = 1;
    High = 2;
}
message RuleResultFocusMetric
{
    optional int32 MessageId = 1;
    optional string MetricName = 2;
    optional double MetricValue = 3;
    optional RuleResultFocusSeverity Severity = 4;
    optional string Info = 5;
}
// =============================================================================
// SOURCEMARKER
// Icon and tooltip text that gets shown on lines in the Source Page
// =============================================================================
enum MarkerKind
{
    SASS = 0;
    Source = 1;
}
message SourceMarker
{
    optional MarkerKind Kind = 1;
    oneof source_location
    {
        uint32 LineNumber = 2;
        uint64 Address = 3;
    }
    optional string Tooltip = 4;
    optional RuleResultMessageType Type = 5;
    optional string FileName = 6;
}
// =============================================================================
// BODY ITEM
// A single body item
// =============================================================================
message RuleResultBodyItem
{
    optional RuleResultMessage Message = 1;
    optional NV.Profiler.ProfilerSectionTable Table = 2;
    optional NV.Profiler.ProfilerSectionBarChart BarChart = 3;
    optional NV.Profiler.ProfilerSectionHistogramChart HistogramChart = 4;
    optional NV.Profiler.ProfilerSectionLineChart LineChart = 5;
    optional RuleResultProposal Proposal = 6;
    optional NV.Profiler.ProfilerSectionRooflineChart RooflineChart = 7;
    repeated RuleResultFocusMetric FocusMetrics = 8;
    optional NV.Profiler.ProfilerSourceMetricTable SourceMetricTable = 9;
    optional RuleResultSpeedup Speedup = 10;
    optional NV.Profiler.ProfilerSuffixTable SuffixTable = 11;
}
// =============================================================================
// BODY
// Any number of items that are shows when the results are expanded
// =============================================================================
message RuleResultBody
{
    repeated RuleResultBodyItem Items = 1;
}
// =============================================================================
// RESULT
// =============================================================================
message RuleResult
{
    required string Identifier = 1;
    required string DisplayName = 2;
    optional RuleResultBody Body = 3;
    optional string SectionIdentifier = 4;
    repeated SourceMarker SourceMarkers = 5;
}
message RuleResults
{
    repeated RuleResult RuleResults = 1;
}