# rocm/rocm-systems architecture

> Architecture diagram of the GitHub repository rocm/rocm-systems, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-02). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/rocm/rocm-systems
- Repository: https://github.com/rocm/rocm-systems

## Overview

ROCm Systems is a super-repository consolidating independent ROCm systems projects, initially focused on requirements for building PyTorch. It is not one runtime with a single user-to-result path: users enter through the individual libraries and tools they need. The groups below show major product areas represented in the tree, including emulation, profiling, runtime interfaces, and system support. The excerpts show selected internal behavior, but do not establish cross-project runtime wiring, so no inter-project call flow is inferred.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_emulation["GPU Emulation"]
  node_rocjitsu["rocjitsu emulator"]
  node_memory_pipeline["Memory pipeline"]
  node_rocjitsu_tool["rocjitsu tool<br/>[main.cpp]"]
  node_mirage["Mirage emulator"]
end

subgraph group_profiling["Profiling and Analysis"]
  node_rocprof_compute["rocprofiler-compute"]
  node_metric_evaluation["Metric evaluation"]
  node_bandwidth_analysis["Bandwidth analysis<br/>[engine.py]"]
  node_instruction_pipeline["Instruction pipeline generator"]
  node_profiler_hub_storage["Profiler hub storage<br/>[storage_impl.cpp]"]
  node_trace_storage_parser["Trace storage parser<br/>[storage_parser.hpp]"]
end

subgraph group_runtime["Runtime Interfaces"]
  node_hsa_api["HSA API<br/>[hsa.h]"]
  node_async_copy_test["Async copy exercise"]
  node_rccl_memory["RCCL memory manager<br/>[mem_manager.cc]"]
  node_aql_queue["AQL queue manager"]
end

subgraph group_systems["System Services"]
  node_amdsmi_kfd["KFD data manager"]
  node_storage["Storage abstraction<br/>[storage.rs]"]
end

node_developer(("ROCm developer"))

