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
110 lines
5.2 KiB
Plaintext
110 lines
5.2 KiB
Plaintext
digraph writer_architecture {
|
|
rankdir=TB;
|
|
fontname="Helvetica";
|
|
node [fontname="Helvetica", fontsize=10, style=filled];
|
|
edge [fontname="Helvetica", fontsize=9];
|
|
|
|
label="Writer Architecture: Layered Design";
|
|
labelloc=t;
|
|
fontsize=14;
|
|
|
|
subgraph cluster_pimpl {
|
|
label="Pimpl Layer";
|
|
style=filled;
|
|
color="#dce8f5";
|
|
fillcolor="#f0f6ff";
|
|
|
|
writer_t [label="writer_t", shape=box, fillcolor="#c8ddf0"];
|
|
writer_t_impl [label="writer_t::impl\n(inherits writer_impl_core\<active_policy_t\>)", shape=box, fillcolor="#c8ddf0"];
|
|
active_policy [label="active_policy_t = writer_policy_v3", shape=note, fillcolor="#ffffc0"];
|
|
}
|
|
|
|
subgraph cluster_dispatch {
|
|
label="Policy Dispatch Layer";
|
|
style=filled;
|
|
color="#d5e8d5";
|
|
fillcolor="#f0fff0";
|
|
|
|
writer_impl_core [label="writer_impl_core\<Policy\>\n\nstatic_assert(is_valid_writer_policy_v\<Policy\>)\n\nDelegates to policy-defined writers", shape=box, fillcolor="#c0e0c0"];
|
|
}
|
|
|
|
subgraph cluster_interfaces {
|
|
label="CRTP Interface Layer";
|
|
style=filled;
|
|
color="#e5ddf0";
|
|
fillcolor="#f5f0ff";
|
|
|
|
api_base [label="api_writer_base\<Derived\>\nself() accessor", shape=box, fillcolor="#ddd0f0"];
|
|
|
|
info_iface [label="info_registration_writer_interface\<D\>\nregister_*() → register_*_impl()", shape=box, fillcolor="#ddd0f0"];
|
|
region_iface [label="region_writer_interface\<D\>\ninsert() → insert_impl()", shape=box, fillcolor="#ddd0f0"];
|
|
kd_iface [label="kernel_dispatch_writer_interface\<D\>\ninsert() → insert_impl()", shape=box, fillcolor="#ddd0f0"];
|
|
mc_iface [label="memory_copy_writer_interface\<D\>\ninsert() → insert_impl()", shape=box, fillcolor="#ddd0f0"];
|
|
ma_iface [label="memory_alloc_writer_interface\<D\>\ninsert() → insert_impl()", shape=box, fillcolor="#ddd0f0"];
|
|
pmc_iface [label="pmc_event_writer_interface\<D\>\ninsert() → insert_impl()", shape=box, fillcolor="#ddd0f0"];
|
|
}
|
|
|
|
subgraph cluster_schema_v3 {
|
|
label="Schema v3 Implementations";
|
|
style=filled;
|
|
color="#f5e0c0";
|
|
fillcolor="#fff8f0";
|
|
|
|
info_writer [label="info_registration_writer\<schema_v3_tag\>", shape=box, fillcolor="#f0dcc0"];
|
|
region_writer [label="region_writer\<schema_v3_tag\>", shape=box, fillcolor="#f0dcc0"];
|
|
kd_writer [label="kernel_dispatch_writer\<schema_v3_tag\>", shape=box, fillcolor="#f0dcc0"];
|
|
mc_writer [label="memory_copy_writer\<schema_v3_tag\>", shape=box, fillcolor="#f0dcc0"];
|
|
ma_writer [label="memory_alloc_writer\<schema_v3_tag\>", shape=box, fillcolor="#f0dcc0"];
|
|
pmc_writer [label="pmc_event_writer\<schema_v3_tag\>", shape=box, fillcolor="#f0dcc0"];
|
|
common_ops [label="common_insert_operations\<schema_v3_tag\>\n(event, sample, arg, string)", shape=box, fillcolor="#f0dcc0"];
|
|
}
|
|
|
|
subgraph cluster_policy {
|
|
label="Policy Definition";
|
|
style=filled;
|
|
color="#f0e0e0";
|
|
fillcolor="#fff5f5";
|
|
|
|
policy_v3 [label="writer_policy_v3\n\nschema_tag_t\ninsert_statements_t\ncommon_ops_t\ninfo_writer_t\nregion_writer_t\nkernel_dispatch_writer_t\nmemory_copy_writer_t\nmemory_alloc_writer_t\npmc_event_writer_t", shape=box, fillcolor="#f0d0d0"];
|
|
}
|
|
|
|
writer_t -> writer_t_impl [label=" m_impl "];
|
|
writer_t_impl -> active_policy [style=dotted, arrowhead=none];
|
|
writer_t_impl -> writer_impl_core [label=" inherits ", style=bold];
|
|
active_policy -> policy_v3 [style=dashed, label=" selects "];
|
|
|
|
writer_impl_core -> info_iface [label=" delegates "];
|
|
writer_impl_core -> region_iface [label=" delegates "];
|
|
writer_impl_core -> kd_iface [label=" delegates "];
|
|
writer_impl_core -> mc_iface [label=" delegates "];
|
|
writer_impl_core -> ma_iface [label=" delegates "];
|
|
writer_impl_core -> pmc_iface [label=" delegates "];
|
|
|
|
info_iface -> api_base [style=dotted, label="inherits"];
|
|
region_iface -> api_base [style=dotted, label="inherits"];
|
|
kd_iface -> api_base [style=dotted];
|
|
mc_iface -> api_base [style=dotted];
|
|
ma_iface -> api_base [style=dotted];
|
|
pmc_iface -> api_base [style=dotted];
|
|
|
|
info_iface -> info_writer [label=" CRTP ", color="#a06020", fontcolor="#a06020"];
|
|
region_iface -> region_writer [label=" CRTP ", color="#a06020", fontcolor="#a06020"];
|
|
kd_iface -> kd_writer [label=" CRTP ", color="#a06020", fontcolor="#a06020"];
|
|
mc_iface -> mc_writer [label=" CRTP ", color="#a06020", fontcolor="#a06020"];
|
|
ma_iface -> ma_writer [label=" CRTP ", color="#a06020", fontcolor="#a06020"];
|
|
pmc_iface -> pmc_writer [label=" CRTP ", color="#a06020", fontcolor="#a06020"];
|
|
|
|
region_writer -> common_ops [style=dashed, label="uses"];
|
|
kd_writer -> common_ops [style=dashed];
|
|
mc_writer -> common_ops [style=dashed];
|
|
ma_writer -> common_ops [style=dashed];
|
|
pmc_writer -> common_ops [style=dashed];
|
|
|
|
policy_v3 -> info_writer [style=dotted, color=gray50];
|
|
policy_v3 -> region_writer [style=dotted, color=gray50];
|
|
policy_v3 -> kd_writer [style=dotted, color=gray50];
|
|
policy_v3 -> mc_writer [style=dotted, color=gray50];
|
|
policy_v3 -> ma_writer [style=dotted, color=gray50];
|
|
policy_v3 -> pmc_writer [style=dotted, color=gray50];
|
|
}
|