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.
cpu/overhead_smokezen5-cpudata/results/zen5-cpu/cpu/overhead_smoke/20261028_0114198fec1ca70852b930c092e7177c30bb8af7594a57BENCHMARK_TARGET_PROFILE=zen5-cpu TENFERRO_CPU_FEATURES=blas-mkl /workspaces/tenferro-benchmark/scripts/run_overhead_smoke.shTrend 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.
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 |
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.
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 |
AMD Ryzen AI 9 HX 470 w/ Radeon 890MAuthenticAMD2411221Linux-7.0.0-38-generic-x86_64-with-glibc2.390-3,12-15; 4-11,16-23enabledFull 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)