diff --git a/src/a2a3/runtime/host_build_graph/aicpu/aicpu_executor.cpp b/src/a2a3/runtime/host_build_graph/aicpu/aicpu_executor.cpp index bf15c91bcd..239658a8e2 100644 --- a/src/a2a3/runtime/host_build_graph/aicpu/aicpu_executor.cpp +++ b/src/a2a3/runtime/host_build_graph/aicpu/aicpu_executor.cpp @@ -8,48 +8,27 @@ * See LICENSE in the root of the software repository for the full text of the License. * ----------------------------------------------------------------------------------------------------------- */ -#include - #include -#include #include #include #include #include -#ifdef __linux__ -#include -#endif -#include "aicpu/device_time.h" #include "aicpu/device_phase_aicpu.h" -#include "callable_protocol.h" -#include "dispatch_payload.h" #include "runtime.h" #include "spin_hint.h" // Runtime headers (full struct definition for create/destroy + SIMPLER_SCOPE) #include "host_build_graph/runtime_core.h" -#include "host_build_graph/runtime_types.h" #include "host_build_graph/shared_memory.h" -// Performance profiling headers -#include "aicpu/chip_swimlane_collector_aicpu.h" -#include "aicpu/args_dump_aicpu.h" -#include "common/chip_swimlane_profiling.h" #include "common/unified_log.h" // Register-based communication #include "aicpu/platform_aicpu_affinity.h" #include "aicpu/platform_regs.h" -#include "common/platform_config.h" #include "utils/thread_completion_gate.h" -// Core type definitions -#include "common/core_type.h" - -// CoreCallable for resolved dispatch address -#include "callable.h" - // Scheduler data structures (CoreExecState, CoreTracker, etc.) #include "scheduler/scheduler_types.h" diff --git a/src/a2a3/runtime/host_build_graph/host/runtime_maker.cpp b/src/a2a3/runtime/host_build_graph/host/runtime_maker.cpp index 89f74e5852..adeec689b2 100644 --- a/src/a2a3/runtime/host_build_graph/host/runtime_maker.cpp +++ b/src/a2a3/runtime/host_build_graph/host/runtime_maker.cpp @@ -48,13 +48,12 @@ #include #include #include -#include #include #include #include +#include "assert_compat.h" #include "host_build_graph/runtime_status.h" -#include "host_build_graph/common.h" #include "host_build_graph/dep_gen_host_graph.h" #include "host_build_graph/graph_execution.h" #include "host_build_graph/host_tensor_access.h" @@ -72,7 +71,7 @@ #include "../../../../common/worker/runtime_c_api.h" #include "callable.h" #include "common/host_log_binding.h" -#include "common/log_clock.h" +#include "common/host_phase_kind.h" #include "common/platform_config.h" #include "common/unified_log.h" #include "host_log.h" diff --git a/src/a2a3/runtime/host_build_graph/orchestration/common.cpp b/src/a2a3/runtime/host_build_graph/orchestration/common.cpp index bda9a55a42..a6556db0fe 100644 --- a/src/a2a3/runtime/host_build_graph/orchestration/common.cpp +++ b/src/a2a3/runtime/host_build_graph/orchestration/common.cpp @@ -8,13 +8,13 @@ * See LICENSE in the root of the software repository for the full text of the License. * ----------------------------------------------------------------------------------------------------------- */ +#include "assert_compat.h" #include "host_build_graph/common.h" #ifdef __linux__ #include #include #include -#include #include #include diff --git a/src/a2a3/runtime/host_build_graph/orchestration/orchestration_api.h b/src/a2a3/runtime/host_build_graph/orchestration/orchestration_api.h index 2b9d31d06b..1514664172 100644 --- a/src/a2a3/runtime/host_build_graph/orchestration/orchestration_api.h +++ b/src/a2a3/runtime/host_build_graph/orchestration/orchestration_api.h @@ -30,30 +30,22 @@ #include #include -#include -#include -#include #include #include #include -#include -#include #include #include -#include -#include // Type headers needed by orchestration -#include "host_build_graph/common.h" // framework_bind_runtime / framework_current_runtime -#include "common/host_phase_kind.h" // HostPhaseKind, for the phase records below -#include "host_build_graph/graph_cache.h" // Graph Execution key and result helpers -#include "host_build_graph/graph_host_state.h" // GRAPH_MAX_DEFINITIONS -#include "host_build_graph/runtime_ops.h" // RuntimeOps, RuntimeContext forward declaration -#include "host_build_graph/runtime_types.h" // SIMPLER_ERROR_* -#include "host_build_graph/submit_types.h" // MixedKernels, INVALID_KERNEL_ID, subtask slots -#include "types.h" // Arg, TaskOutputTensors, TensorArgType -#include "task_args.h" // ChipStorageTaskArgs, simpler::hbg::Tensor -#include "tensor.h" // simpler::hbg::Tensor, TensorCreateInfo +#include "assert_compat.h" // debug_assert +#include "host_build_graph/common.h" // framework_bind_runtime / framework_current_runtime +#include "common/host_phase_kind.h" // HostPhaseKind, for the phase records below +#include "host_build_graph/graph_cache.h" // Graph Execution key and result helpers +#include "host_build_graph/runtime_ops.h" // RuntimeOps, RuntimeContext forward declaration +#include "host_build_graph/runtime_status.h" // SIMPLER_ERROR_* +#include "host_build_graph/submit_types.h" // MixedKernels, INVALID_KERNEL_ID, subtask slots +#include "types.h" // Arg, TaskOutputTensors, TensorArgType +#include "tensor.h" // simpler::hbg::Tensor, TensorCreateInfo // ============================================================================= // simpler::hbg::Tensor Factory Helpers diff --git a/src/a2a3/runtime/host_build_graph/runtime/aicore_completion_mailbox.h b/src/a2a3/runtime/host_build_graph/runtime/aicore_completion_mailbox.h index 43c47c8d2d..a25755033e 100644 --- a/src/a2a3/runtime/host_build_graph/runtime/aicore_completion_mailbox.h +++ b/src/a2a3/runtime/host_build_graph/runtime/aicore_completion_mailbox.h @@ -14,7 +14,6 @@ #include #include -#include "aicore_completion_mailbox_types.h" #include "host_build_graph/constants.h" #include "host_build_graph/task_id.h" diff --git a/src/a2a3/runtime/host_build_graph/runtime/async_wait.h b/src/a2a3/runtime/host_build_graph/runtime/async_wait.h index 877a989899..a3a4fe782d 100644 --- a/src/a2a3/runtime/host_build_graph/runtime/async_wait.h +++ b/src/a2a3/runtime/host_build_graph/runtime/async_wait.h @@ -12,14 +12,13 @@ #pragma once #include -#include #include -#include "aicpu/platform_regs.h" #include "backend/sdma/sdma_completion_scheduler.h" -#include "intrinsic.h" #include "aicore_completion_mailbox.h" +#include "aicore_completion_mailbox_types.h" #include "host_build_graph/completion_token.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_types.h" struct SchedulerState; diff --git a/src/a2a3/runtime/host_build_graph/runtime/backend/sdma/sdma_completion_scheduler.h b/src/a2a3/runtime/host_build_graph/runtime/backend/sdma/sdma_completion_scheduler.h index 7e8de807bc..ac49fc7f58 100644 --- a/src/a2a3/runtime/host_build_graph/runtime/backend/sdma/sdma_completion_scheduler.h +++ b/src/a2a3/runtime/host_build_graph/runtime/backend/sdma/sdma_completion_scheduler.h @@ -11,12 +11,11 @@ #pragma once -#include #include -#include "aicpu/platform_regs.h" -#include "aicore_completion_mailbox.h" +#include "aicpu/cache_maintenance.h" #include "host_build_graph/completion_token.h" +#include "host_build_graph/constants.h" #include "host_build_graph/runtime_status.h" inline uintptr_t sdma_completion_cache_line(const volatile void *addr) { diff --git a/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler.h b/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler.h index c2c0546d41..3981ed36f2 100644 --- a/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler.h +++ b/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler.h @@ -34,18 +34,23 @@ #include -#include "common/core_type.h" #include "common/memory_barrier.h" #include "utils/device_arena.h" #include "aicpu/platform_regs.h" // get_reg_ptr / RegId for the early-dispatch doorbell #include "async_wait.h" #include "host_build_graph/graph_execution.h" #include "host_build_graph/task_id.h" -#include "host_build_graph/task_allocator.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_types.h" #include "host_build_graph/shared_memory.h" +// Defines the SIMPLER_*_PROFILING levels the conditionals below test. An #if on an +// undefined macro evaluates to 0, so a profiling block reached through a transitive +// include would switch itself off silently if that path ever went away. +#include "profiling_config.h" -#include "aicpu/device_time.h" // get_sys_cnt_aicpu (used by early-dispatch doorbell timing too) +#if SIMPLER_ORCH_PROFILING || SIMPLER_SCHED_PROFILING +#include "aicpu/device_time.h" // get_sys_cnt_aicpu, used only by the timed blocks below +#endif #if SIMPLER_SCHED_PROFILING #define SCHED_CYCLE_START() uint64_t _st0 = get_sys_cnt_aicpu(), _st1 #define SCHED_CYCLE_LAP(acc) \ diff --git a/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_cold_path.cpp b/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_cold_path.cpp index 248b86366c..2eb5c6af2d 100644 --- a/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_cold_path.cpp +++ b/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_cold_path.cpp @@ -13,6 +13,7 @@ #include #include +#include "assert_compat.h" #include "common/unified_log.h" #include "aicpu/device_time.h" #include "aicpu/chip_swimlane_collector_aicpu.h" @@ -22,6 +23,7 @@ #include "common/memory_barrier.h" #include "common/chip_swimlane_profiling.h" #include "common/platform_config.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_core.h" #include "host_build_graph/shared_memory.h" #include "runtime.h" diff --git a/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_completion.cpp b/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_completion.cpp index 051660cd6d..63821c8c43 100644 --- a/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_completion.cpp +++ b/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_completion.cpp @@ -10,14 +10,12 @@ */ #include "scheduler_context.h" -#include - #include "common/unified_log.h" #include "aicpu/device_time.h" -#include "aicpu/platform_regs.h" #include "common/chip_swimlane_profiling.h" #include "common/memory_barrier.h" #include "common/platform_config.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_core.h" #include "runtime.h" #include "spin_hint.h" diff --git a/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_context.h b/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_context.h index ec649950de..59a0bd7796 100644 --- a/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_context.h +++ b/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_context.h @@ -10,6 +10,7 @@ */ #pragma once +#include "assert_compat.h" #include "aicpu/device_phase_aicpu.h" #include "aicpu/platform_regs.h" #include "common/chip_swimlane_profiling.h" @@ -19,7 +20,6 @@ #include "scheduler/scheduler.h" -#include "aicore_completion_mailbox.h" #include "dispatch_payload.h" // runtime.h cannot be included here — it pulls in Handshake, which this header diff --git a/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_dispatch.cpp b/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_dispatch.cpp index b21ba11ae6..1c6da51125 100644 --- a/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_dispatch.cpp +++ b/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_dispatch.cpp @@ -14,17 +14,18 @@ #include #include -#include "host_build_graph/common.h" // debug_assert +#include "assert_compat.h" // debug_assert +#include "host_build_graph/common.h" #include "common/unified_log.h" #include "aicpu/aicpu_device_config.h" #include "aicpu/device_time.h" -#include "aicpu/platform_regs.h" #include "callable.h" #include "common/chip_swimlane_profiling.h" #include "common/memory_barrier.h" #include "common/platform_config.h" #include "host_build_graph/async_poll_phase_accumulator.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_core.h" #include "runtime.h" #include "spin_hint.h" diff --git a/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_types.h b/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_types.h index 9ba746ee22..5fbd550db9 100644 --- a/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_types.h +++ b/src/a2a3/runtime/host_build_graph/runtime/scheduler/scheduler_types.h @@ -14,6 +14,7 @@ #include #include +#include "assert_compat.h" #include "common/core_type.h" #include "common/platform_config.h" #include "host_build_graph/runtime_types.h" diff --git a/src/a5/runtime/host_build_graph/aicpu/aicpu_executor.cpp b/src/a5/runtime/host_build_graph/aicpu/aicpu_executor.cpp index 0ef9291175..bdb0bc0fe0 100644 --- a/src/a5/runtime/host_build_graph/aicpu/aicpu_executor.cpp +++ b/src/a5/runtime/host_build_graph/aicpu/aicpu_executor.cpp @@ -8,29 +8,21 @@ * See LICENSE in the root of the software repository for the full text of the License. * ----------------------------------------------------------------------------------------------------------- */ -#include - #include -#include #include #include #include #include #include -#ifdef __linux__ -#include -#endif #include "aicore_lifecycle.h" #include "aicore_scheduler_error.h" #include "aicore_scheduler_state.h" #include "aicpu/aicpu_device_config.h" #include "aicpu/cache_maintenance.h" -#include "aicpu/args_dump_aicpu.h" #include "aicpu/chip_swimlane_collector_aicpu.h" #include "aicpu/device_phase_aicpu.h" #include "aicpu/device_time.h" -#include "aicpu/pmu_collector_aicpu.h" #include "host_build_graph/runtime_status.h" #include "host_build_graph/shared_memory.h" #include "runtime.h" diff --git a/src/a5/runtime/host_build_graph/host/runtime_maker.cpp b/src/a5/runtime/host_build_graph/host/runtime_maker.cpp index c81c35d6dc..3376813f99 100644 --- a/src/a5/runtime/host_build_graph/host/runtime_maker.cpp +++ b/src/a5/runtime/host_build_graph/host/runtime_maker.cpp @@ -50,13 +50,12 @@ #include #include #include -#include #include #include #include +#include "assert_compat.h" #include "host_build_graph/runtime_status.h" -#include "host_build_graph/common.h" #include "host_build_graph/dep_gen_host_graph.h" #include "host_build_graph/graph_execution.h" #include "scheduler/scheduler_graph.h" @@ -76,7 +75,7 @@ #include "../../../../common/worker/runtime_c_api.h" #include "callable.h" #include "common/host_log_binding.h" -#include "common/log_clock.h" +#include "common/host_phase_kind.h" #include "common/platform_config.h" #include "common/unified_log.h" #include "host_log.h" diff --git a/src/a5/runtime/host_build_graph/orchestration/common.cpp b/src/a5/runtime/host_build_graph/orchestration/common.cpp index bda9a55a42..a6556db0fe 100644 --- a/src/a5/runtime/host_build_graph/orchestration/common.cpp +++ b/src/a5/runtime/host_build_graph/orchestration/common.cpp @@ -8,13 +8,13 @@ * See LICENSE in the root of the software repository for the full text of the License. * ----------------------------------------------------------------------------------------------------------- */ +#include "assert_compat.h" #include "host_build_graph/common.h" #ifdef __linux__ #include #include #include -#include #include #include diff --git a/src/a5/runtime/host_build_graph/orchestration/orchestration_api.h b/src/a5/runtime/host_build_graph/orchestration/orchestration_api.h index 2b9d31d06b..1514664172 100644 --- a/src/a5/runtime/host_build_graph/orchestration/orchestration_api.h +++ b/src/a5/runtime/host_build_graph/orchestration/orchestration_api.h @@ -30,30 +30,22 @@ #include #include -#include -#include -#include #include #include #include -#include -#include #include #include -#include -#include // Type headers needed by orchestration -#include "host_build_graph/common.h" // framework_bind_runtime / framework_current_runtime -#include "common/host_phase_kind.h" // HostPhaseKind, for the phase records below -#include "host_build_graph/graph_cache.h" // Graph Execution key and result helpers -#include "host_build_graph/graph_host_state.h" // GRAPH_MAX_DEFINITIONS -#include "host_build_graph/runtime_ops.h" // RuntimeOps, RuntimeContext forward declaration -#include "host_build_graph/runtime_types.h" // SIMPLER_ERROR_* -#include "host_build_graph/submit_types.h" // MixedKernels, INVALID_KERNEL_ID, subtask slots -#include "types.h" // Arg, TaskOutputTensors, TensorArgType -#include "task_args.h" // ChipStorageTaskArgs, simpler::hbg::Tensor -#include "tensor.h" // simpler::hbg::Tensor, TensorCreateInfo +#include "assert_compat.h" // debug_assert +#include "host_build_graph/common.h" // framework_bind_runtime / framework_current_runtime +#include "common/host_phase_kind.h" // HostPhaseKind, for the phase records below +#include "host_build_graph/graph_cache.h" // Graph Execution key and result helpers +#include "host_build_graph/runtime_ops.h" // RuntimeOps, RuntimeContext forward declaration +#include "host_build_graph/runtime_status.h" // SIMPLER_ERROR_* +#include "host_build_graph/submit_types.h" // MixedKernels, INVALID_KERNEL_ID, subtask slots +#include "types.h" // Arg, TaskOutputTensors, TensorArgType +#include "tensor.h" // simpler::hbg::Tensor, TensorCreateInfo // ============================================================================= // simpler::hbg::Tensor Factory Helpers diff --git a/src/a5/runtime/host_build_graph/runtime/aicore_completion_mailbox.h b/src/a5/runtime/host_build_graph/runtime/aicore_completion_mailbox.h index 43c47c8d2d..a25755033e 100644 --- a/src/a5/runtime/host_build_graph/runtime/aicore_completion_mailbox.h +++ b/src/a5/runtime/host_build_graph/runtime/aicore_completion_mailbox.h @@ -14,7 +14,6 @@ #include #include -#include "aicore_completion_mailbox_types.h" #include "host_build_graph/constants.h" #include "host_build_graph/task_id.h" diff --git a/src/a5/runtime/host_build_graph/runtime/async_wait.h b/src/a5/runtime/host_build_graph/runtime/async_wait.h index 13fd0e8084..1abf209fab 100644 --- a/src/a5/runtime/host_build_graph/runtime/async_wait.h +++ b/src/a5/runtime/host_build_graph/runtime/async_wait.h @@ -12,14 +12,13 @@ #pragma once #include -#include #include -#include "aicpu/platform_regs.h" #include "backend/sdma/sdma_completion_scheduler.h" -#include "intrinsic.h" #include "aicore_completion_mailbox.h" +#include "aicore_completion_mailbox_types.h" #include "host_build_graph/completion_token.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_types.h" struct SchedulerState; diff --git a/src/a5/runtime/host_build_graph/runtime/backend/sdma/sdma_completion_scheduler.h b/src/a5/runtime/host_build_graph/runtime/backend/sdma/sdma_completion_scheduler.h index c054e50856..92a9c63baf 100644 --- a/src/a5/runtime/host_build_graph/runtime/backend/sdma/sdma_completion_scheduler.h +++ b/src/a5/runtime/host_build_graph/runtime/backend/sdma/sdma_completion_scheduler.h @@ -11,11 +11,8 @@ #pragma once -#include #include -#include "aicpu/platform_regs.h" -#include "aicore_completion_mailbox.h" #include "host_build_graph/completion_token.h" #include "host_build_graph/runtime_status.h" diff --git a/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler.h b/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler.h index 49ce21dc78..6b6e006b11 100644 --- a/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler.h +++ b/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler.h @@ -34,19 +34,24 @@ #include -#include "common/core_type.h" #include "common/memory_barrier.h" #include "utils/device_arena.h" #include "aicpu/platform_regs.h" // get_reg_ptr / RegId for the early-dispatch doorbell #include "async_wait.h" #include "host_build_graph/graph_execution.h" #include "host_build_graph/task_id.h" -#include "host_build_graph/task_allocator.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_types.h" #include "host_build_graph/shared_memory.h" #include "scheduler_graph.h" +// Defines the SIMPLER_*_PROFILING levels the conditionals below test. An #if on an +// undefined macro evaluates to 0, so a profiling block reached through a transitive +// include would switch itself off silently if that path ever went away. +#include "profiling_config.h" -#include "aicpu/device_time.h" // get_sys_cnt_aicpu (used by early-dispatch doorbell timing too) +#if SIMPLER_ORCH_PROFILING || SIMPLER_SCHED_PROFILING +#include "aicpu/device_time.h" // get_sys_cnt_aicpu, used only by the timed blocks below +#endif // scheduler_graph.h states the storage layout as literals, because the AICore .o // that reads it cannot include runtime_types.h. This translation unit sees both, diff --git a/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_cold_path.cpp b/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_cold_path.cpp index 248b86366c..2eb5c6af2d 100644 --- a/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_cold_path.cpp +++ b/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_cold_path.cpp @@ -13,6 +13,7 @@ #include #include +#include "assert_compat.h" #include "common/unified_log.h" #include "aicpu/device_time.h" #include "aicpu/chip_swimlane_collector_aicpu.h" @@ -22,6 +23,7 @@ #include "common/memory_barrier.h" #include "common/chip_swimlane_profiling.h" #include "common/platform_config.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_core.h" #include "host_build_graph/shared_memory.h" #include "runtime.h" diff --git a/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_completion.cpp b/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_completion.cpp index edd0126a82..7f670f52e1 100644 --- a/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_completion.cpp +++ b/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_completion.cpp @@ -10,14 +10,12 @@ */ #include "scheduler_context.h" -#include - #include "common/unified_log.h" #include "aicpu/device_time.h" -#include "aicpu/platform_regs.h" #include "common/chip_swimlane_profiling.h" #include "common/memory_barrier.h" #include "common/platform_config.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_core.h" #include "runtime.h" #include "spin_hint.h" diff --git a/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_context.h b/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_context.h index ec649950de..59a0bd7796 100644 --- a/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_context.h +++ b/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_context.h @@ -10,6 +10,7 @@ */ #pragma once +#include "assert_compat.h" #include "aicpu/device_phase_aicpu.h" #include "aicpu/platform_regs.h" #include "common/chip_swimlane_profiling.h" @@ -19,7 +20,6 @@ #include "scheduler/scheduler.h" -#include "aicore_completion_mailbox.h" #include "dispatch_payload.h" // runtime.h cannot be included here — it pulls in Handshake, which this header diff --git a/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_dispatch.cpp b/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_dispatch.cpp index 94c101a66f..f7bf4bade8 100644 --- a/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_dispatch.cpp +++ b/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_dispatch.cpp @@ -14,17 +14,18 @@ #include #include -#include "host_build_graph/common.h" // debug_assert +#include "assert_compat.h" // debug_assert +#include "host_build_graph/common.h" #include "common/unified_log.h" #include "aicpu/aicpu_device_config.h" #include "aicpu/device_time.h" -#include "aicpu/platform_regs.h" #include "callable.h" #include "common/chip_swimlane_profiling.h" #include "common/memory_barrier.h" #include "common/platform_config.h" #include "host_build_graph/async_poll_phase_accumulator.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_core.h" #include "runtime.h" #include "spin_hint.h" diff --git a/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_types.h b/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_types.h index e356e1b872..a50bdf506c 100644 --- a/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_types.h +++ b/src/a5/runtime/host_build_graph/runtime/scheduler/scheduler_types.h @@ -14,6 +14,7 @@ #include #include +#include "assert_compat.h" #include "common/core_type.h" #include "common/platform_config.h" #include "dispatch_payload.h" diff --git a/src/common/host_build_graph/common.h b/src/common/host_build_graph/common.h index 87e9da9a94..bec686eb6f 100644 --- a/src/common/host_build_graph/common.h +++ b/src/common/host_build_graph/common.h @@ -11,16 +11,8 @@ #pragma once -#include #include -// Assertion macros (always_assert / debug_assert), AssertionError, and the -// MAYBE_UNINITIALIZED diagnostics live in the shared header so the unified -// simpler::hbg::Tensor (src/common/task_interface/tensor.h) can use them without depending -// on this runtime-specific header. assert_impl / get_stacktrace are defined in -// orchestration/common.cpp for runtime targets. -#include "assert_compat.h" - // Framework-internal TLS bridge. The executor binds the current thread's // runtime before invoking the orchestration entry, so orchestration helpers can // fetch the current RuntimeContext without explicit parameter threading. Declared diff --git a/src/common/host_build_graph/completion_token.h b/src/common/host_build_graph/completion_token.h index 70c567a6ad..d885cc4334 100644 --- a/src/common/host_build_graph/completion_token.h +++ b/src/common/host_build_graph/completion_token.h @@ -13,7 +13,6 @@ #include -#include "aicore_completion_mailbox_types.h" #include "host_build_graph/runtime_status.h" // CompletionToken is the runtime-internal POD that backend submit handlers diff --git a/src/common/host_build_graph/dep_gen_host_graph.h b/src/common/host_build_graph/dep_gen_host_graph.h index e29d2113a6..d1a7962114 100644 --- a/src/common/host_build_graph/dep_gen_host_graph.h +++ b/src/common/host_build_graph/dep_gen_host_graph.h @@ -58,7 +58,6 @@ #include -#include "host_build_graph/task_id.h" #include "host_build_graph/tensormap.h" #include "host_build_graph/types.h" // TensorRef #include "tensor.h" diff --git a/src/common/host_build_graph/device/graph_execution.cpp b/src/common/host_build_graph/device/graph_execution.cpp index 674f9ee852..0e383c7471 100644 --- a/src/common/host_build_graph/device/graph_execution.cpp +++ b/src/common/host_build_graph/device/graph_execution.cpp @@ -13,9 +13,7 @@ #include #include -#include -#include "graph_cache.h" #include "host_build_graph/task_id.h" namespace { diff --git a/src/common/host_build_graph/host/graph_recorder_pool.cpp b/src/common/host_build_graph/host/graph_recorder_pool.cpp index c2408f220e..a92c9168c4 100644 --- a/src/common/host_build_graph/host/graph_recorder_pool.cpp +++ b/src/common/host_build_graph/host/graph_recorder_pool.cpp @@ -13,7 +13,6 @@ #include #include -#include "graph_host_state.h" // The ops implementations below need the full RuntimeContext, which is why the // header does not include this: a translation unit cannot see both it and // orchestration_api.h's partial definition. diff --git a/src/common/host_build_graph/host/host_phase_trace.cpp b/src/common/host_build_graph/host/host_phase_trace.cpp index 761231f1f2..98aaa8ca3c 100644 --- a/src/common/host_build_graph/host/host_phase_trace.cpp +++ b/src/common/host_build_graph/host/host_phase_trace.cpp @@ -21,15 +21,21 @@ #include #include #include -#include #include -#include #if defined(__linux__) #include #include #endif +// The thread-id fallback below runs only where SYS_gettid is unavailable, and it is +// the sole user of these two. SYS_gettid comes from , so this test +// has to follow that include. +#if !(defined(__linux__) && defined(SYS_gettid)) +#include +#include +#endif + #include "common/host_api.h" #include "common/log_clock.h" #include "common/strace.h" diff --git a/src/common/host_build_graph/host/orchestrator.cpp b/src/common/host_build_graph/host/orchestrator.cpp index 2599588634..c6d5a4408a 100644 --- a/src/common/host_build_graph/host/orchestrator.cpp +++ b/src/common/host_build_graph/host/orchestrator.cpp @@ -43,8 +43,8 @@ #include #include +#include "assert_compat.h" #include "common/host_phase_kind.h" -#include "common/platform_config.h" #include "common/unified_log.h" #include "host_build_graph/dep_gen_host_graph.h" #include "host_build_graph/dep_compute.h" @@ -52,6 +52,7 @@ #include "graph_execution.h" #include "graph_host_state.h" #include "host_build_graph/task_id.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_types.h" #include "host_build_graph/shared_memory.h" #include "host_build_graph/tensormap.h" diff --git a/src/common/host_build_graph/host/runtime_core.cpp b/src/common/host_build_graph/host/runtime_core.cpp index dc61bdd185..50be70c60d 100644 --- a/src/common/host_build_graph/host/runtime_core.cpp +++ b/src/common/host_build_graph/host/runtime_core.cpp @@ -25,6 +25,7 @@ #include #include "common/unified_log.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/host_tensor_access.h" #include "host_build_graph/task_id.h" diff --git a/src/common/host_build_graph/host/tensormap.cpp b/src/common/host_build_graph/host/tensormap.cpp index 9c9226075c..3ec6169620 100644 --- a/src/common/host_build_graph/host/tensormap.cpp +++ b/src/common/host_build_graph/host/tensormap.cpp @@ -27,12 +27,12 @@ #include "host_build_graph/tensormap.h" #include -#include #include -#include "host_build_graph/common.h" +#include "assert_compat.h" #include "common/unified_log.h" +#include "host_build_graph/runtime_types.h" // ============================================================================= // TensorMap Lookup Chain Length Statistics (compile-time toggle) diff --git a/src/common/host_build_graph/orchestrator.h b/src/common/host_build_graph/orchestrator.h index 688bc7b692..45655da6c0 100644 --- a/src/common/host_build_graph/orchestrator.h +++ b/src/common/host_build_graph/orchestrator.h @@ -31,9 +31,9 @@ #include #include -#include "common/chip_swimlane_profiling.h" #include "host_build_graph/task_allocator.h" #include "graph_cache.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_types.h" #include "host_build_graph/submit_types.h" #include "host_build_graph/shared_memory.h" diff --git a/src/common/host_build_graph/runtime.h b/src/common/host_build_graph/runtime.h index 1aca5901e7..9f7db8f963 100644 --- a/src/common/host_build_graph/runtime.h +++ b/src/common/host_build_graph/runtime.h @@ -30,16 +30,12 @@ #include #include -#include // for fprintf, printf -#include // for memset #include #include "common/core_type.h" -#include "common/chip_swimlane_profiling.h" #include "common/platform_config.h" #include "aicpu/platform_aicpu_affinity.h" // MAX_GATE_THREADS (aicpu_allowed_cpus bound) -#include "dispatch_payload.h" #include "task_args.h" #include "host_build_graph/entry_args.h" // EntryArgsStorage diff --git a/src/common/host_build_graph/runtime_core.h b/src/common/host_build_graph/runtime_core.h index d7ec2fc54d..032e15140c 100644 --- a/src/common/host_build_graph/runtime_core.h +++ b/src/common/host_build_graph/runtime_core.h @@ -37,13 +37,8 @@ #include #include "utils/device_arena.h" -#include "host_build_graph/runtime_types.h" -#include "graph_cache.h" #include "host_build_graph/runtime_ops.h" -#include "host_build_graph/submit_types.h" #include "host_build_graph/shared_memory.h" -#include "host_build_graph/task_allocator.h" -#include "host_build_graph/tensormap.h" #include "scheduler/scheduler.h" #include "host_build_graph/orchestrator.h" #include "aicore_completion_mailbox.h" diff --git a/src/common/host_build_graph/runtime_types.h b/src/common/host_build_graph/runtime_types.h index 58db0976db..d457f225be 100644 --- a/src/common/host_build_graph/runtime_types.h +++ b/src/common/host_build_graph/runtime_types.h @@ -32,17 +32,22 @@ #include #include +#include "assert_compat.h" +// Defines SIMPLER_DFX and the SIMPLER_*_PROFILING levels the conditionals in this +// header test, so it has to precede them rather than sit inside one: an #if on an +// undefined macro evaluates to 0, and a profiling block guarded that way would +// switch itself off and report nothing. A macro named only in a preprocessor +// condition is not a reference an include-cleaner can see, so this include reads +// as unused to those tools. #include "profiling_config.h" #include "host_build_graph/constants.h" -#include "host_build_graph/runtime_status.h" // NOTE (host_build_graph divergence from tensormap_and_ringbuffer): the // dispatch_payload.h include is intentionally dropped here. This header is // reached by a path-qualified include, and dispatch_payload.h uses #pragma once // (path-keyed), so leaving it in double-defines DispatchPayload against // tensormap_and_ringbuffer's copy inside the shared host-dispatcher TU. -// runtime_types.h never references DispatchPayload itself; consumers that -// need it include it via runtime.h directly. -#include "aicore_completion_mailbox.h" +// runtime_types.h never references DispatchPayload itself; the consumers that +// need it include dispatch_payload.h directly. #include "common/args_dump_task_metadata.h" #include "host_build_graph/self_relative_ptr.h" #include "host_build_graph/submit_types.h" diff --git a/src/common/host_build_graph/shared/runtime.cpp b/src/common/host_build_graph/shared/runtime.cpp index c4c7455f9e..94f6a252b5 100644 --- a/src/common/host_build_graph/shared/runtime.cpp +++ b/src/common/host_build_graph/shared/runtime.cpp @@ -17,9 +17,9 @@ #include "host_build_graph/runtime.h" +#include + #include "common/unified_log.h" -#include "host_build_graph/runtime_types.h" -#include "host_build_graph/shared_memory.h" // ============================================================================= // Constructor @@ -27,11 +27,11 @@ Runtime::Runtime() { // Initialize handshake buffers - memset(workers, 0, sizeof(workers)); + std::memset(workers, 0, sizeof(workers)); worker_count = 0; aicpu_thread_num = 1; ready_queue_shards = RUNTIME_DEFAULT_READY_QUEUE_SHARDS; - memset(aicpu_allowed_cpus, 0, sizeof(aicpu_allowed_cpus)); + std::memset(aicpu_allowed_cpus, 0, sizeof(aicpu_allowed_cpus)); aicpu_allowed_cpu_count = 0; aicpu_launch_count = 0; host_total_tasks = 0; diff --git a/src/common/host_build_graph/shared/shared_memory.cpp b/src/common/host_build_graph/shared/shared_memory.cpp index ceeb114ed4..cb92c4da57 100644 --- a/src/common/host_build_graph/shared/shared_memory.cpp +++ b/src/common/host_build_graph/shared/shared_memory.cpp @@ -21,7 +21,7 @@ #include #include #include -#include "common/unified_log.h" +#include "host_build_graph/runtime_status.h" // ============================================================================= // Size Calculation diff --git a/src/common/host_build_graph/shared_memory.h b/src/common/host_build_graph/shared_memory.h index 3bae0e3efe..2235a8f777 100644 --- a/src/common/host_build_graph/shared_memory.h +++ b/src/common/host_build_graph/shared_memory.h @@ -37,6 +37,7 @@ #include +#include "assert_compat.h" #include "utils/device_arena.h" #include "graph_execution.h" #include "host_build_graph/runtime_types.h" diff --git a/src/common/host_build_graph/task_allocator.h b/src/common/host_build_graph/task_allocator.h index 693b8b12e0..8627e3074f 100644 --- a/src/common/host_build_graph/task_allocator.h +++ b/src/common/host_build_graph/task_allocator.h @@ -20,13 +20,12 @@ #pragma once -#include #include #include -#include +#include "assert_compat.h" +#include "host_build_graph/runtime_status.h" #include "host_build_graph/runtime_types.h" -#include "host_build_graph/shared_memory.h" #include "common/unified_log.h" // ============================================================================= diff --git a/src/common/host_build_graph/tensor.h b/src/common/host_build_graph/tensor.h index 74f68d4a6f..ddb6657e57 100644 --- a/src/common/host_build_graph/tensor.h +++ b/src/common/host_build_graph/tensor.h @@ -15,7 +15,6 @@ #pragma once -#include #include #include @@ -27,7 +26,6 @@ #include "assert_compat.h" #include "data_type.h" #include "host_build_graph/task_id.h" -#include "task_interface/arg_direction.h" #include "task_interface/tensor.h" namespace simpler::hbg { diff --git a/src/common/host_build_graph/tensor_create_info.h b/src/common/host_build_graph/tensor_create_info.h index 731871f539..2f7f39d24b 100644 --- a/src/common/host_build_graph/tensor_create_info.h +++ b/src/common/host_build_graph/tensor_create_info.h @@ -26,9 +26,9 @@ #pragma once #include -#include #include +#include "assert_compat.h" #include "data_type.h" #include "tensor.h" diff --git a/src/common/host_build_graph/tensormap.h b/src/common/host_build_graph/tensormap.h index defa7df4f9..91c2c391b8 100644 --- a/src/common/host_build_graph/tensormap.h +++ b/src/common/host_build_graph/tensormap.h @@ -49,10 +49,10 @@ #include -#include "host_build_graph/common.h" +#include "assert_compat.h" #include "host_build_graph/task_id.h" +#include "host_build_graph/tensor_create_info.h" #include "profiling_config.h" -#include "host_build_graph/runtime_types.h" #include "tensor.h" // Overlap geometry types. Relocated here from tensor.h: they are used only by diff --git a/src/common/host_build_graph/types.h b/src/common/host_build_graph/types.h index 879a17b7fa..a5c9cbf6ed 100644 --- a/src/common/host_build_graph/types.h +++ b/src/common/host_build_graph/types.h @@ -37,6 +37,7 @@ #include #endif +#include "assert_compat.h" #include "aicpu/dump_arg_selection.h" #include "common/device_phase.h" #include "data_type.h" diff --git a/tests/ut/cpp/common/test_hbg_graph_cache.cpp b/tests/ut/cpp/common/test_hbg_graph_cache.cpp index 859ff69b24..af093d841d 100644 --- a/tests/ut/cpp/common/test_hbg_graph_cache.cpp +++ b/tests/ut/cpp/common/test_hbg_graph_cache.cpp @@ -22,6 +22,8 @@ #include #include +#include "host_build_graph/runtime_status.h" + #include "graph_cache.h" #include "graph_execution.h" #include "runtime_status/error_names.h"