Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Source-Tree Reconstruction (KaenaRuntime)

Binary (version pin): libnrt.solibnrt.so.1libnrt.so.2.31.24.0 · 2.31.24.0-0b044f4ce · BuildID[sha1] 8bb57aba0fb2e0035f1d88e9fc4fb3e7387c102e · ELF64 DYN x86-64, NOT stripped, full DWARF v4.

Part 0 — Reference Apparatus / REFERENCE · Evidence grade: every directory and every translation-unit path below is a verbatim DW_AT_name string read from libnrt.so's own .debug_info (331 DW_TAG_compile_unit records; DW_AT_comp_dir = /opt/workspace/KaenaRuntime/build/private/develop/almalinux/RelWithDebInfo; DW_AT_producer = GNU C++17 14.2.1 20250110 -O2 -fPIC -ggdb3). The tree is reconstructed from the shipped binary, not transcribed from any source distribution.

Abstract

libnrt.so ships with full DWARF, and every object it was built from leaves one DW_TAG_compile_unit record carrying its source path in DW_AT_name and a common build root in DW_AT_comp_dir. Reading that compile-unit table back yields the first-party source tree without ever seeing the source: 203 KaenaRuntime translation units (.c / .cc / .cpp), grouped under thirteen subsystem directories rooted at /opt/workspace/KaenaRuntime/, defining 4,407 functions with their own DW_TAG_subprogram body (a DW_AT_low_pc inside the CU, deduped by low_pc). The remaining 128 of the 331 CUs (incl. the 6 zlib-builtin) are vendored object code statically linked in — Abseil, the Rust std/core/alloc runtime, KaenaProfilerFormat protobuf, libarchive, simdjson, zlib, KaenaDriverLib — versioned on the Vendored-Library SBOM and excluded from this page's first-party tree.

This page is the spine for locating which page owns which .c/.cc. It is the directory-tree view of the same translation units the Subsystem Matrix indexes by subsystem Part: where the matrix answers "I need subsystem X, which TU and which page?", this page answers the inverse — "I am holding tdrv/dma_ring.c, where in the book does it live?". The owning-page column below is the exact SUMMARY.md path, kept consistent with that matrix; the subsystem→page logic is not re-derived here, only the directory tree and the per-TU function counts that the matrix draws from. Per-function semantics belong to the deep pages; this is the map, not the territory.

Source root/opt/workspace/KaenaRuntime/ (DW_AT_comp_dir of every first-party CU)
First-party CUs203 translation units / 4,407 defined functions
Subsystem directories13 (tdrv/, enc/, nrt/, kelf/, kmgr/, nds/, ucode/, utils/, nlog/, ndebug/, dve_config/, dx/, hw_decode/) + a 0-fn build/ blob-stub group
Total DWARF CUs331 (203 first-party + 128 vendored, incl. 6 zlib-builtin)

CORRECTION — the CU partition now closes cleanly at 331 = 203 first-party + 128 vendored, where the 128 vendored already includes the 6 zlib-builtin CUs (previously narrated as a separate "+6" addend, which read as 203 + 122 + 6 and obscured the closure). | Largest TU (C) | tdrv/instruction_block_mariana.c — 297 fns | | Largest TU (C++) | enc/enc.cc — 352 fns | | Excluded | 128 vendored CUs, incl. 6 zlib-builtin (→ SBOM); the no-DWARF siblings libncfw.so, libnrtucode_extisa.so |


1. The subsystem directory tree

