← CPU results

cpu/overhead_smoke

profile: zen5-cpuhardware: bcfefbe95606date: 2026-10-28 01:14:19Ztenferro: 8fec1ca70852unit: nsthreads: [1]

Legacy report: ingestion provenance is unrecorded; no raw artifact is inferred.

Non-gating trend: eight steady-state operations and two runtime session-entry diagnostics are shown separately in the original report below. Allocation counts come from a separate pooled pass.

Original report

CPU Overhead Smoke (ns/op and allocs/op)

Trend view for tenferro-rs #2178 (tenferro-benchmark #197); nothing here gates. Every row runs on one run thread; the prepared-runtime diagnostics set the CPU backend thread budget explicitly. allocs/op counts process-wide Rust allocator events over 64 calls after pool warmup, dropping outputs between calls. These observed counts include Rust workers and exclude foreign BLAS/C allocations; compare matching fixtures, thread budgets and execution scopes. ns/op is the median of retained-output batches, with destruction after the clock stops. Shared nightly runner timings are reference indicators only.

Steady-state operations

Inputs, entered reusable sessions, initialization, tracing and preparation are outside timing. Only the declared operation and intrinsic output allocation or pooled checkout are timed.

Case Workload Budget Median ns/op IQR ns CoV allocs/op bytes/op Refs
typed_elemwise_f64_add_bcast_n16 typed add, rank-0 scalar rhs (stride-0 operand) 1 762.6 2.7 1.0% 0.00 0 tenferro-rs#2178
typed_elemwise_f64_add_bcast_8x8x8 typed add, rank-0 scalar rhs (stride-0 operand) 1 900.3 8.4 2.3% 0.00 0 tenferro-rs#2178
typed_elemwise_f64_add_permuted_view_8x8x8 add_read, lhs a permuted view (perm [2,0,1]) 1 1065.1 2.5 1.4% 0.06 102 tenferro-rs#2178
permute_materialize_f64_r4_4x4x4x4 materializing rank-4 transpose (perm [3,1,0,2]) 1 1086.4 2.6 1.2% 0.00 0 tenferro-rs#2178
reduce_axis_f64_8x8x8 typed reduce_sum over axis 1 1 1134.3 7.5 0.7% 0.00 0 tenferro-rs#2178
concatenate_axis1_f64_8x8x8 concatenate two 8x8x8 tensors along axis 1 1 1336.9 15.7 2.8% 0.00 0 tenferro-rs#2178
einsum_prepared_f64_n2 prepared ij,jk->ik execute_into a caller output (overlaps cpu/small_work) 1 730.3 0.7 1.8% 0.00 0 tenferro-rs#2178 tenferro-rs#1899
einsum_prepared_f64_n4 prepared ij,jk->ik execute_into a caller output (overlaps cpu/small_work) 1 762.4 2.1 0.2% 0.00 0 tenferro-rs#2178 tenferro-rs#1899

Runtime session-entry diagnostics

These rows time public Runtime::run_prepared, including its internal session entry and exit. Runtime construction, inputs, tracing and preparation remain outside timing. They are diagnostic public-path latency, not shared-session operation-performance evidence. Their allocation counters also include internal session entry. They are intentionally separate from the steady-state table.

Case Workload Budget Median ns/op IQR ns CoV allocs/op bytes/op Refs
prepared_mul_add_f64_budget1_32x32x32_session_entry_diagnostic run_prepared a*b+c including internal session entry/exit, backend thread budget 1 (diagnostic) 1 20883.2 341.6 2.5% 26.06 12758 tenferro-rs#2178 strided-rs#305
prepared_mul_add_f64_budget2_32x32x32_session_entry_diagnostic run_prepared a*b+c including internal session entry/exit, backend thread budget 2 (diagnostic) 2 449313.9 452.1 0.3% 26.00 12656 tenferro-rs#2178 strided-rs#305

Numerical checks: 10/10 rows passed against independent host loops before counting and sampling.

Prepared-runtime region execution (diagnostics)

Whether the runtime executed the traced region as one fused command or declined to per-op dispatch (cumulative over validation, the allocator pass and timed batches). run_prepared enters a runtime-internal session per call, and its entry is included in both diagnostic ns/op and allocs/op.

Case Planned regions Fused executions Fallbacks
prepared_mul_add_f64_budget1_32x32x32_session_entry_diagnostic 1 1160 0
prepared_mul_add_f64_budget2_32x32x32_session_entry_diagnostic 1 208 0