click node_rocjitsu "https://github.com/rocm/rocm-systems/tree/develop/emulation/rocjitsu/lib/rocjitsu/src/rocjitsu"
click node_memory_pipeline "https://github.com/rocm/rocm-systems/blob/develop/emulation/rocjitsu/lib/rocjitsu/src/rocjitsu/vm/amdgpu/memory_pipeline.cpp"
click node_rocjitsu_tool "https://github.com/rocm/rocm-systems/blob/develop/emulation/rocjitsu/tools/rocjitsu/main.cpp"
click node_mirage "https://github.com/rocm/rocm-systems/tree/develop/emulation/mirage"
click node_rocprof_compute "https://github.com/rocm/rocm-systems/tree/develop/projects/rocprofiler-compute"
click node_metric_evaluation "https://github.com/rocm/rocm-systems/blob/develop/projects/rocprofiler-compute/src/utils/metrics/evaluation_pipeline.py"
click node_bandwidth_analysis "https://github.com/rocm/rocm-systems/blob/develop/projects/rocprofiler-compute/src/membw_analysis/engine.py"
click node_instruction_pipeline "https://github.com/rocm/rocm-systems/blob/develop/projects/rocprofiler-compute/tools/instruction_pipeline_generator.py"
click node_profiler_hub_storage "https://github.com/rocm/rocm-systems/blob/develop/profilers/profiler-hub/source/storage_impl.cpp"
click node_trace_storage_parser "https://github.com/rocm/rocm-systems/blob/develop/projects/rocprofiler-systems/source/lib/core/trace_cache/storage_parser.hpp"
click node_hsa_api "https://github.com/rocm/rocm-systems/blob/develop/projects/rocdbgapi/src/hsa/hsa.h"
click node_async_copy_test "https://github.com/rocm/rocm-systems/blob/develop/projects/rocr-runtime/rocrtst/suites/performance/memory_async_copy_on_engine.cc"
click node_rccl_memory "https://github.com/rocm/rocm-systems/blob/develop/projects/rccl/src/mem_manager.cc"
click node_aql_queue "https://github.com/rocm/rocm-systems/blob/develop/experimental/perf-dkms/src/aql_queue_manager.c"
click node_amdsmi_kfd "https://github.com/rocm/rocm-systems/blob/develop/projects/amdsmi/rocm_smi/src/rocm_smi_kfd_data_manager.cc"
click node_storage "https://github.com/rocm/rocm-systems/blob/develop/runtimes/ddi/rocddi/src/memory/storage.rs"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_rocjitsu,node_memory_pipeline,node_rocjitsu_tool,node_mirage toneBlue
class node_rocprof_compute,node_metric_evaluation,node_bandwidth_analysis,node_instruction_pipeline,node_profiler_hub_storage,node_trace_storage_parser toneAmber
class node_hsa_api,node_async_copy_test,node_rccl_memory,node_aql_queue toneMint
class node_amdsmi_kfd,node_storage toneRose
class node_developer toneIndigo
```

## Components

### GPU Emulation

- [rocjitsu emulator](https://github.com/rocm/rocm-systems/tree/develop/emulation/rocjitsu/lib/rocjitsu/src/rocjitsu): `emulation/rocjitsu/lib/rocjitsu/src/rocjitsu`
- [Memory pipeline](https://github.com/rocm/rocm-systems/blob/develop/emulation/rocjitsu/lib/rocjitsu/src/rocjitsu/vm/amdgpu/memory_pipeline.cpp): `emulation/rocjitsu/lib/rocjitsu/src/rocjitsu/vm/amdgpu/memory_pipeline.cpp`
- [rocjitsu tool](https://github.com/rocm/rocm-systems/blob/develop/emulation/rocjitsu/tools/rocjitsu/main.cpp): `emulation/rocjitsu/tools/rocjitsu/main.cpp`
- [Mirage emulator](https://github.com/rocm/rocm-systems/tree/develop/emulation/mirage): `emulation/mirage`

### Profiling and Analysis

- [rocprofiler-compute](https://github.com/rocm/rocm-systems/tree/develop/projects/rocprofiler-compute): `projects/rocprofiler-compute`
- [Metric evaluation](https://github.com/rocm/rocm-systems/blob/develop/projects/rocprofiler-compute/src/utils/metrics/evaluation_pipeline.py): `projects/rocprofiler-compute/src/utils/metrics/evaluation_pipeline.py`
- [Bandwidth analysis](https://github.com/rocm/rocm-systems/blob/develop/projects/rocprofiler-compute/src/membw_analysis/engine.py): `projects/rocprofiler-compute/src/membw_analysis/engine.py`
- [Instruction pipeline generator](https://github.com/rocm/rocm-systems/blob/develop/projects/rocprofiler-compute/tools/instruction_pipeline_generator.py): `projects/rocprofiler-compute/tools/instruction_pipeline_generator.py`
- [Profiler hub storage](https://github.com/rocm/rocm-systems/blob/develop/profilers/profiler-hub/source/storage_impl.cpp): `profilers/profiler-hub/source/storage_impl.cpp`
- [Trace storage parser](https://github.com/rocm/rocm-systems/blob/develop/projects/rocprofiler-systems/source/lib/core/trace_cache/storage_parser.hpp): `projects/rocprofiler-systems/source/lib/core/trace_cache/storage_parser.hpp`

### Runtime Interfaces

- [HSA API](https://github.com/rocm/rocm-systems/blob/develop/projects/rocdbgapi/src/hsa/hsa.h): `projects/rocdbgapi/src/hsa/hsa.h`
- [Async copy exercise](https://github.com/rocm/rocm-systems/blob/develop/projects/rocr-runtime/rocrtst/suites/performance/memory_async_copy_on_engine.cc): `projects/rocr-runtime/rocrtst/suites/performance/memory_async_copy_on_engine.cc`
- [RCCL memory manager](https://github.com/rocm/rocm-systems/blob/develop/projects/rccl/src/mem_manager.cc): `projects/rccl/src/mem_manager.cc`
- [AQL queue manager](https://github.com/rocm/rocm-systems/blob/develop/experimental/perf-dkms/src/aql_queue_manager.c): `experimental/perf-dkms/src/aql_queue_manager.c`

### System Services

- [KFD data manager](https://github.com/rocm/rocm-systems/blob/develop/projects/amdsmi/rocm_smi/src/rocm_smi_kfd_data_manager.cc): `projects/amdsmi/rocm_smi/src/rocm_smi_kfd_data_manager.cc`
- [Storage abstraction](https://github.com/rocm/rocm-systems/blob/develop/runtimes/ddi/rocddi/src/memory/storage.rs): `runtimes/ddi/rocddi/src/memory/storage.rs`

### Other components

- **ROCm developer**
