use std::sync::atomic::{AtomicBool, AtomicU64};
pub(crate) static ATTN_TIME_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static ATTN_CALLS: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_TIME_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_CALLS: AtomicU64 = AtomicU64::new(0);
pub(crate) static DEC_ROUTE_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static DEC_GATE_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static DEC_UP_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static DEC_SILU_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static DEC_DOWN_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static DEC_WSUM_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static DEC_EMBED_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static DEC_FINAL_NORM_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static DEC_LM_HEAD_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_GRAPH_UNCLEAN_WARNED: AtomicBool = AtomicBool::new(false);
pub(crate) static MOE_PREFILL_HOST_TOPK_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_PREFILL_HOST_TOPK_CALLS: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_PREFILL_GATE_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_PREFILL_GATE_CALLS: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_PREFILL_UP_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_PREFILL_UP_CALLS: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_PREFILL_SILU_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_PREFILL_SILU_CALLS: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_PREFILL_DOWN_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_PREFILL_DOWN_CALLS: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_PREFILL_WSUM_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_PREFILL_WSUM_CALLS: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_BATCHED_DECODE_ROUTE_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_BATCHED_DECODE_GATE_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_BATCHED_DECODE_UP_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_BATCHED_DECODE_SILU_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_BATCHED_DECODE_DOWN_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static MOE_BATCHED_DECODE_WSUM_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static BD_DENSE_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static BD_ATTN_PERITEM_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static BD_MOE_US: AtomicU64 = AtomicU64::new(0);
pub(crate) static BD_LAYER_CALLS: AtomicU64 = AtomicU64::new(0);