CPU Information

Run metadata

Full metadata: data/results/zen5-cpu/cpu/overhead_smoke/20261028_011419/run.yaml

timestamp: '2026-10-28T01:14:19Z'
tenferro_rs:
  path: /workspaces/tenferro-benchmark/extern/tenferro-rs
  commit: 8fec1ca70852b930c092e7177c30bb8af7594a57
  dirty: false
  features:
  - blas-mkl
  resolved_path: /workspaces/tenferro-benchmark/extern/tenferro-rs
blas:
  implementation: mkl
  version: 2026.0.2
  root: /opt/intel/oneapi/mkl/latest
  library: /opt/intel/oneapi/mkl/latest/lib/libmkl_rt.so
environment:
  hostname: bcfefbe95606
  os: Linux-7.0.0-38-generic-x86_64-with-glibc2.39
  arch: x86_64
  cpu: x86_64
  affinity:
    pinning: taskset
    requested_measured_cpus: '0'
    observer_cpus: 4-11,16-23
    override_of: null
    thread_budget: '1'
    measured_cpus: '0'
    l3_domains:
    - 0-3,12-15
    - 4-11,16-23
    cpu_boost: enabled
    scaling_governor: performance
    scaling_driver: amd-pstate-epp
  env:
    OMP_NUM_THREADS: '1'
    OMP_THREAD_LIMIT: '1'
    OMP_DYNAMIC: 'FALSE'
    RAYON_NUM_THREADS: '1'
    BENCHMARK_TARGET_PROFILE: zen5-cpu
    BENCHMARK_COMMIT: 3f31f38e0491084b9414035754a3809ef0f5ae94
    OPENBLAS_ROOT: /opt/openblas
    MKLROOT: /opt/intel/oneapi/mkl/latest
    OPENBLAS_NUM_THREADS: '1'
    GOTO_NUM_THREADS: '1'
    MKL_NUM_THREADS: '1'
    MKL_DYNAMIC: 'FALSE'
    VECLIB_MAXIMUM_THREADS: '1'
    VECLIB_NUM_THREADS: '1'
    NUMEXPR_NUM_THREADS: '1'
    BLIS_NUM_THREADS: '1'
    PJRT_NPROC: '1'
    XLA_FLAGS: --xla_cpu_multi_thread_eigen=false --xla_cpu_experimental_ynn_fusion_type=
      intra_op_parallelism_threads=1
    JULIA_NUM_THREADS: '1'
    PUBLICATION_GATE_PROFILE: full
    USE_CUDA: '0'
    BENCHMARK_BUILD_PROFILE: release
    RUSTC_VERSION: rustc 1.99.1 (58cf8f9c3 2026-10-13)
    BENCH_INSTANCE: null
collection:
  command: 'BENCHMARK_TARGET_PROFILE=zen5-cpu TENFERRO_CPU_FEATURES=blas-mkl /workspaces/tenferro-benchmark/scripts/run_overhead_smoke.sh '
  timing_scope: mixed; see timing_scopes_by_case
  timing_scopes_by_case:
    typed_elemwise_f64_add_bcast_n16: steady_state_host_api
    typed_elemwise_f64_add_bcast_8x8x8: steady_state_host_api
    typed_elemwise_f64_add_permuted_view_8x8x8: steady_state_host_api
    permute_materialize_f64_r4_4x4x4x4: steady_state_host_api
    prepared_mul_add_f64_budget1_32x32x32_session_entry_diagnostic: public_path_latency_including_internal_session_entry
    prepared_mul_add_f64_budget2_32x32x32_session_entry_diagnostic: public_path_latency_including_internal_session_entry
    reduce_axis_f64_8x8x8: steady_state_host_api
    concatenate_axis1_f64_8x8x8: steady_state_host_api
    einsum_prepared_f64_n2: steady_state_host_api
    einsum_prepared_f64_n4: steady_state_host_api
  setup_policy:
    steady_state_host_api: inputs, entered session, initialization, tracing and preparation
      outside timing
    public_path_latency_including_internal_session_entry: runtime/input/tracing/preparation
      setup outside timing; run_prepared internal session entry/exit inside timing;
      diagnostic only
  output_policy: outputs retained until the clock stops; destruction outside timing
  allocation_scope: 'separate pooled pass: 64 calls after warmup, outputs dropped
    between calls'
  gating: none (trend view)