digraph ipu_stack_package_partition_map {
  graph [rankdir=LR, bgcolor="white", fontname="DejaVu Sans", fontsize=18,
         label="IPU stack package build/run — full graph partition map", labelloc=t, labeljust=l, pad=0.25, nodesep=0.4, ranksep=1.0, overlap=false, splines=polyline, concentrate=true, outputorder=edgesfirst];
  node [shape=box, fontname="DejaVu Sans", fontsize=9, style="rounded,filled", color="#52606d", penwidth=0.8];
  edge [fontname="DejaVu Sans", fontsize=7, color="#8a94a0", arrowsize=0.55, penwidth=0.7];
  subgraph cluster_ipu_codegen { label="ipu_codegen"; color="#d9e8fb"; style="rounded";
    p0 [label="ipu_codegen::config\n11 functions, 7 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-config", target="_top", tooltip="open module detail list"];
    p1 [label="ipu_codegen::cost\n6 functions, 5 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-cost", target="_top", tooltip="open module detail list"];
    p2 [label="ipu_codegen::emitter\n29 functions, 4 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-emitter", target="_top", tooltip="open module detail list"];
    p3 [label="ipu_codegen::estimate\n19 functions, 0 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-estimate", target="_top", tooltip="open module detail list"];
    p4 [label="ipu_codegen::exchange\n48 functions, 33 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-exchange", target="_top", tooltip="open module detail list"];
    p5 [label="ipu_codegen::graph\n10 functions, 11 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-graph", target="_top", tooltip="open module detail list"];
    p6 [label="ipu_codegen::host\n18 functions, 8 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-host", target="_top", tooltip="open module detail list"];
    p7 [label="ipu_codegen::ir\n3 functions, 8 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-ir", target="_top", tooltip="open module detail list"];
    p8 [label="ipu_codegen::kernel\n27 functions, 12 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-kernel", target="_top", tooltip="open module detail list"];
    p9 [label="ipu_codegen::layout\n53 functions, 19 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-layout", target="_top", tooltip="open module detail list"];
    p10 [label="ipu_codegen::low\n96 functions, 39 types, 2 detail pages", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-low", target="_top", tooltip="open module detail list"];
    p11 [label="ipu_codegen::memory\n6 functions, 4 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-memory", target="_top", tooltip="open module detail list"];
    p12 [label="ipu_codegen::metrics\n10 functions, 5 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-metrics", target="_top", tooltip="open module detail list"];
    p13 [label="ipu_codegen::mid\n51 functions, 18 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-mid", target="_top", tooltip="open module detail list"];
    p14 [label="ipu_codegen::operator\n20 functions, 42 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-operator", target="_top", tooltip="open module detail list"];
    p15 [label="ipu_codegen::package\n36 functions, 7 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-package", target="_top", tooltip="open module detail list"];
    p16 [label="ipu_codegen::place\n26 functions, 7 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-place", target="_top", tooltip="open module detail list"];
    p17 [label="ipu_codegen::program\n0 functions, 14 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-program", target="_top", tooltip="open module detail list"];
    p18 [label="ipu_codegen::storage\n12 functions, 3 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-storage", target="_top", tooltip="open module detail list"];
    p19 [label="ipu_codegen::tile\n11 functions, 4 types, 1 detail page", fillcolor="#d9e8fb", URL="ipu-stack-package-callgraph/index.html#module-ipu-codegen-tile", target="_top", tooltip="open module detail list"];
  }
  subgraph cluster_ipu_driver { label="ipu_driver"; color="#f9dfc5"; style="rounded";
    p20 [label="ipu_driver\n52 functions, 11 types, 1 detail page", fillcolor="#f9dfc5", URL="ipu-stack-package-callgraph/index.html#module-ipu-driver", target="_top", tooltip="open module detail list"];
  }
  subgraph cluster_ipu_elf { label="ipu_elf"; color="#eadcf8"; style="rounded";
    p21 [label="ipu_elf\n15 functions, 7 types, 1 detail page", fillcolor="#eadcf8", URL="ipu-stack-package-callgraph/index.html#module-ipu-elf", target="_top", tooltip="open module detail list"];
  }
  subgraph cluster_ipu_exchange { label="ipu_exchange"; color="#d8f0dd"; style="rounded";
    p22 [label="ipu_exchange\n109 functions, 22 types, 2 detail pages", fillcolor="#d8f0dd", URL="ipu-stack-package-callgraph/index.html#module-ipu-exchange", target="_top", tooltip="open module detail list"];
    p23 [label="ipu_exchange::diagnostic\n4 functions, 6 types, 1 detail page", fillcolor="#d8f0dd", URL="ipu-stack-package-callgraph/index.html#module-ipu-exchange-diagnostic", target="_top", tooltip="open module detail list"];
  }
  subgraph cluster_ipu_package { label="ipu_package"; color="#f7e8ae"; style="rounded";
    p24 [label="ipu_package\n21 functions, 22 types, 1 detail page", fillcolor="#f7e8ae", URL="ipu-stack-package-callgraph/index.html#module-ipu-package", target="_top", tooltip="open module detail list"];
  }
  subgraph cluster_ipu_runtime { label="ipu_runtime"; color="#f7d8e3"; style="rounded";
    p25 [label="ipu_runtime\n3 functions, 0 types, 1 detail page", fillcolor="#f7d8e3", URL="ipu-stack-package-callgraph/index.html#module-ipu-runtime", target="_top", tooltip="open module detail list"];
  }
  p0 -> p1 [tooltip="1 type uses"];
  p0 -> p5 [tooltip="2 type uses"];
  p0 -> p9 [tooltip="2 type uses"];
  p0 -> p14 [tooltip="3 type uses"];
  p1 -> p9 [tooltip="4 type uses"];
  p2 -> p5 [tooltip="3 type uses"];
  p2 -> p6 [tooltip="1 calls"];
  p2 -> p10 [tooltip="3 calls"];
  p2 -> p13 [tooltip="3 calls"];
  p2 -> p17 [tooltip="23 type uses"];
  p2 -> p22 [tooltip="12 calls"];
  p3 -> p0 [tooltip="2 type uses"];
  p3 -> p1 [tooltip="1 calls"];
  p3 -> p5 [tooltip="1 type uses"];
  p3 -> p7 [tooltip="2 calls, 16 type uses"];
  p3 -> p9 [tooltip="8 calls, 16 type uses"];
  p3 -> p12 [tooltip="7 calls, 10 type uses"];
  p3 -> p14 [tooltip="4 calls, 23 type uses"];
  p4 -> p6 [tooltip="1 calls"];
  p4 -> p10 [tooltip="2 calls, 9 type uses"];
  p4 -> p16 [tooltip="4 type uses"];
  p4 -> p18 [tooltip="2 calls"];
  p4 -> p22 [tooltip="25 calls, 20 type uses"];
  p4 -> p23 [tooltip="1 calls"];
  p5 -> p6 [tooltip="1 calls"];
  p6 -> p2 [tooltip="1 calls"];
  p6 -> p15 [tooltip="9 calls, 12 type uses"];
  p6 -> p17 [tooltip="2 type uses"];
  p6 -> p22 [tooltip="10 calls, 1 type uses"];
  p6 -> p24 [tooltip="1 calls, 13 type uses"];
  p7 -> p5 [tooltip="1 type uses"];
  p7 -> p14 [tooltip="1 type uses"];
  p8 -> p5 [tooltip="1 calls, 1 type uses"];
  p8 -> p9 [tooltip="6 calls, 15 type uses"];
  p8 -> p10 [tooltip="11 calls, 24 type uses"];
  p8 -> p13 [tooltip="4 calls"];
  p8 -> p14 [tooltip="1 calls, 23 type uses"];
  p8 -> p16 [tooltip="1 calls"];
  p8 -> p17 [tooltip="5 type uses"];
  p8 -> p18 [tooltip="1 calls"];
  p8 -> p24 [tooltip="1 calls"];
  p9 -> p3 [tooltip="1 calls"];
  p9 -> p5 [tooltip="3 calls, 6 type uses"];
  p9 -> p6 [tooltip="1 calls"];
  p9 -> p14 [tooltip="9 type uses"];
  p9 -> p24 [tooltip="1 calls"];
  p10 -> p0 [tooltip="1 type uses"];
  p10 -> p1 [tooltip="1 calls"];
  p10 -> p5 [tooltip="11 type uses"];
  p10 -> p6 [tooltip="2 calls"];
  p10 -> p7 [tooltip="7 calls, 53 type uses"];
  p10 -> p9 [tooltip="56 calls, 69 type uses"];
  p10 -> p12 [tooltip="1 calls"];
  p10 -> p13 [tooltip="1 calls"];
  p10 -> p14 [tooltip="12 calls, 72 type uses"];
  p10 -> p18 [tooltip="11 calls, 1 type uses"];
  p10 -> p24 [tooltip="1 calls"];
  p11 -> p6 [tooltip="1 calls"];
  p11 -> p24 [tooltip="4 calls, 5 type uses"];
  p12 -> p0 [tooltip="4 type uses"];
  p12 -> p9 [tooltip="1 type uses"];
  p13 -> p0 [tooltip="13 calls, 25 type uses"];
  p13 -> p1 [tooltip="5 calls, 20 type uses"];
  p13 -> p3 [tooltip="7 calls"];
  p13 -> p5 [tooltip="13 calls, 61 type uses"];
  p13 -> p7 [tooltip="14 calls, 29 type uses"];
  p13 -> p9 [tooltip="29 calls, 54 type uses"];
  p13 -> p12 [tooltip="7 calls, 11 type uses"];
  p13 -> p14 [tooltip="23 calls, 116 type uses"];
  p14 -> p0 [tooltip="1 calls"];
  p14 -> p2 [tooltip="1 calls"];
  p14 -> p5 [tooltip="5 type uses"];
  p14 -> p9 [tooltip="5 calls, 10 type uses"];
  p14 -> p16 [tooltip="1 calls"];
  p15 -> p0 [tooltip="4 calls, 2 type uses"];
  p15 -> p2 [tooltip="2 calls, 3 type uses"];
  p15 -> p4 [tooltip="3 calls, 5 type uses"];
  p15 -> p5 [tooltip="4 calls, 11 type uses"];
  p15 -> p6 [tooltip="1 calls"];
  p15 -> p7 [tooltip="3 calls, 7 type uses"];
  p15 -> p8 [tooltip="2 calls, 3 type uses"];
  p15 -> p9 [tooltip="1 calls"];
  p15 -> p10 [tooltip="20 calls, 38 type uses"];
  p15 -> p11 [tooltip="6 calls, 3 type uses"];
  p15 -> p13 [tooltip="7 calls"];
  p15 -> p14 [tooltip="3 type uses"];
  p15 -> p16 [tooltip="3 calls, 2 type uses"];
  p15 -> p17 [tooltip="5 type uses"];
  p15 -> p18 [tooltip="1 calls"];
  p15 -> p19 [tooltip="4 calls, 1 type uses"];
  p15 -> p21 [tooltip="2 calls, 5 type uses"];
  p15 -> p22 [tooltip="10 calls, 6 type uses"];
  p15 -> p24 [tooltip="5 calls, 36 type uses"];
  p16 -> p5 [tooltip="3 type uses"];
  p16 -> p6 [tooltip="1 calls"];
  p16 -> p9 [tooltip="4 type uses"];
  p16 -> p10 [tooltip="13 calls, 28 type uses"];
  p16 -> p14 [tooltip="3 calls, 11 type uses"];
  p16 -> p18 [tooltip="1 calls"];
  p16 -> p24 [tooltip="3 calls, 3 type uses"];
  p18 -> p9 [tooltip="5 calls, 7 type uses"];
  p18 -> p10 [tooltip="10 type uses"];
  p18 -> p14 [tooltip="4 calls, 4 type uses"];
  p19 -> p4 [tooltip="2 calls, 5 type uses"];
  p19 -> p5 [tooltip="2 calls, 2 type uses"];
  p19 -> p6 [tooltip="1 calls"];
  p19 -> p8 [tooltip="1 calls, 3 type uses"];
  p19 -> p10 [tooltip="4 calls, 20 type uses"];
  p19 -> p16 [tooltip="4 type uses"];
  p19 -> p17 [tooltip="20 type uses"];
  p19 -> p22 [tooltip="1 calls"];
  p20 -> p10 [tooltip="9 calls"];
  p20 -> p13 [tooltip="10 calls"];
  p20 -> p24 [tooltip="3 calls, 14 type uses"];
  p21 -> p10 [tooltip="6 calls"];
  p21 -> p13 [tooltip="6 calls"];
  p22 -> p23 [tooltip="1 calls"];
  p23 -> p22 [tooltip="3 calls, 5 type uses"];
  p24 -> p4 [tooltip="2 type uses"];
  p24 -> p10 [tooltip="3 calls"];
  p24 -> p13 [tooltip="4 calls"];
  p25 -> p20 [tooltip="8 calls, 3 type uses"];
  p25 -> p24 [tooltip="2 type uses"];
  help [shape=note, fillcolor="#ffffff", color="#9aa5b1", label="Each box opens that module in the lightweight index.\nThe raw monolithic DOT remains available for tools."];
}
