syntax = "proto2"; package NV.Profiler.Messages; enum GpuArch { option allow_alias = true; InvalidArch = 0; MinArch = 50; CC_50 = 50; CC_52 = 52; CC_53 = 53; CC_60 = 60; CC_61 = 61; CC_62 = 62; CC_70 = 70; CC_72 = 72; CC_75 = 75; CC_80 = 80; CC_86 = 86; CC_87 = 87; CC_88 = 88; CC_89 = 89; CC_90 = 90; CC_100 = 100; CC_101 = 101; CC_120 = 120; MaxArch = 120; } enum CollectionScope { CollectionScope_Launch = 1; CollectionScope_Range = 2; CollectionScope_Cmdlist = 3; } enum CollectionImportance { CollectionImportance_Required = 1; CollectionImportance_Optional = 2; } message CollectionFilter { // if set, scopes for which to enable collection repeated CollectionScope CollectionScopes = 1; optional CollectionImportance Importance = 2; } enum PlatformSupport { // platform is supported (but not required) Platform_Supported = 1; // platform is not supported Platform_NotSupported = 2; // platform is required Platform_Required = 3; } message MetricOptionFilterItem { // if either one is not set, the respective value from GpuArch is taken optional GpuArch MinArch = 1; optional GpuArch MaxArch = 2; } message MetricOptionFilter { // kept for backwards-compatibility optional GpuArch MinArch = 1; optional GpuArch MaxArch = 2; // setting Items overrides MinArch/MaxArch repeated MetricOptionFilterItem Items = 3; optional CollectionFilter CollectionFilter = 4; optional PlatformSupport VGpu = 5; }