Files
TheRock/rocm-systems/projects/rocprofiler-systems/source/bin/common/presets/schema.json
T
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

534 lines
20 KiB
JSON

{
"$defs": {
"apiDomainField": {
"additionalProperties": true,
"description": "An API tracing domain with enabled toggle",
"properties": {
"category": {
"type": "string"
},
"description": {
"type": "string"
},
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
],
"type": "object"
},
"enabledField": {
"additionalProperties": true,
"description": "A simple enabled/disabled toggle",
"properties": {
"description": {
"type": "string"
},
"enabled": {
"type": "boolean"
}
},
"required": [
"enabled"
],
"type": "object"
},
"intValueField": {
"additionalProperties": true,
"description": "A field with an integer value",
"properties": {
"description": {
"type": "string"
},
"typical_range": {
"items": {
"type": "integer"
},
"maxItems": 2,
"minItems": 2,
"type": "array"
},
"unit": {
"type": "string"
},
"value": {
"type": "integer"
}
},
"required": [
"value"
],
"type": "object"
},
"metricField": {
"additionalProperties": true,
"description": "A hardware metric with enabled toggle",
"properties": {
"category": {
"type": "string"
},
"description": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"unit": {
"type": "string"
}
},
"required": [
"enabled"
],
"type": "object"
},
"numberValueField": {
"additionalProperties": true,
"description": "A field with a numeric value (integer or float)",
"properties": {
"description": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"value"
],
"type": "object"
},
"runtimeField": {
"additionalProperties": true,
"description": "A parallel runtime with enabled toggle",
"properties": {
"category": {
"type": "string"
},
"description": {
"type": "string"
},
"enabled": {
"type": "boolean"
},
"requires": {
"type": "string"
}
},
"required": [
"enabled"
],
"type": "object"
},
"stringOrArrayValueField": {
"additionalProperties": true,
"description": "A field with a string or array value",
"properties": {
"description": {
"type": "string"
},
"value": {
"oneOf": [
{
"type": "string"
},
{
"items": {
"type": "string"
},
"type": "array"
}
]
}
},
"required": [
"value"
],
"type": "object"
},
"stringValueField": {
"additionalProperties": true,
"description": "A field with a string value",
"properties": {
"description": {
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"value"
],
"type": "object"
}
},
"$id": "https://rocm.docs.amd.com/projects/rocprofiler-systems/presets/schema.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"description": "Schema for rocprofiler-systems preset configuration files. Use with --preset=<name> in rocprof-sys-run or rocprof-sys-sample.",
"properties": {
"advanced": {
"additionalProperties": false,
"description": "Advanced configuration options",
"properties": {
"collapse_threads": {
"$ref": "#/$defs/enabledField",
"description": "Collapse thread data into process-level view"
},
"cpu_affinity": {
"$ref": "#/$defs/enabledField",
"description": "Enable CPU affinity tracking"
},
"debug": {
"$ref": "#/$defs/enabledField",
"description": "Enable debug output"
},
"max_depth": {
"$ref": "#/$defs/intValueField",
"description": "Maximum call stack depth to record"
},
"network_interface": {
"$ref": "#/$defs/stringValueField",
"description": "Network interface for distributed profiling (e.g., 'eth0', 'ib0')"
},
"timemory_components": {
"$ref": "#/$defs/stringOrArrayValueField",
"description": "Timemory components to enable (e.g., 'wall_clock', 'cpu_clock')"
},
"trace_delay_sec": {
"$ref": "#/$defs/numberValueField",
"description": "Delay before starting trace collection (seconds)"
},
"trace_duration_sec": {
"$ref": "#/$defs/numberValueField",
"description": "Duration of trace collection in seconds (0 = until end)"
},
"trace_periods": {
"$ref": "#/$defs/stringValueField",
"description": "Periodic trace intervals (format: start:stop or start1:stop1,start2:stop2)"
},
"verbose": {
"$ref": "#/$defs/intValueField",
"description": "Verbosity level (0=quiet, 1=info, 2=debug)"
}
},
"type": "object"
},
"causal": {
"additionalProperties": false,
"description": "Causal profiling for identifying optimization opportunities",
"properties": {
"backend": {
"$ref": "#/$defs/stringValueField",
"description": "Causal profiling backend: 'auto', 'perf', or 'timer'"
},
"binary_scope": {
"$ref": "#/$defs/stringValueField",
"description": "Binary scope for causal profiling (e.g., '%MAIN%')"
},
"enabled": {
"default": false,
"description": "Enable causal profiling",
"type": "boolean"
},
"end_to_end": {
"$ref": "#/$defs/enabledField",
"description": "Enable end-to-end causal profiling"
},
"function_scope": {
"$ref": "#/$defs/stringValueField",
"description": "Function scope regex for causal profiling"
},
"mode": {
"$ref": "#/$defs/stringValueField",
"description": "Causal profiling mode: 'function' or 'line'"
},
"source_scope": {
"$ref": "#/$defs/stringValueField",
"description": "Source file scope regex for causal profiling"
}
},
"type": "object"
},
"domains": {
"additionalProperties": false,
"description": "Profiling domains for different hardware and software subsystems",
"properties": {
"cpu": {
"additionalProperties": false,
"description": "CPU profiling domain",
"properties": {
"enabled": {
"description": "Enable CPU metric collection",
"type": "boolean"
},
"metrics": {
"additionalProperties": {
"$ref": "#/$defs/metricField"
},
"description": "CPU metrics to collect",
"type": "object"
}
},
"type": "object"
},
"gpu": {
"additionalProperties": false,
"description": "AMD GPU metrics domain (AMD SMI)",
"properties": {
"enabled": {
"description": "Enable GPU metric collection via AMD SMI",
"type": "boolean"
},
"metrics": {
"additionalProperties": {
"$ref": "#/$defs/metricField"
},
"description": "Individual GPU metrics to collect",
"type": "object"
},
"sampling_rate_hz": {
"$ref": "#/$defs/intValueField",
"description": "GPU metric sampling frequency in Hz"
},
"unified_memory_profiling": {
"$ref": "#/$defs/enabledField",
"description": "Enable unified memory profiling reports from KFD page fault and migration events. Requires HSA_XNACK=1 on a supported GPU and automatically enables the required KFD tracing domains."
}
},
"type": "object"
},
"parallel": {
"additionalProperties": false,
"description": "Parallel runtime tracing domain",
"properties": {
"enabled": {
"description": "Enable parallel runtime tracing",
"type": "boolean"
},
"runtimes": {
"additionalProperties": {
"$ref": "#/$defs/runtimeField"
},
"description": "Individual parallel runtimes to trace",
"properties": {
"kokkos": {
"$ref": "#/$defs/runtimeField"
},
"mpi": {
"$ref": "#/$defs/runtimeField"
},
"openmp": {
"$ref": "#/$defs/runtimeField"
},
"rccl": {
"$ref": "#/$defs/runtimeField"
},
"shmem": {
"$ref": "#/$defs/runtimeField"
}
},
"type": "object"
}
},
"type": "object"
},
"rocm": {
"additionalProperties": false,
"description": "ROCm API tracing domain",
"properties": {
"api_domains": {
"additionalProperties": {
"$ref": "#/$defs/apiDomainField"
},
"description": "Individual ROCm API domains to trace",
"type": "object"
},
"enabled": {
"description": "Enable ROCm API tracing (implicitly enables tracing)",
"type": "boolean"
},
"group_by_queue": {
"$ref": "#/$defs/enabledField",
"description": "Group GPU operations by hardware queue"
}
},
"type": "object"
}
},
"type": "object"
},
"hardware_counters": {
"additionalProperties": false,
"description": "Hardware performance counter collection",
"properties": {
"enabled": {
"default": false,
"description": "Enable hardware counter collection",
"type": "boolean"
},
"papi_events": {
"$ref": "#/$defs/stringOrArrayValueField",
"description": "PAPI/CPU hardware counters (use 'rocprof-sys-avail --hw-counters' to list)"
},
"papi_multiplexing": {
"$ref": "#/$defs/enabledField",
"description": "Enable PAPI counter multiplexing"
},
"rocm_events": {
"$ref": "#/$defs/stringOrArrayValueField",
"description": "ROCm/GPU hardware counters (use 'rocprof-sys-avail --hw-counters' to list)"
}
},
"type": "object"
},
"metadata": {
"additionalProperties": false,
"description": "Preset metadata for identification and documentation",
"properties": {
"category": {
"description": "Preset grouping category",
"examples": [
"general",
"workload",
"api_tracing"
],
"type": "string"
},
"cli_flag": {
"description": "Legacy CLI flag name (e.g., --balanced)",
"type": "string"
},
"description": {
"description": "Human-readable description of what this preset does",
"type": "string"
},
"name": {
"description": "Preset identifier (matches filename without .json)",
"type": "string"
},
"schema_version": {
"description": "Schema version this preset conforms to",
"type": "string"
},
"tool_version": {
"description": "Tool version this preset was created for",
"type": "string"
},
"use_case": {
"description": "When to use this preset",
"type": "string"
}
},
"type": "object"
},
"output": {
"additionalProperties": false,
"description": "Output configuration",
"properties": {
"file_output": {
"$ref": "#/$defs/enabledField",
"description": "Write output to files"
},
"path": {
"$ref": "#/$defs/stringValueField",
"description": "Output directory path"
},
"rocpd_output": {
"$ref": "#/$defs/enabledField",
"description": "Generate RocPD SQLite3 database output"
},
"time_output": {
"$ref": "#/$defs/enabledField",
"description": "Include timestamps in output filenames"
},
"unified_memory_output_path": {
"$ref": "#/$defs/stringValueField",
"description": "Output directory path for unified memory profiling reports"
}
},
"type": "object"
},
"profiling": {
"additionalProperties": false,
"description": "Call-stack profile output configuration",
"properties": {
"enabled": {
"default": false,
"description": "Enable call-stack profiling output",
"type": "boolean"
},
"flat_profile": {
"$ref": "#/$defs/enabledField",
"description": "Generate flat profile (no call hierarchy)"
}
},
"type": "object"
},
"sampling": {
"additionalProperties": false,
"description": "Call-stack sampling configuration",
"properties": {
"cpus": {
"$ref": "#/$defs/stringValueField",
"description": "CPUs to sample (e.g., 'all', '0-3', '0,2,4', 'none')"
},
"delay_sec": {
"$ref": "#/$defs/numberValueField",
"description": "Delay before starting sampling (seconds)"
},
"duration_sec": {
"$ref": "#/$defs/numberValueField",
"description": "Sampling duration in seconds (0 = until end)"
},
"enabled": {
"default": false,
"description": "Enable statistical call-stack sampling",
"type": "boolean"
},
"frequency_hz": {
"$ref": "#/$defs/intValueField",
"description": "Sampling frequency in Hz (higher = more overhead, better resolution)"
},
"gpus": {
"$ref": "#/$defs/stringValueField",
"description": "GPUs to sample (inherits from HIP_VISIBLE_DEVICES if empty)"
},
"timer": {
"$ref": "#/$defs/stringValueField",
"description": "Timer type: 'cputime' (CPU-bound) or 'realtime' (I/O-bound)"
}
},
"type": "object"
},
"tracing": {
"additionalProperties": false,
"description": "Perfetto trace output configuration",
"properties": {
"buffer_size_kb": {
"$ref": "#/$defs/intValueField",
"description": "Trace buffer size"
},
"enabled": {
"default": true,
"description": "Enable trace output (Perfetto .proto file)",
"type": "boolean"
},
"fill_policy": {
"$ref": "#/$defs/stringValueField",
"description": "Buffer fill policy when full"
}
},
"type": "object"
}
},
"title": "ROCProfiler-Systems Preset Configuration",
"type": "object"
}