A compact hierarchical view of the thirteen first-party directories, fn-weighted. Each line is CUs / fns; the full per-TU breakdown is in §2. The per-arch triplication (cayman / mariana / sunda) is real in the DWARF — each silicon gets its own tdrv_arch_*.c, instruction_block_*.c, encd/archs/*.c, and dve_config_*.c.

/opt/workspace/KaenaRuntime/
├─ tdrv/         84 CU / 2413 fn   device driver, DMA, instruction-block builders, per-arch
│   ├─ cayman/    4 CU             arch fan-out: dma_desc_util, isa, tdrv_arch, dve_config
│   ├─ mariana/   2 CU             arch fan-out: tdrv_arch, dve_config
│   ├─ sunda/     4 CU             arch fan-out: isa, tdrv_arch, tsync, dve_config
│   └─ encd/      6 CU             execution-engine descriptor compiler
│       └─ archs/ 3 CU             per-arch encd: arch / cayman / mariana / sunda
├─ enc/          52 CU / 1062 fn   on-device collectives compute engine
│   ├─ async_sr/  7 CU             async point-to-point sendrecv (OFI / rendezvous / kv_store)
│   └─ switch_platform/ 33 CU      switch-fabric collective composer
│       ├─ events/{broadcast,reduce,handshake,sync,function}/   per-event algorithm TUs
│       └─ ops/{all_gather,all_reduce,all_to_all,reduce_scatter}/ op selectors (1–3 fn each)
├─ nrt/          27 CU /  377 fn   public C API + config/profile/sys_trace
├─ kelf/          5 CU /  318 fn   KELF/KBIN/NEFF container parse + numpy/HLO stats
├─ kmgr/         10 CU /  117 fn   model/kernel manager (dlr loader, xu/ worker queue)
│   └─ xu/        4 CU             execution-unit work-queue + worker threads
├─ nds/           6 CU /   36 fn   Neuron DataStore (== libnds.a, folded into libnrt)
├─ ucode/         1 CU /   26 fn   microcode loader glue
├─ utils/         5 CU /   23 fn   md5 / sha256 / instance / time helpers
├─ nlog/          3 CU /   15 fn   logging + backtrace + symbol resolution
├─ ndebug/        1 CU /   10 fn   ndebug_stream
├─ dve_config/    4 CU /    7 fn   DVE (dynamic-vector-engine) config + per-arch
├─ dx/            1 CU /    2 fn   dx/ring.c (notification ring)
├─ hw_decode/     1 CU /    1 fn   hw_decode table glue
└─ build/.../     3 CU /    0 fn   GENERATED blob stubs (*_bins.c: dve / hw_decode / ucode)

NOTE — the directory names are not a convention imposed by this analysis; they are the leading path components of the DW_AT_name strings in .debug_info (e.g. the CU named tdrv/encd/archs/cayman.c). The comp_dir root is constant across all 203 first-party CUs, so a relative path under it is unambiguous.

QUIRK — nds/ (6 CUs) is the static archive libnds.a compiled once and linked in; its six neuron_ds*.c.o members appear in libnrt.so's DWARF as first-party nds/ CUs even though the library is also catalogued as a separate artifact. The counter plane it implements is shared with the kernel .ko — see datastore/userspace-libnds.md.


2. Per-TU inventory

Every first-party translation unit, grouped by directory. fns = DW_TAG_subprogram records with a DW_AT_low_pc inside the CU, deduped by low_pc (defined bodies only; declarations and inlined-away statics do not count). Owning page is the exact SUMMARY.md path consistent with the Subsystem Matrix; a TU whose surface the book splits across pages is listed at its primary owner. Confidence grades the fn-count + owning-page assignment: HIGH when the matrix cites the TU path verbatim; MEDIUM when the page assignment is the best directory/basename fit but the TU is folded into a neighbour CU by -O2, or the count rolls inlined bodies upward.

NOTE — the fn-counts are an -O2 per-CU-of-definition fact: a body inlined into another CU is counted in the CU that owns the out-of-line copy, so a thin public-wrapper TU can show fewer fns than its API surface, and a per-arch builder can absorb its callees' bodies. This is a property of the build, not a miscount.

tdrv/ — 84 CU / 2413 fn

TUfnsRoleOwning pageConf
tdrv/tdrv.c67TDRV bring-up / device lifecycleruntime/tdrv-lifecycle.mdHIGH
tdrv/init.c28TDRV init sequenceruntime/tdrv-lifecycle.mdHIGH
tdrv/tdrv_arch_type.c83generation/arch enum + arch-ops dispatch tableruntime/tdrv-arch-ops.mdHIGH
tdrv/helper.c20arch-ops helpers / sync-event accessorsruntime/tdrv-arch-ops.mdHIGH
tdrv/dma_memory.c25device-memory (dmem) allocatorruntime/tdrv-dmem.mdHIGH
tdrv/dma_memory_logger.c22dmem alloc tracingruntime/tdrv-dmem.mdMEDIUM
tdrv/mem_ref.c5memory-reference / static planningruntime/tdrv-dmem.mdHIGH
tdrv/dma_ring.c44DMA descriptor ring engineruntime/tdrv-dma-rings.mdHIGH
tdrv/dma_dynamic_ring_set.c5dynamic ring-set allocationruntime/tdrv-dma-rings.mdHIGH
tdrv/sw_dma_queue.c6software DMA queue / swap-queueruntime/tdrv-dma-rings.mdHIGH
tdrv/dma_desc_util.c1116-byte descriptor builderdma/descriptor-format.mdHIGH
tdrv/cayman/dma_desc_util.c1cayman descriptor deltaruntime/arch-sdma.mdHIGH
tdrv/dma_queue_reg_offset.c20DMA-queue register offsetsruntime/arch-csr-offsets.mdHIGH
tdrv/dma_ring_act_tbl.c10SDMA/CCE activation table overlaydma/meta-ctrl-overlays.mdMEDIUM
tdrv/dma_ring_imcpy.c7inline-memcpy descriptor overlaydma/meta-ctrl-overlays.mdMEDIUM
tdrv/dma_ring_setup.c2ring trigger/doorbell setupdma/ring-cycle.mdHIGH
tdrv/scratchpad.c11HBM scratchpadruntime/tdrv-scratchpad.mdHIGH
tdrv/sync_point.c3sync-point accessorsruntime/tdrv-scratchpad.mdHIGH
tdrv/pseudo_core_barrier.c6pseudo-core barrierruntime/tdrv-scratchpad.mdMEDIUM
tdrv/tensor.c26tensor object layerruntime/tdrv-tensor.mdHIGH
tdrv/csr.c8CSR / control-status registersruntime/arch-csr-offsets.mdHIGH
tdrv/tpb_reg_offset.c9TPB register offsetsruntime/arch-csr-offsets.mdHIGH
tdrv/notification.c19notification / INTC harvestruntime/arch-notification.mdHIGH
tdrv/hal_platform.c14KaenaHal platform-services adapterruntime/hal-adapter.mdHIGH
tdrv/instr_tpb_functions.c6TPB/STPB FP8-dtype shimruntime/hal-tpb-shims.mdMEDIUM
tdrv/xt_cc.c4Xtensa CC arch-dispatch shimruntime/hal-tpb-shims.mdMEDIUM
tdrv/vring.c34virtual rings / packet buildersdma/virtual-rings.mdHIGH
tdrv/vtpb.c21virtual-TPB / STPB poolingruntime/arch-stpb.mdMEDIUM
tdrv/vtpb_info.c5vtpb descriptor inforuntime/arch-stpb.mdMEDIUM
tdrv/instr_dge.c2DGE engine-init builderruntime/arch-stpb.mdMEDIUM
tdrv/db.c15device bookruntime/device-book.mdHIGH
tdrv/dbtc.c9device-book TCruntime/device-book.mdHIGH
tdrv/ntrace.c7ntrace / nlog bridgeruntime/logging.mdMEDIUM
tdrv/pool_stdio.c6stdio pool allocatorruntime/logging.mdMEDIUM
tdrv/ring_buffer.c4log ring bufferruntime/logging.mdMEDIUM
tdrv/exec.c15exec hot-path driverexec/overview.mdHIGH
tdrv/events.c4exec event plumbingexec/overview.mdMEDIUM
tdrv/hw_exec_queue.c8submit-path HW exec queueexec/submit-path.mdHIGH
tdrv/io.c7I/O request handlingexec/submit-path.mdMEDIUM
tdrv/infer_error_subtype.c4inference error decodeexec/completion-engine.mdMEDIUM
tdrv/ht.c19hash-table (exec/model index)exec/kmgr-facade.mdMEDIUM
tdrv/lru_cache.c7LRU cacheexec/kmgr-facade.mdMEDIUM
tdrv/instruction_block.c8instruction-block builder baseisa/overview.mdHIGH
tdrv/instr_common.c4shared instruction helpersisa/overview.mdHIGH
tdrv/instruction_block_common.c864-byte instruction record formatisa/instruction-record.mdHIGH
tdrv/instruction_block_mariana.c297mariana ISA validator / builderisa/validator-architecture.mdHIGH
tdrv/instruction_block_cayman.c248cayman ISA validator / builderisa/validators-per-arch.mdHIGH
tdrv/instruction_block_sunda.c238sunda ISA validator / builderisa/validators-per-arch.mdHIGH
tdrv/instr_pseudo_branching.c8SP/TopSP pseudo-branch loweringisa/pseudo-instruction-lowering.mdHIGH
tdrv/instr_sunda_pseudo_range_check.c4sunda pseudo range checkisa/pseudo-instruction-lowering.mdHIGH
tdrv/instr_cayman.c7cayman instruction helpersisa/validators-per-arch.mdMEDIUM
tdrv/instr_sunda.c90sunda instruction helpersisa/validators-per-arch.mdMEDIUM
tdrv/instr_sunda_embedding_update.c3sunda embedding-update instrisa/validators-per-arch.mdMEDIUM
tdrv/instr_sunda_swap_queue_set.c7sunda swap-queue-set instrisa/validators-per-arch.mdMEDIUM
tdrv/instr_collectives.c20cc_op on-device ISAcollectives/cc-op-isa.mdHIGH
tdrv/instr_collectives_cayman.c1cayman cc_op deltacollectives/cc-op-isa.mdMEDIUM
tdrv/encd.c229device-side descriptor emittercollectives/encd-overview.mdHIGH
tdrv/encd/arch_device_mapping.c7encd DMA-descriptor / devmem floorcollectives/encd-dma-devmem.mdHIGH
tdrv/encd/nec_vil.c10nec/VIL libnccom-boundary gluecollectives/nccl-boundary.mdHIGH
tdrv/encd/archs/arch.c101per-arch encd ops dispatch (base)collectives/encd-arch-ops.mdHIGH
tdrv/encd/archs/cayman.c95cayman encd ops + HW geometrycollectives/encd-arch-ops.mdHIGH
tdrv/encd/archs/mariana.c95mariana encd ops + HW geometrycollectives/encd-arch-ops.mdHIGH
tdrv/encd/archs/sunda.c88sunda encd ops + HW geometrycollectives/encd-arch-ops.mdHIGH
tdrv/host_collectives.c7host-side collective gluecollectives/cc-op-isa.mdMEDIUM
tdrv/kbin.c2KBIN container structsneff/kbin-structs.mdHIGH
tdrv/kbin_patch.c8KBIN relocation patcherneff/kbin-structs.mdHIGH
tdrv/ucode_lib.c8microcode carrier (upload side)gpsimd/microcode-loader.mdHIGH
tdrv/cayman/tdrv_arch_cayman.c47cayman geometry / address mapruntime/arch-geometry.mdHIGH
tdrv/mariana/tdrv_arch_mariana.c46mariana geometry / address mapruntime/arch-geometry.mdHIGH
tdrv/sunda/tdrv_arch_sunda.c47sunda geometry / address mapruntime/arch-geometry.mdHIGH
tdrv/cayman/isa.c1cayman ISA constant tableisa/validators-per-arch.mdMEDIUM
tdrv/sunda/isa.c1sunda ISA constant tableisa/validators-per-arch.mdMEDIUM
tdrv/sunda/tsync.c8sunda time-syncruntime/arch-notification.mdMEDIUM
tdrv/sequencer_sunda.c9sunda sequencerisa/validators-per-arch.mdMEDIUM
tdrv/cayman/dve_dynamic_config_cayman.c1cayman DVE dynamic configforensics/dispatch-tables.mdMEDIUM
tdrv/mariana/dve_dynamic_config_mariana.c1mariana DVE dynamic configforensics/dispatch-tables.mdMEDIUM
tdrv/sunda/dve_dynamic_config_sunda.c1sunda DVE dynamic configforensics/dispatch-tables.mdMEDIUM
tdrv/dve_dynamic_config.c2DVE dynamic-config baseforensics/dispatch-tables.mdMEDIUM
tdrv/ds.c16descriptor-store helpersruntime/tdrv-lifecycle.mdMEDIUM
tdrv/model_switch.c1model-switch pathneff/load-pipeline.mdMEDIUM
tdrv/mr_pointer.c3memory-ref pointer fixupsneff/memory-planning.mdMEDIUM
tdrv/mla_addr_check.c1MLA address validationisa/validators-per-arch.mdMEDIUM
tdrv/hash_64a.c2FNV-1a 64 hashforensics/string-domain.mdMEDIUM
tdrv/ioq_switcher.c4I/O-queue switcherruntime/tdrv-dma-rings.mdMEDIUM

enc/ — 52 CU / 1062 fn

TUfnsRoleOwning pageConf
enc/enc.cc352collective-compute engine corecollectives/engine-core.mdHIGH
enc/enc_primitive.cc200algorithm taxonomy / ring schedulingcollectives/algorithm-taxonomy.mdHIGH
enc/rdh.cc75hierarchical / RDH compositioncollectives/hierarchical-rdh.mdHIGH
enc/inter_rdh.cc35inter-node RDH compositioncollectives/hierarchical-rdh.mdHIGH
enc/memory_segment.cc15enc memory segment / leavescollectives/enc-primitives.mdHIGH
enc/replica_groups.cc28topology partitioning (union-find)collectives/topology-partition.mdHIGH
enc/pod_mesh_primitive.cc14mesh composer (alg_mesh_initializer)collectives/mesh-composer.mdHIGH
enc/barrier.cc24switch-platform barrier tablescollectives/switch-broadcast-barrier.mdHIGH
enc/neuron_nccl.cc4libnrt↔libnccom comm contextcollectives/comm-context.mdHIGH
enc/nec.cc17nec collective entrycollectives/nccl-boundary.mdMEDIUM
enc/proxy_queue.cc23proxy / progress engine bridgecollectives/proxy-driver.mdHIGH
enc/bananaphone.c17bananaphone IPCcollectives/proxy-driver.mdHIGH
enc/async_sr/async_sr.cc12async point-to-point sendrecvcollectives/send-recv.mdHIGH
enc/async_sr/async_sr_ofi.cc10OFI sendrecv transportcollectives/send-recv.mdHIGH
enc/async_sr/async_sr_comm.cc4sendrecv comm contextcollectives/send-recv.mdMEDIUM
enc/async_sr/async_sr_context.cc1sendrecv context objectcollectives/send-recv.mdMEDIUM
enc/async_sr/async_sr_request.cc3sendrecv request objectcollectives/send-recv.mdMEDIUM
enc/async_sr/async_sr_service_thread.cc17sendrecv service threadcollectives/send-recv.mdMEDIUM
enc/async_sr/kv_store.cc25bootstrap KV storecollectives/comm-context.mdMEDIUM
enc/switch_platform/enc_switch_platform.cc27switch-platform composercollectives/switch-broadcast-barrier.mdHIGH
enc/switch_platform/enc_primitive_switch_platform.cc9switch-platform primitivecollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/broadcast/inter_axis_broadcast_event.cc11inter-axis broadcast eventcollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/broadcast/inter_axis_bw_opt_broadcast_event.cc6inter-axis BW-opt broadcastcollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/broadcast/intra_axis_broadcast_event.cc14intra-axis broadcast eventcollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/broadcast/intra_axis_bw_opt_broadcast_event.cc3intra-axis BW-opt broadcastcollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/broadcast/intra_chip_broadcast_event.cc10intra-chip broadcast eventcollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/broadcast/proxy_buff_pull_event.cc6proxy-buffer pull eventcollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/broadcast/proxy_buff_supported_broadcast_event.cc6proxy-buffer broadcast eventcollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/broadcast/proxy_buff_supported_chunk_broadcast_event.cc4proxy-buffer chunk broadcastcollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/broadcast/rmv_only_src_dst_routing_all_to_all_broadcast_event.cc7rmv-routing all-to-all broadcastcollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/reduce/inter_axis_dimr1w_event.cc8inter-axis dim-r1w reducecollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/events/reduce/intra_axis_chipr1w_event.cc7intra-axis chip-r1w reducecollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/events/reduce/intra_rank_dimr1w_event.cc8intra-rank dim-r1w reducecollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/events/reduce/proxy_buff_supported_local_reduce_event.cc8proxy-buffer local reducecollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/events/reduce/proxy_buff_supported_remote_reduce_event.cc7proxy-buffer remote reducecollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/events/reduce/single_step_reduce_event.cc8single-step reduce eventcollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/events/handshake/all_rank_handshake_event.cc3all-rank handshake eventcollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/handshake/intra_chip_handshake_event.cc3intra-chip handshake eventcollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/handshake/single_hop_pcie_peer_handshake_event.cc3single-hop PCIe peer handshakecollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/sync/dma_sync.cc3DMA sync eventcollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/events/function/function.cc2event-function basecollectives/switch-broadcast-barrier.mdMEDIUM
enc/switch_platform/ops/all_gather/all_gather_bw_opt.cc2all-gather BW-opt selectorcollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/ops/all_gather/all_gather_latency_opt.cc2all-gather latency-opt selectorcollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/ops/all_gather/all_gather_one_rank_per_chip.cc2all-gather one-rank-per-chipcollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/ops/all_reduce/all_reduce_bw_opt.cc2all-reduce BW-opt selectorcollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/ops/all_reduce/all_reduce_latency_opt.cc2all-reduce latency-opt selectorcollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/ops/all_reduce/all_reduce_one_rank_per_chip.cc2all-reduce one-rank-per-chipcollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/ops/all_reduce/all_reduce_single_step.cc2all-reduce single-stepcollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/ops/all_to_all/all_to_all_latency_opt.cc2all-to-all latency-opt selectorcollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/ops/all_to_all/all_to_all_rmv_only_src_dst_routing.cc3all-to-all rmv-routing selectorcollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/ops/reduce_scatter/reduce_scatter.cc2reduce-scatter selectorcollectives/algorithm-taxonomy.mdMEDIUM
enc/switch_platform/ops/reduce_scatter/reduce_scatter_one_rank_per_chip.cc2reduce-scatter one-rank-per-chipcollectives/algorithm-taxonomy.mdMEDIUM

GOTCHA — the 31 enc/switch_platform/events/* and ops/* TUs are template-instantiated and -O2-inlined; addr2line on their low_pcs resolves to STL header frames, so the address-band coverage cells folded them into enc.cc / enc_primitive.cc by address without naming the event TU. Their owning-page cells above (switch-broadcast-barrier.md for broadcast/barrier/handshake/sync, algorithm-taxonomy.md for reduce/op-selectors) are asserted by directory membership, not by an address-grounded source-filename cite — the lowest-confidence first-party rows on this page. This is the same gap recorded in the matrix CORRECTION (F-SRCMAP §4b).

nrt/ — 27 CU / 377 fn

TUfnsRoleOwning pageConf
nrt/nrt_init.cpp16public API lifecycle / initruntime/api-lifecycle.mdHIGH
nrt/nrt_infodump.cpp9info-dump APIruntime/api-lifecycle.mdHIGH
nrt/nrt_config.cpp51NEURON_RT_* env parse tableruntime/env-vars.mdHIGH
nrt/nrt_tensor.cpp5tensor API wrapperruntime/api-tensors.mdHIGH
nrt/nrt_async.cpp22async APIruntime/api-async-collectives.mdHIGH
nrt/nrt_async_sendrecv.cpp11sendrecv API thunksruntime/api-async-collectives.mdHIGH
nrt/nrt_collectives.cpp6collectives API thunksruntime/api-async-collectives.mdHIGH
nrt/nrt_barrier.cpp2barrier APIruntime/api-async-collectives.mdMEDIUM
nrt/nrt_exec.cpp3exec API surfaceexec/overview.mdMEDIUM
nrt/nrt_model.cpp5model API surfaceneff/load-pipeline.mdMEDIUM
nrt/nrt_status.cpp1NRT_STATUS stringsruntime/error-codes.mdHIGH
nrt/nrt_status_priority.cpp1status-priority rankingruntime/error-codes.mdHIGH
nrt/nrt_state.cpp3runtime state objectruntime/overview.mdMEDIUM
nrt/nrt_stats.cpp0stats API (fully inlined)runtime/overview.mdMEDIUM
nrt/nrt_ucode.cpp1ucode dlopen facade (C side)gpsimd/ucode-facade.mdHIGH
nrt/nrt_interned_string_db.cpp5interned string databaseruntime/interned-strings.mdHIGH
nrt/nrt_vnc_usage.cpp5virtual-NC usage trackingruntime/api-device-config.mdMEDIUM
nrt/nrt_profile.cpp94profile API / three trace producerstrace/overview.mdHIGH
nrt/nrt_inspect.cpp76inspect/profile APItrace/inspect-profile-api.mdHIGH
nrt/nrt_inspect_config.cpp22inspect config parsetrace/inspect-profile-api.mdHIGH
nrt/nrt_system_monitor.cpp14system monitortrace/system-monitor.mdHIGH
nrt/nrt_debug_stream.cpp3debug streamtrace/system-monitor.mdHIGH
nrt/nrt_sys_trace.cpp2SysTraceEventType taxonomytrace/event-taxonomy.mdHIGH
nrt/nrt_sys_trace_api.cpp4sys_trace APItrace/event-taxonomy.mdHIGH
nrt/nrt_sys_trace_api_options.cpp5sys_trace API optionstrace/event-taxonomy.mdMEDIUM
nrt/nrt_sys_trace_capture.cpp3sys_trace capture (Rust FFI C side)trace/rust-ffi.mdHIGH
nrt/nrt_sys_trace_capture_config.cpp8sys_trace capture configtrace/rust-ffi.mdMEDIUM

kelf/ — 5 CU / 318 fn

TUfnsRoleOwning pageConf
kelf/kelf.cpp184KELF/NEFF container parse + section taxonomyneff/section-taxonomy.mdHIGH
kelf/kelf2kbin.cpp126JSON → KBIN loweringneff/kelf2kbin.mdHIGH
kelf/neff.cpp6NEFF container entryneff/container.mdHIGH
kelf/load_numpy.c1numpy dtype loaderneff/dtype-system.mdHIGH
kelf/model_hlo_stats.cpp1HLO model statsneff/overview.mdMEDIUM

kmgr/ — 10 CU / 117 fn

TUfnsRoleOwning pageConf
kmgr/dlr.cpp43load pipeline / exec-manager facadeneff/load-pipeline.mdHIGH
kmgr/dlr_kelf.cpp7KELF-specific load pathneff/load-pipeline.mdHIGH
kmgr/dlr_io_check.cc4load I/O validationneff/load-pipeline.mdMEDIUM
kmgr/neff_json_parser.cpp8NEFF JSON metadata parseneff/metadata-schema.mdHIGH
kmgr/kmgr_metrics.cpp6exec-manager metricsexec/kmgr-facade.mdMEDIUM
kmgr/kmgr_async_exec.cc11async exec managerexec/overview.mdHIGH
kmgr/xu/queue.c9XU work-queueexec/xu-workers.mdHIGH
kmgr/xu/xu_worker.cc4XU worker threadexec/xu-workers.mdHIGH
kmgr/xu/tpb_xu.cc21TPB execution unitexec/xu-workers.mdHIGH
kmgr/xu/comp_handle_pool.c4completion-handle poolexec/xu-queue-abi.mdHIGH

nds/ — 6 CU / 36 fn

TUfnsRoleOwning pageConf
nds/neuron_ds.c6datastore overview / accessordatastore/userspace-libnds.mdHIGH
nds/neuron_ds_counters.c9counter planedatastore/userspace-libnds.mdHIGH
nds/neuron_ds_object.c6NDS object / wire formatdatastore/wire-format.mdHIGH
nds/neuron_ds_models.c8NDS model recordsdatastore/wire-format.mdHIGH
nds/neuron_ds_process.c4per-process planedatastore/userspace-libnds.mdHIGH
nds/neuron_ds_helpers.c3NDS helpersdatastore/userspace-libnds.mdMEDIUM

ucode/ — 1 CU / 26 fn

TUfnsRoleOwning pageConf
ucode/ucode.c26microcode loader / ext-ISA dlopen facadegpsimd/microcode-loader.mdHIGH

utils/ — 5 CU / 23 fn

TUfnsRoleOwning pageConf
utils/instance_helpers.c11instance-type detectionruntime/api-device-config.mdHIGH
utils/md5.c5MD5 digestforensics/string-domain.mdMEDIUM
utils/sha256.c4SHA-256 digestforensics/string-domain.mdMEDIUM
utils/time_helpers.c3time helpersforensics/string-domain.mdMEDIUM
utils/file.cpp0file helpers (fully inlined)forensics/string-domain.mdMEDIUM

nlog/ — 3 CU / 15 fn

TUfnsRoleOwning pageConf
nlog/nlog.c14logging coreruntime/logging.mdHIGH
nlog/backtrace.c1backtrace captureruntime/logging.mdMEDIUM
nlog/resolutions.c0symbol resolution (fully inlined)runtime/logging.mdMEDIUM

ndebug/ — 1 CU / 10 fn

TUfnsRoleOwning pageConf
ndebug/ndebug_stream.c10ndebug streamtrace/system-monitor.mdHIGH

dve_config/ — 4 CU / 7 fn

TUfnsRoleOwning pageConf
dve_config/dve_config.c1DVE config baseforensics/dispatch-tables.mdMEDIUM
dve_config/dve_config_cayman.c2cayman DVE configforensics/dispatch-tables.mdMEDIUM
dve_config/dve_config_mariana.c2mariana DVE configforensics/dispatch-tables.mdMEDIUM
dve_config/dve_config_sunda.c2sunda DVE configforensics/dispatch-tables.mdMEDIUM

dx/, hw_decode/, build/ — 5 CU / 3 fn

TUfnsRoleOwning pageConf
dx/ring.c2notification ringkernel/notification-queues.mdMEDIUM
hw_decode/hw_decode.c1hw_decode table glueneff/dtype-system.mdMEDIUM
build/.../dve_config/dve_config_bins.c0generated DVE blob stubforensics/static-init.mdMEDIUM
build/.../hw_decode/hw_decode_bins.c0generated hw_decode blob stubforensics/static-init.mdMEDIUM
build/.../ucode/ucode_bins.c0generated ucode blob stubforensics/static-init.mdMEDIUM

3. The total and what is excluded

The thirteen subsystem directories plus the build/ blob stubs sum to the 203 first-party CUs / 4,407 defined functions reported in the at-a-glance table. The per-subsystem rollup:

DirectoryCUsfns
tdrv/842413
enc/521062
nrt/27377
kelf/5318
kmgr/10117
nds/636
ucode/126
utils/523
nlog/315
ndebug/110
dve_config/47
dx/12
hw_decode/11
build/ (blob stubs)30
Total first-party2034407

What this tree deliberately excludes:

  • The 128 vendored CUs (incl. 6 zlib-builtin) — the other half of the 331-CU table. Their object code is statically linked into libnrt.so's .text (Abseil, Rust std/core/alloc + crates, KaenaProfilerFormat's ntff.pb.cc / neuron_trace.pb.cc, libarchive, simdjson, zlib, KaenaDriverLib's ndl.c), but they are not KaenaRuntime source and are versioned on the Vendored-Library SBOM, not here. The KaenaProfilerFormat protobuf is generated from an AWS-authored .proto, so it lands in the vendored half by origin, not by being third-party OSS.
  • The no-DWARF sibling binarieslibncfw.so (collectives firmware carrier) and libnrtucode_extisa.so (GPSIMD/Q7 ext-ISA provider) carry no compile units, so no source tree is recoverable from them; their structure is documented in Parts X–XI from binary layout, not DWARF.
  • The kernel .ko (aws-neuronx-dkms) — a separate GPL binary with its own source tree; its TU filenames are reconstructed from the GPL DKMS tree in Part III, not from libnrt.so's DWARF.

NOTE — the DWARF compile-unit count (203 first-party) is the authoritative TU count and supersedes the earlier __FILE__-string-derived figure (221), which counted headers (.h / .hpp) that have no compile unit of their own. The DWARF count is translation units only: a header included by many TUs leaves no CU, so it never appears in this tree.


Cross-References

  • Subsystem ↔ Binary ↔ Source-TU Matrix — the same 203 TUs indexed by subsystem Part; the source of every owning-page cell above and the dual-organization straddles
  • Vendored-Library SBOM — version pins for the 128 vendored CUs this tree excludes (Abseil, protobuf, Rust, libarchive, zlib, simdjson, KaenaDriverLib)
  • Binary Layout — the ELF section/segment census these compile units compile into
  • Symbol-Version Manifest — the NRT_2.0.0 / NRT_3.0.0 .gnu.version_d nodes that export the public surface of the nrt/ TUs