Files
TermiNexus df8e301720 chore: 初始化 ViperApps 仓库
纳入 11 个示例工程(不含 ViperOS,另行开专题)的源码:已完成新语法迁移(R1-R16 机械规则与 R1/R12 改写)。.gitignore 排除 ViperOS/、各工程编译产物(.tpv_build/.native_build/output/temp)、二进制与 ViperMNIST/data 数据集。
2026-10-07 08:11:49 +08:00

561 lines
46 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
==============================================================================
ViperSpeedBenchmark - run_bench.py (线程绑定 + 双计时 + 离群裁剪版)
时间 : 2026-09-10 21:57:43
参数 : groups=5, runs/group=10, tol=5.0%
实现 : viper,viper_scalar,viper_add,viper_scalar_add,viper_mul,viper_scalar_mul,viper_sqrt,viper_scalar_sqrt,c,cpp,py
负载 : 每次 run ≈ 2.147e+09 flops(LEN×ITERS×2 恒定, 跨尺寸可比)
LEN= 16384 ITERS= 65536 工作集= 512.0 KiB
采集方式 : 每组启动一次子进程, 进程内 2 轮满热身 + 连续计时 N 次
线程绑定 : 子进程入口 SetThreadAffinityMask 绑到首个可用逻辑核(AFFINITY 行回报)
主指标 : 墙钟(QPC) (另一指标同时采集, 汇总里对照)
统计量 : 算术平均(裁剪后)
离群裁剪 : 组内保留 <= 中位数×1.2 的样本
统计口径 : 首组(组1)仅汇报不计入统计(规避首组效应)
==============================================================================
[c] 编译 bench_c.c -> .native_build/
[c] 编译成功: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.native_build\bench_c.exe
[cpp] 编译 bench_cpp.cpp -> .native_build/
[cpp] 编译成功: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.native_build\bench_cpp.exe
[viper] 找到产物: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.tpv_build\output\app.exe
8 个内核变体共用此 exe, 只差命令行 mode 参数: viper(mode=0), viper_scalar(mode=1), viper_add(mode=2), viper_scalar_add(mode=3), viper_mul(mode=4), viper_scalar_mul(mode=5), viper_sqrt(mode=6), viper_scalar_sqrt(mode=7)
##############################################################################
# 工作尺寸 LEN=16384 ITERS=65536 四份缓冲共 512.0 KiB
##############################################################################
------------------------------------------------------------------------------
实现: viper (每组 = 一次进程启动, 进程内满热身 + 连续 10 次 run)
方式: FMA SIMD (vipersimd.simd_fma_array) 内核, QPC 计时
命令: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.tpv_build\output\app.exe 10 16384 65536 0
[viper] 组1/5 完成 | 墙钟均值=146997.8 us | 线程CPU均值=0.1 us | 墙钟max-min=8957.0
[viper] 组2/5 完成 | 墙钟均值=146876.2 us | 线程CPU均值=0.1 us | 墙钟max-min=5865.0
[viper] 组3/5 完成 | 墙钟均值=147544.1 us | 线程CPU均值=0.1 us | 墙钟max-min=5055.0
[viper] 组4/5 完成 | 墙钟均值=145898.4 us | 线程CPU均值=0.1 us | 墙钟max-min=1295.0
[viper] 组5/5 完成 | 墙钟均值=145487.9 us | 线程CPU均值=0.1 us | 墙钟max-min=691.0
------------------------------------------------------------------------------
实现: viper_scalar (每组 = 一次进程启动, 进程内满热身 + 连续 10 次 run)
方式: FMA 原生 (vipersimd.scalar_fma_array) 内核, QPC 计时
命令: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.tpv_build\output\app.exe 10 16384 65536 1
[viper_scalar] 组1/5 完成 | 墙钟均值=567499.8 us | 线程CPU均值=566963.5 us | 墙钟max-min=15788.0
[viper_scalar] 组2/5 完成 | 墙钟均值=565232.0 us | 线程CPU均值=564626.3 us | 墙钟max-min=4721.0
[viper_scalar] 组3/5 完成 | 墙钟均值=562005.0 us | 线程CPU均值=561517.1 us | 墙钟max-min=5706.0
[viper_scalar] 组4/5 完成 | 墙钟均值=566047.3 us | 线程CPU均值=565346.8 us | 墙钟max-min=8363.0
[viper_scalar] 组5/5 完成 | 墙钟均值=569447.1 us | 线程CPU均值=568756.2 us | 墙钟max-min=29838.0
------------------------------------------------------------------------------
实现: viper_add (每组 = 一次进程启动, 进程内满热身 + 连续 10 次 run)
方式: ADD SIMD (vipersimd.simd_add_array) 内核, QPC 计时
命令: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.tpv_build\output\app.exe 10 16384 65536 2
[viper_add] 组1/5 完成 | 墙钟均值=109218.3 us | 线程CPU均值=0.1 us | 墙钟max-min=2680.0
[viper_add] 组2/5 完成 | 墙钟均值=108855.3 us | 线程CPU均值=0.1 us | 墙钟max-min=2260.0
[viper_add] 组3/5 完成 | 墙钟均值=108710.4 us | 线程CPU均值=0.1 us | 墙钟max-min=3159.0
[viper_add] 组4/5 完成 | 墙钟均值=108405.2 us | 线程CPU均值=0.1 us | 墙钟max-min=1574.0
[viper_add] 组5/5 完成 | 墙钟均值=109393.4 us | 线程CPU均值=0.1 us | 墙钟max-min=4045.0
------------------------------------------------------------------------------
实现: viper_scalar_add (每组 = 一次进程启动, 进程内满热身 + 连续 10 次 run)
方式: ADD 原生 (vipersimd.scalar_add_array) 内核, QPC 计时
命令: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.tpv_build\output\app.exe 10 16384 65536 3
[viper_scalar_add] 组1/5 完成 | 墙钟均值=264234.0 us | 线程CPU均值=263935.3 us | 墙钟max-min=19535.0
[viper_scalar_add] 组2/5 完成 | 墙钟均值=363073.5 us | 线程CPU均值=362679.1 us | 墙钟max-min=7116.0
[viper_scalar_add] 组3/5 完成 | 墙钟均值=363610.5 us | 线程CPU均值=363656.7 us | 墙钟max-min=13346.0
[viper_scalar_add] 组4/5 完成 | 墙钟均值=361123.1 us | 线程CPU均值=360830.3 us | 墙钟max-min=5770.0
[viper_scalar_add] 组5/5 完成 | 墙钟均值=367550.6 us | 线程CPU均值=367155.5 us | 墙钟max-min=21069.0
------------------------------------------------------------------------------
实现: viper_mul (每组 = 一次进程启动, 进程内满热身 + 连续 10 次 run)
方式: MUL SIMD (vipersimd.simd_mul_array) 内核, QPC 计时
命令: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.tpv_build\output\app.exe 10 16384 65536 4
[viper_mul] 组1/5 完成 | 墙钟均值=116161.7 us | 线程CPU均值=0.0 us | 墙钟max-min=16726.0
[viper_mul] 组2/5 完成 | 墙钟均值=109714.4 us | 线程CPU均值=0.0 us | 墙钟max-min=2184.0
[viper_mul] 组3/5 完成 | 墙钟均值=109022.7 us | 线程CPU均值=0.0 us | 墙钟max-min=2974.0
[viper_mul] 组4/5 完成 | 墙钟均值=108652.3 us | 线程CPU均值=0.0 us | 墙钟max-min=1304.0
[viper_mul] 组5/5 完成 | 墙钟均值=109059.1 us | 线程CPU均值=0.0 us | 墙钟max-min=10589.0
------------------------------------------------------------------------------
实现: viper_scalar_mul (每组 = 一次进程启动, 进程内满热身 + 连续 10 次 run)
方式: MUL 原生 (vipersimd.scalar_mul_array) 内核, QPC 计时
命令: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.tpv_build\output\app.exe 10 16384 65536 5
[viper_scalar_mul] 组1/5 完成 | 墙钟均值=371390.7 us | 线程CPU均值=371095.3 us | 墙钟max-min=27705.0
[viper_scalar_mul] 组2/5 完成 | 墙钟均值=360426.7 us | 线程CPU均值=360061.4 us | 墙钟max-min=7001.0
[viper_scalar_mul] 组3/5 完成 | 墙钟均值=361146.4 us | 线程CPU均值=360829.9 us | 墙钟max-min=8083.0
[viper_scalar_mul] 组4/5 完成 | 墙钟均值=361690.9 us | 线程CPU均值=361491.5 us | 墙钟max-min=8550.0
[viper_scalar_mul] 组5/5 完成 | 墙钟均值=358774.3 us | 线程CPU均值=358420.7 us | 墙钟max-min=11123.0
------------------------------------------------------------------------------
实现: viper_sqrt (每组 = 一次进程启动, 进程内满热身 + 连续 10 次 run)
方式: SQRT SIMD (vipersimd.simd_sqrt_array) 内核, QPC 计时
命令: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.tpv_build\output\app.exe 10 16384 65536 6
[viper_sqrt] 组1/5 完成 | 墙钟均值=426503.7 us | 线程CPU均值=426083.7 us | 墙钟max-min=6150.0
[viper_sqrt] 组2/5 完成 | 墙钟均值=428990.1 us | 线程CPU均值=429025.4 us | 墙钟max-min=5252.0
[viper_sqrt] 组3/5 完成 | 墙钟均值=426922.9 us | 线程CPU均值=426620.7 us | 墙钟max-min=13636.0
[viper_sqrt] 组4/5 完成 | 墙钟均值=426265.1 us | 线程CPU均值=426211.7 us | 墙钟max-min=5377.0
[viper_sqrt] 组5/5 完成 | 墙钟均值=427957.2 us | 线程CPU均值=428055.8 us | 墙钟max-min=7283.0
------------------------------------------------------------------------------
实现: viper_scalar_sqrt (每组 = 一次进程启动, 进程内满热身 + 连续 10 次 run)
方式: SQRT 原生 (vipersimd.scalar_sqrt_array) 内核, QPC 计时
命令: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.tpv_build\output\app.exe 10 16384 65536 7
[viper_scalar_sqrt] 组1/5 完成 | 墙钟均值=1674822.7 us | 线程CPU均值=1665347.4 us | 墙钟max-min=107743.0
[viper_scalar_sqrt] 组2/5 完成 | 墙钟均值=1708572.7 us | 线程CPU均值=1693518.7 us | 墙钟max-min=27028.0
[viper_scalar_sqrt] 组3/5 完成 | 墙钟均值=1713341.2 us | 线程CPU均值=1693990.1 us | 墙钟max-min=61839.0
[viper_scalar_sqrt] 组4/5 完成 | 墙钟均值=1703943.0 us | 线程CPU均值=1689936.2 us | 墙钟max-min=16512.0
[viper_scalar_sqrt] 组5/5 完成 | 墙钟均值=1706336.6 us | 线程CPU均值=1692420.2 us | 墙钟max-min=58374.0
------------------------------------------------------------------------------
实现: c (每组 = 一次进程启动, 进程内满热身 + 连续 10 次 run)
方式: C 手写 -O2 -mavx2 -mfma(-ffp-contract=fast) 自动向量化单趟 FMA, QPC
命令: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.native_build\bench_c.exe 10 16384 65536
[c] 组1/5 完成 | 墙钟均值=155204.6 us | 线程CPU均值=154941.3 us | 墙钟max-min=532.4
[c] 组2/5 完成 | 墙钟均值=157053.5 us | 线程CPU均值=156826.7 us | 墙钟max-min=1904.5
[c] 组3/5 完成 | 墙钟均值=157452.8 us | 线程CPU均值=157158.4 us | 墙钟max-min=646.7
[c] 组4/5 完成 | 墙钟均值=155110.0 us | 线程CPU均值=155019.1 us | 墙钟max-min=983.0
[c] 组5/5 完成 | 墙钟均值=155731.6 us | 线程CPU均值=155513.4 us | 墙钟max-min=845.7
------------------------------------------------------------------------------
实现: cpp (每组 = 一次进程启动, 进程内满热身 + 连续 10 次 run)
方式: C++ 手写(std::vector) -O2 -mavx2 -mfma(-ffp-contract=fast) 单趟 FMA, QPC
命令: D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\.native_build\bench_cpp.exe 10 16384 65536
[cpp] 组1/5 完成 | 墙钟均值=139023.3 us | 线程CPU均值=138797.2 us | 墙钟max-min=579.9
[cpp] 组2/5 完成 | 墙钟均值=157023.1 us | 线程CPU均值=156725.4 us | 墙钟max-min=1673.6
[cpp] 组3/5 完成 | 墙钟均值=157319.2 us | 线程CPU均值=157102.4 us | 墙钟max-min=2560.2
[cpp] 组4/5 完成 | 墙钟均值=156630.0 us | 线程CPU均值=156432.1 us | 墙钟max-min=900.6
[cpp] 组5/5 完成 | 墙钟均值=158231.7 us | 线程CPU均值=158139.6 us | 墙钟max-min=3647.0
------------------------------------------------------------------------------
实现: py (每组 = 一次进程启动, 进程内满热身 + 连续 10 次 run)
方式: Python(numpy 就地 ufunc; 无 numpy 自动纯 Python 降规模回退)
命令: D:\Python312\python.exe D:\Users\TermiNexus\Desktop\TransPyC\ViperApps\ViperSpeedBenchmark\bench_py.py 10 16384 65536
[py] 组1/5 完成 | 墙钟均值=295135.0 us | 线程CPU均值=290265.2 us | 墙钟max-min=51386.4
[py] 组2/5 完成 | 墙钟均值=364033.9 us | 线程CPU均值=361389.5 us | 墙钟max-min=32911.9
[py] 组3/5 完成 | 墙钟均值=323557.2 us | 线程CPU均值=321078.4 us | 墙钟max-min=18941.8
[py] 组4/5 完成 | 墙钟均值=333109.9 us | 线程CPU均值=330769.1 us | 墙钟max-min=20309.2
[py] 组5/5 完成 | 墙钟均值=347882.3 us | 线程CPU均值=345411.2 us | 墙钟max-min=25141.1
##############################################################################
# 结果汇总: 工作尺寸 LEN=16384 ITERS=65536 四份缓冲共 512.0 KiB
##############################################################################
==============================================================================
实现 viper CFG(len×iters)=16384x65536 总运算量/run=2.147e+09 flops
线程绑定 AFFINITY = CPU#0(SetThreadAffinityMask 成功)
TSC 标定频率 = 1.9932e+09 Hz
内核 MODE = 0 FMA SIMD (vipersimd.simd_fma_array)
CHECK(首次) = 12302.997770370706
主指标 墙钟(QPC) 统计量=算术平均(裁剪后)
总体统计 overall : 146451.650 us (统计 4/5 组, 有效样本 40, 裁剪剔除 0; 首组仅汇报)
对照 线程CPU(QueryThreadCycleTime): 0.077 us
样本标准差 sample std : 1388.250 us
最大偏差 max|raw-overall|: 4750.350 us (3.244%)
实测吞吐(按 CFG, 主指标) : 14.663 GFLOPS
------------------------------------------------------------------------------
[组 1] 统计值= 146997.80 us | 均值= 146997.80 | 中位数= 145417.50 | 几何均值= 146963.80 | 裁剪剔除 0
组内差max-min= 8957.00 | 组-总体= +546.15 us (0.37%) [首组: 仅汇报, 不计入统计]
相邻组差: n/a(首组)
组内 10 次原始(主指标): 144887.0, 146648.0, 153844.0, 152763.0, 145445.0, 145390.0, 145063.0, 145226.0, 145576.0, 145136.0 us
[组 2] 统计值= 146876.20 us | 均值= 146876.20 | 中位数= 146511.00 | 几何均值= 146866.25 | 裁剪剔除 0
组内差max-min= 5865.00 | 组-总体= +424.55 us (0.29%)
相邻组差: n/a(组1 不计入统计)
组内 10 次原始(主指标): 148678.0, 146928.0, 146486.0, 145338.0, 145337.0, 146536.0, 146770.0, 151202.0, 145632.0, 145855.0 us
[组 3] 统计值= 147544.10 us | 均值= 147544.10 | 中位数= 147277.00 | 几何均值= 147538.35 | 裁剪剔除 0
组内差max-min= 5055.00 | 组-总体= +1092.45 us (0.75%)
相邻组差 组2->组3: +667.90 us (0.46%)
组内 10 次原始(主指标): 148714.0, 148051.0, 145547.0, 147119.0, 150602.0, 147435.0, 147624.0, 146917.0, 146468.0, 146964.0 us
[组 4] 统计值= 145898.40 us | 均值= 145898.40 | 中位数= 145886.00 | 几何均值= 145897.67 | 裁剪剔除 0
组内差max-min= 1295.00 | 组-总体= -553.25 us (0.38%)
相邻组差 组3->组4: -1645.70 us (1.12%)
组内 10 次原始(主指标): 145652.0, 146504.0, 146522.0, 146059.0, 145909.0, 146462.0, 145349.0, 145227.0, 145863.0, 145437.0 us
[组 5] 统计值= 145487.90 us | 均值= 145487.90 | 中位数= 145457.50 | 几何均值= 145487.79 | 裁剪剔除 0
组内差max-min= 691.00 | 组-总体= -963.75 us (0.66%)
相邻组差 组4->组5: -410.50 us (0.28%)
组内 10 次原始(主指标): 145607.0, 145385.0, 145343.0, 145413.0, 145235.0, 145502.0, 145365.0, 145567.0, 145926.0, 145536.0 us
------------------------------------------------------------------------------
差值核验(tol=5.0%): PASS [组1 排除: 首组仅汇报]
统计组(排除首组): |组统计值-总体|/总体 <= tol, 且相邻组|差值|/总体 <= tol
==============================================================================
实现 viper_scalar CFG(len×iters)=16384x65536 总运算量/run=2.147e+09 flops
线程绑定 AFFINITY = CPU#0(SetThreadAffinityMask 成功)
TSC 标定频率 = 1.9935e+09 Hz
内核 MODE = 1 FMA 原生 (vipersimd.scalar_fma_array)
CHECK(首次) = 12302.997770370706
主指标 墙钟(QPC) 统计量=算术平均(裁剪后)
总体统计 overall : 565682.850 us (统计 4/5 组, 有效样本 40, 裁剪剔除 0; 首组仅汇报)
对照 线程CPU(QueryThreadCycleTime): 565061.584 us
样本标准差 sample std : 5697.022 us
最大偏差 max|raw-overall|: 26955.150 us (4.765%)
实测吞吐(按 CFG, 主指标) : 3.796 GFLOPS
------------------------------------------------------------------------------
[组 1] 统计值= 567499.80 us | 均值= 567499.80 | 中位数= 565836.00 | 几何均值= 567478.55 | 裁剪剔除 0
组内差max-min=15788.00 | 组-总体= +1816.95 us (0.32%) [首组: 仅汇报, 不计入统计]
相邻组差: n/a(首组)
组内 10 次原始(主指标): 561969.0, 564294.0, 562172.0, 566048.0, 572126.0, 577757.0, 565624.0, 569439.0, 572073.0, 563496.0 us
[组 2] 统计值= 565232.00 us | 均值= 565232.00 | 中位数= 564845.50 | 几何均值= 565230.43 | 裁剪剔除 0
组内差max-min= 4721.00 | 组-总体= -450.85 us (0.08%)
相邻组差: n/a(组1 不计入统计)
组内 10 次原始(主指标): 568249.0, 565576.0, 565233.0, 563892.0, 564975.0, 564652.0, 564716.0, 563528.0, 566909.0, 564590.0 us
[组 3] 统计值= 562005.00 us | 均值= 562005.00 | 中位数= 561251.00 | 几何均值= 562002.41 | 裁剪剔除 0
组内差max-min= 5706.00 | 组-总体= -3677.85 us (0.65%)
相邻组差 组2->组3: -3227.00 us (0.57%)
组内 10 次原始(主指标): 565859.0, 564449.0, 560153.0, 562346.0, 561160.0, 560703.0, 561167.0, 561967.0, 561335.0, 560911.0 us
[组 4] 统计值= 566047.30 us | 均值= 566047.30 | 中位数= 565232.50 | 几何均值= 566040.91 | 裁剪剔除 0
组内差max-min= 8363.00 | 组-总体= +364.45 us (0.06%)
相邻组差 组3->组4: +4042.30 us (0.71%)
组内 10 次原始(主指标): 565473.0, 566108.0, 565812.0, 564992.0, 562782.0, 564976.0, 564492.0, 571145.0, 571054.0, 563639.0 us
[组 5] 统计值= 569447.10 us | 均值= 569447.10 | 中位数= 564062.50 | 几何均值= 569372.28 | 裁剪剔除 0
组内差max-min=29838.00 | 组-总体= +3764.25 us (0.67%)
相邻组差 组4->组5: +3399.80 us (0.60%)
组内 10 次原始(主指标): 563862.0, 563053.0, 562800.0, 563539.0, 564263.0, 578726.0, 592638.0, 574560.0, 563656.0, 567374.0 us
------------------------------------------------------------------------------
差值核验(tol=5.0%): PASS [组1 排除: 首组仅汇报]
统计组(排除首组): |组统计值-总体|/总体 <= tol, 且相邻组|差值|/总体 <= tol
==============================================================================
实现 viper_add CFG(len×iters)=16384x65536 总运算量/run=2.147e+09 flops
线程绑定 AFFINITY = CPU#0(SetThreadAffinityMask 成功)
TSC 标定频率 = 1.9937e+09 Hz
内核 MODE = 2 ADD SIMD (vipersimd.simd_add_array)
CHECK(首次) = 16340.870255275997
主指标 墙钟(QPC) 统计量=算术平均(裁剪后)
总体统计 overall : 108841.075 us (统计 4/5 组, 有效样本 40, 裁剪剔除 0; 首组仅汇报)
对照 线程CPU(QueryThreadCycleTime): 0.091 us
样本标准差 sample std : 926.230 us
最大偏差 max|raw-overall|: 3215.925 us (2.955%)
实测吞吐(按 CFG, 主指标) : 19.730 GFLOPS
------------------------------------------------------------------------------
[组 1] 统计值= 109218.30 us | 均值= 109218.30 | 中位数= 109081.50 | 几何均值= 109216.15 | 裁剪剔除 0
组内差max-min= 2680.00 | 组-总体= +377.23 us (0.35%) [首组: 仅汇报, 不计入统计]
相邻组差: n/a(首组)
组内 10 次原始(主指标): 108386.0, 109070.0, 109372.0, 108952.0, 108804.0, 109399.0, 109337.0, 111066.0, 108704.0, 109093.0 us
[组 2] 统计值= 108855.30 us | 均值= 108855.30 | 中位数= 108614.50 | 几何均值= 108853.36 | 裁剪剔除 0
组内差max-min= 2260.00 | 组-总体= +14.23 us (0.01%)
相邻组差: n/a(组1 不计入统计)
组内 10 次原始(主指标): 109174.0, 110421.0, 108427.0, 108161.0, 108456.0, 108340.0, 108832.0, 109515.0, 108773.0, 108454.0 us
[组 3] 统计值= 108710.40 us | 均值= 108710.40 | 中位数= 108420.00 | 几何均值= 108706.12 | 裁剪剔除 0
组内差max-min= 3159.00 | 组-总体= -130.68 us (0.12%)
相邻组差 组2->组3: -144.90 us (0.13%)
组内 10 次原始(主指标): 108034.0, 107488.0, 107625.0, 108422.0, 110647.0, 109870.0, 109604.0, 108675.0, 108418.0, 108321.0 us
[组 4] 统计值= 108405.20 us | 均值= 108405.20 | 中位数= 108575.50 | 几何均值= 108404.05 | 裁剪剔除 0
组内差max-min= 1574.00 | 组-总体= -435.88 us (0.40%)
相邻组差 组3->组4: -305.20 us (0.28%)
组内 10 次原始(主指标): 109235.0, 108650.0, 108695.0, 108227.0, 107843.0, 107661.0, 107706.0, 108501.0, 108714.0, 108820.0 us
[组 5] 统计值= 109393.40 us | 均值= 109393.40 | 中位数= 109202.00 | 几何均值= 109387.84 | 裁剪剔除 0
组内差max-min= 4045.00 | 组-总体= +552.32 us (0.51%)
相邻组差 组4->组5: +988.20 us (0.91%)
组内 10 次原始(主指标): 108715.0, 109480.0, 108206.0, 108012.0, 108924.0, 110145.0, 112057.0, 109956.0, 108903.0, 109536.0 us
------------------------------------------------------------------------------
差值核验(tol=5.0%): PASS [组1 排除: 首组仅汇报]
统计组(排除首组): |组统计值-总体|/总体 <= tol, 且相邻组|差值|/总体 <= tol
==============================================================================
实现 viper_scalar_add CFG(len×iters)=16384x65536 总运算量/run=2.147e+09 flops
线程绑定 AFFINITY = CPU#0(SetThreadAffinityMask 成功)
TSC 标定频率 = 1.9943e+09 Hz
内核 MODE = 3 ADD 原生 (vipersimd.scalar_add_array)
CHECK(首次) = 16340.870255275997
主指标 墙钟(QPC) 统计量=算术平均(裁剪后)
总体统计 overall : 363839.425 us (统计 4/5 组, 有效样本 40, 裁剪剔除 0; 首组仅汇报)
对照 线程CPU(QueryThreadCycleTime): 363580.365 us
样本标准差 sample std : 4532.884 us
最大偏差 max|raw-overall|: 17937.575 us (4.930%)
实测吞吐(按 CFG, 主指标) : 5.902 GFLOPS
------------------------------------------------------------------------------
[组 1] 统计值= 264234.00 us | 均值= 264234.00 | 中位数= 261966.00 | 几何均值= 264163.53 | 裁剪剔除 0
组内差max-min=19535.00 | 组-总体= -99605.42 us (27.38%) [首组: 仅汇报, 不计入统计]
相邻组差: n/a(首组)
组内 10 次原始(主指标): 269930.0, 274199.0, 261735.0, 270404.0, 258664.0, 258743.0, 262064.0, 270069.0, 261868.0, 254664.0 us
[组 2] 统计值= 363073.50 us | 均值= 363073.50 | 中位数= 362278.50 | 几何均值= 363066.16 | 裁剪剔除 0
组内差max-min= 7116.00 | 组-总体= -765.92 us (0.21%)
相邻组差: n/a(组1 不计入统计)
组内 10 次原始(主指标): 360304.0, 365588.0, 365021.0, 361872.0, 367328.0, 364731.0, 360212.0, 362685.0, 361384.0, 361610.0 us
[组 3] 统计值= 363610.50 us | 均值= 363610.50 | 中位数= 362723.00 | 几何均值= 363589.64 | 裁剪剔除 0
组内差max-min=13346.00 | 组-总体= -228.92 us (0.06%)
相邻组差 组2->组3: +537.00 us (0.15%)
组内 10 次原始(主指标): 361089.0, 363834.0, 372305.0, 363456.0, 361990.0, 368353.0, 358959.0, 360859.0, 365321.0, 359939.0 us
[组 4] 统计值= 361123.10 us | 均值= 361123.10 | 中位数= 361352.00 | 几何均值= 361118.96 | 裁剪剔除 0
组内差max-min= 5770.00 | 组-总体= -2716.33 us (0.75%)
相邻组差 组3->组4: -2487.40 us (0.68%)
组内 10 次原始(主指标): 362484.0, 360776.0, 360570.0, 357658.0, 362915.0, 361928.0, 361976.0, 360717.0, 363428.0, 358779.0 us
[组 5] 统计值= 367550.60 us | 均值= 367550.60 | 中位数= 367214.50 | 几何均值= 367503.87 | 裁剪剔除 0
组内差max-min=21069.00 | 组-总体= +3711.17 us (1.02%)
相邻组差 组4->组5: +6427.50 us (1.77%)
组内 10 次原始(主指标): 367149.0, 360919.0, 364497.0, 362951.0, 360708.0, 367280.0, 381777.0, 368746.0, 371674.0, 369805.0 us
------------------------------------------------------------------------------
差值核验(tol=5.0%): PASS [组1 排除: 首组仅汇报]
统计组(排除首组): |组统计值-总体|/总体 <= tol, 且相邻组|差值|/总体 <= tol
==============================================================================
实现 viper_mul CFG(len×iters)=16384x65536 总运算量/run=2.147e+09 flops
线程绑定 AFFINITY = CPU#0(SetThreadAffinityMask 成功)
TSC 标定频率 = 1.9927e+09 Hz
内核 MODE = 4 MUL SIMD (vipersimd.simd_mul_array)
CHECK(首次) = 4066.7119802023808
主指标 墙钟(QPC) 统计量=算术平均(裁剪后)
总体统计 overall : 109112.125 us (统计 4/5 组, 有效样本 40, 裁剪剔除 0; 首组仅汇报)
对照 线程CPU(QueryThreadCycleTime): 0.018 us
样本标准差 sample std : 1708.655 us
最大偏差 max|raw-overall|: 9177.875 us (8.411%)
实测吞吐(按 CFG, 主指标) : 19.681 GFLOPS
------------------------------------------------------------------------------
[组 1] 统计值= 116161.70 us | 均值= 116161.70 | 中位数= 115173.50 | 几何均值= 116007.81 | 裁剪剔除 0
组内差max-min=16726.00 | 组-总体= +7049.57 us (6.46%) [首组: 仅汇报, 不计入统计]
相邻组差: n/a(首组)
组内 10 次原始(主指标): 113188.0, 118870.0, 121283.0, 125240.0, 125201.0, 117159.0, 112412.0, 108514.0, 110677.0, 109073.0 us
[组 2] 统计值= 109714.40 us | 均值= 109714.40 | 中位数= 109753.50 | 几何均值= 109712.93 | 裁剪剔除 0
组内差max-min= 2184.00 | 组-总体= +602.27 us (0.55%)
相邻组差: n/a(组1 不计入统计)
组内 10 次原始(主指标): 109627.0, 108540.0, 110288.0, 109679.0, 109828.0, 109087.0, 109921.0, 110724.0, 109869.0, 109581.0 us
[组 3] 统计值= 109022.70 us | 均值= 109022.70 | 中位数= 108858.50 | 几何均值= 109019.40 | 裁剪剔除 0
组内差max-min= 2974.00 | 组-总体= -89.43 us (0.08%)
相邻组差 组2->组3: -691.70 us (0.63%)
组内 10 次原始(主指标): 108389.0, 109416.0, 109801.0, 111084.0, 108999.0, 108915.0, 108802.0, 108199.0, 108512.0, 108110.0 us
[组 4] 统计值= 108652.30 us | 均值= 108652.30 | 中位数= 108459.00 | 几何均值= 108651.34 | 裁剪剔除 0
组内差max-min= 1304.00 | 组-总体= -459.82 us (0.42%)
相邻组差 组3->组4: -370.40 us (0.34%)
组内 10 次原始(主指标): 109473.0, 108758.0, 108287.0, 108348.0, 108169.0, 108311.0, 108570.0, 108299.0, 109462.0, 108846.0 us
[组 5] 统计值= 109059.10 us | 均值= 109059.10 | 中位数= 107964.00 | 几何均值= 109017.39 | 裁剪剔除 0
组内差max-min=10589.00 | 组-总体= -53.02 us (0.05%)
相邻组差 组4->组5: +406.80 us (0.37%)
组内 10 次原始(主指标): 107840.0, 108129.0, 107886.0, 107851.0, 108757.0, 107978.0, 108209.0, 107701.0, 107950.0, 118290.0 us
------------------------------------------------------------------------------
差值核验(tol=5.0%): PASS [组1 排除: 首组仅汇报]
统计组(排除首组): |组统计值-总体|/总体 <= tol, 且相邻组|差值|/总体 <= tol
==============================================================================
实现 viper_scalar_mul CFG(len×iters)=16384x65536 总运算量/run=2.147e+09 flops
线程绑定 AFFINITY = CPU#0(SetThreadAffinityMask 成功)
TSC 标定频率 = 1.9935e+09 Hz
内核 MODE = 5 MUL 原生 (vipersimd.scalar_mul_array)
CHECK(首次) = 4066.7119802023808
主指标 墙钟(QPC) 统计量=算术平均(裁剪后)
总体统计 overall : 360509.575 us (统计 4/5 组, 有效样本 40, 裁剪剔除 0; 首组仅汇报)
对照 线程CPU(QueryThreadCycleTime): 360200.872 us
样本标准差 sample std : 2866.346 us
最大偏差 max|raw-overall|: 6461.425 us (1.792%)
实测吞吐(按 CFG, 主指标) : 5.957 GFLOPS
------------------------------------------------------------------------------
[组 1] 统计值= 371390.70 us | 均值= 371390.70 | 中位数= 370767.50 | 几何均值= 371242.25 | 裁剪剔除 0
组内差max-min=27705.00 | 组-总体= +10881.12 us (3.02%) [首组: 仅汇报, 不计入统计]
相邻组差: n/a(首组)
组内 10 次原始(主指标): 382511.0, 361407.0, 385639.0, 357934.0, 364822.0, 385011.0, 360933.0, 361609.0, 376713.0, 377328.0 us
[组 2] 统计值= 360426.70 us | 均值= 360426.70 | 中位数= 360073.50 | 几何均值= 360419.87 | 裁剪剔除 0
组内差max-min= 7001.00 | 组-总体= -82.88 us (0.02%)
相邻组差: n/a(组1 不计入统计)
组内 10 次原始(主指标): 363880.0, 358508.0, 361418.0, 360484.0, 358900.0, 357768.0, 364769.0, 360368.0, 359779.0, 358393.0 us
[组 3] 统计值= 361146.40 us | 均值= 361146.40 | 中位数= 361303.00 | 几何均值= 361137.33 | 裁剪剔除 0
组内差max-min= 8083.00 | 组-总体= +636.83 us (0.18%)
相邻组差 组2->组3: +719.70 us (0.20%)
组内 10 次原始(主指标): 365924.0, 357841.0, 363538.0, 358023.0, 363320.0, 360904.0, 358845.0, 361702.0, 359017.0, 362350.0 us
[组 4] 统计值= 361690.90 us | 均值= 361690.90 | 中位数= 361254.00 | 几何均值= 361682.05 | 裁剪剔除 0
组内差max-min= 8550.00 | 组-总体= +1181.33 us (0.33%)
相邻组差 组3->组4: +544.50 us (0.15%)
组内 10 次原始(主指标): 362296.0, 365337.0, 360291.0, 359582.0, 362058.0, 358421.0, 366971.0, 361110.0, 359445.0, 361398.0 us
[组 5] 统计值= 358774.30 us | 均值= 358774.30 | 中位数= 357752.00 | 几何均值= 358761.47 | 裁剪剔除 0
组内差max-min=11123.00 | 组-总体= -1735.28 us (0.48%)
相邻组差 组4->组5: -2916.60 us (0.81%)
组内 10 次原始(主指标): 360532.0, 357848.0, 356531.0, 357194.0, 358292.0, 359978.0, 356973.0, 355808.0, 357656.0, 366931.0 us
------------------------------------------------------------------------------
差值核验(tol=5.0%): PASS [组1 排除: 首组仅汇报]
统计组(排除首组): |组统计值-总体|/总体 <= tol, 且相邻组|差值|/总体 <= tol
==============================================================================
实现 viper_sqrt CFG(len×iters)=16384x65536 总运算量/run=2.147e+09 flops
线程绑定 AFFINITY = CPU#0(SetThreadAffinityMask 成功)
TSC 标定频率 = 1.9937e+09 Hz
内核 MODE = 6 SQRT SIMD (vipersimd.simd_sqrt_array)
CHECK(首次) = 10892.477135620607
主指标 墙钟(QPC) 统计量=算术平均(裁剪后)
总体统计 overall : 427533.825 us (统计 4/5 组, 有效样本 40, 裁剪剔除 0; 首组仅汇报)
对照 线程CPU(QueryThreadCycleTime): 427478.406 us
样本标准差 sample std : 2601.950 us
最大偏差 max|raw-overall|: 8984.175 us (2.101%)
实测吞吐(按 CFG, 主指标) : 5.023 GFLOPS
------------------------------------------------------------------------------
[组 1] 统计值= 426503.70 us | 均值= 426503.70 | 中位数= 426305.00 | 几何均值= 426499.52 | 裁剪剔除 0
组内差max-min= 6150.00 | 组-总体= -1030.12 us (0.24%) [首组: 仅汇报, 不计入统计]
相邻组差: n/a(首组)
组内 10 次原始(主指标): 425028.0, 427121.0, 427605.0, 426766.0, 423432.0, 424913.0, 429582.0, 425844.0, 429431.0, 425315.0 us
[组 2] 统计值= 428990.10 us | 均值= 428990.10 | 中位数= 428542.00 | 几何均值= 428986.54 | 裁剪剔除 0
组内差max-min= 5252.00 | 组-总体= +1456.27 us (0.34%)
相邻组差: n/a(组1 不计入统计)
组内 10 次原始(主指标): 431170.0, 427120.0, 428939.0, 430751.0, 430359.0, 426254.0, 428145.0, 427578.0, 431506.0, 428079.0 us
[组 3] 统计值= 426922.90 us | 均值= 426922.90 | 中位数= 426228.50 | 几何均值= 426907.65 | 裁剪剔除 0
组内差max-min=13636.00 | 组-总体= -610.92 us (0.14%)
相邻组差 组2->组3: -2067.20 us (0.48%)
组内 10 次原始(主指标): 436518.0, 425882.0, 422882.0, 429338.0, 427436.0, 426659.0, 424727.0, 426575.0, 424816.0, 424396.0 us
[组 4] 统计值= 426265.10 us | 均值= 426265.10 | 中位数= 426056.00 | 几何均值= 426262.38 | 裁剪剔除 0
组内差max-min= 5377.00 | 组-总体= -1268.73 us (0.30%)
相邻组差 组3->组4: -657.80 us (0.15%)
组内 10 次原始(主指标): 423797.0, 425260.0, 426468.0, 425961.0, 425677.0, 424640.0, 429174.0, 427652.0, 427871.0, 426151.0 us
[组 5] 统计值= 427957.20 us | 均值= 427957.20 | 中位数= 428171.50 | 几何均值= 427952.99 | 裁剪剔除 0
组内差max-min= 7283.00 | 组-总体= +423.38 us (0.10%)
相邻组差 组4->组5: +1692.10 us (0.40%)
组内 10 次原始(主指标): 429924.0, 428081.0, 428262.0, 428447.0, 431290.0, 424007.0, 427486.0, 425877.0, 427600.0, 428598.0 us
------------------------------------------------------------------------------
差值核验(tol=5.0%): PASS [组1 排除: 首组仅汇报]
统计组(排除首组): |组统计值-总体|/总体 <= tol, 且相邻组|差值|/总体 <= tol
==============================================================================
实现 viper_scalar_sqrt CFG(len×iters)=16384x65536 总运算量/run=2.147e+09 flops
线程绑定 AFFINITY = CPU#0(SetThreadAffinityMask 成功)
TSC 标定频率 = 1.9938e+09 Hz
内核 MODE = 7 SQRT 原生 (vipersimd.scalar_sqrt_array)
CHECK(首次) = 10892.477135620607
主指标 墙钟(QPC) 统计量=算术平均(裁剪后)
总体统计 overall : 1708048.375 us (统计 4/5 组, 有效样本 40, 裁剪剔除 0; 首组仅汇报)
对照 线程CPU(QueryThreadCycleTime): 1692466.293 us
样本标准差 sample std : 14518.834 us
最大偏差 max|raw-overall|: 48242.625 us (2.824%)
实测吞吐(按 CFG, 主指标) : 1.257 GFLOPS
------------------------------------------------------------------------------
[组 1] 统计值= 1674822.70 us | 均值= 1674822.70 | 中位数= 1659879.00 | 几何均值= 1674489.72 | 裁剪剔除 0
组内差max-min=107743.00 | 组-总体= -33225.68 us (1.95%) [首组: 仅汇报, 不计入统计]
相邻组差: n/a(首组)
组内 10 次原始(主指标): 1655631.0, 1658031.0, 1656603.0, 1659375.0, 1662711.0, 1656631.0, 1660383.0, 1661788.0, 1713700.0, 1763374.0 us
[组 2] 统计值= 1708572.70 us | 均值= 1708572.70 | 中位数= 1705255.00 | 几何均值= 1708554.56 | 裁剪剔除 0
组内差max-min=27028.00 | 组-总体= +524.32 us (0.03%)
相邻组差: n/a(组1 不计入统计)
组内 10 次原始(主指标): 1718963.0, 1713289.0, 1702424.0, 1697342.0, 1704120.0, 1724370.0, 1704089.0, 1706390.0, 1711230.0, 1703510.0 us
[组 3] 统计值= 1713341.20 us | 均值= 1713341.20 | 中位数= 1707841.50 | 几何均值= 1713242.18 | 裁剪剔除 0
组内差max-min=61839.00 | 组-总体= +5292.82 us (0.31%)
相邻组差 组2->组3: +4768.50 us (0.28%)
组内 10 次原始(主指标): 1699962.0, 1696688.0, 1720098.0, 1711634.0, 1704049.0, 1694452.0, 1713822.0, 1701165.0, 1756291.0, 1735251.0 us
[组 4] 统计值= 1703943.00 us | 均值= 1703943.00 | 中位数= 1704454.00 | 几何均值= 1703936.28 | 裁剪剔除 0
组内差max-min=16512.00 | 组-总体= -4105.38 us (0.24%)
相邻组差 组3->组4: -9398.20 us (0.55%)
组内 10 次原始(主指标): 1697523.0, 1704722.0, 1710285.0, 1708731.0, 1706060.0, 1703215.0, 1703178.0, 1704186.0, 1707757.0, 1693773.0 us
[组 5] 统计值= 1706336.60 us | 均值= 1706336.60 | 中位数= 1698845.50 | 几何均值= 1706235.99 | 裁剪剔除 0
组内差max-min=58374.00 | 组-总体= -1711.77 us (0.10%)
相邻组差 组4->组5: +2393.60 us (0.14%)
组内 10 次原始(主指标): 1708980.0, 1702417.0, 1693243.0, 1750755.0, 1692381.0, 1693507.0, 1731661.0, 1697333.0, 1700358.0, 1692731.0 us
------------------------------------------------------------------------------
差值核验(tol=5.0%): PASS [组1 排除: 首组仅汇报]
统计组(排除首组): |组统计值-总体|/总体 <= tol, 且相邻组|差值|/总体 <= tol
==============================================================================
实现 c CFG(len×iters)=16384x65536 总运算量/run=2.147e+09 flops
线程绑定 AFFINITY = CPU#0(SetThreadAffinityMask 成功)
TSC 标定频率 = 1.9943e+09 Hz
CHECK(首次) = 12302.997770370706
主指标 墙钟(QPC) 统计量=算术平均(裁剪后)
总体统计 overall : 156336.977 us (统计 4/5 组, 有效样本 40, 裁剪剔除 0; 首组仅汇报)
对照 线程CPU(QueryThreadCycleTime): 156129.403 us
样本标准差 sample std : 1028.969 us
最大偏差 max|raw-overall|: 2057.523 us (1.316%)
实测吞吐(按 CFG, 主指标) : 13.736 GFLOPS
------------------------------------------------------------------------------
[组 1] 统计值= 155204.58 us | 均值= 155204.58 | 中位数= 155238.75 | 几何均值= 155204.46 | 裁剪剔除 0
组内差max-min= 532.40 | 组-总体= -1132.40 us (0.72%) [首组: 仅汇报, 不计入统计]
相邻组差: n/a(首组)
组内 10 次原始(主指标): 154883.0, 155007.0, 155372.7, 154989.6, 155094.6, 155407.6, 155398.4, 155279.7, 155415.4, 155197.8 us
[组 2] 统计值= 157053.45 us | 均值= 157053.45 | 中位数= 156821.90 | 几何均值= 157052.52 | 裁剪剔除 0
组内差max-min= 1904.50 | 组-总体= +716.47 us (0.46%)
相邻组差: n/a(组1 不计入统计)
组内 10 次原始(主指标): 158394.5, 157655.3, 157179.3, 156842.4, 156702.3, 156690.3, 156801.4, 156986.8, 156792.2, 156490.0 us
[组 3] 统计值= 157452.82 us | 均值= 157452.82 | 中位数= 157387.30 | 几何均值= 157452.70 | 裁剪剔除 0
组内差max-min= 646.70 | 组-总体= +1115.84 us (0.71%)
相邻组差 组2->组3: +399.37 us (0.26%)
组内 10 次原始(主指标): 157722.5, 157544.2, 157305.9, 157210.9, 157469.2, 157350.8, 157387.1, 157387.5, 157857.6, 157292.5 us
[组 4] 统计值= 155110.02 us | 均值= 155110.02 | 中位数= 155076.05 | 几何均值= 155109.70 | 裁剪剔除 0
组内差max-min= 983.00 | 组-总体= -1226.96 us (0.78%)
相邻组差 组3->组4: -2342.80 us (1.50%)
组内 10 次原始(主指标): 154727.9, 154657.9, 154835.6, 154940.1, 155313.5, 154979.7, 155172.4, 155640.9, 155357.2, 155475.0 us
[组 5] 统计值= 155731.62 us | 均值= 155731.62 | 中位数= 155735.60 | 几何均值= 155731.40 | 裁剪剔除 0
组内差max-min= 845.70 | 组-总体= -605.36 us (0.39%)
相邻组差 组4->组5: +621.60 us (0.40%)
组内 10 次原始(主指标): 155419.7, 155936.3, 156049.5, 156140.5, 155708.9, 155744.0, 155851.6, 155443.7, 155727.2, 155294.8 us
------------------------------------------------------------------------------
差值核验(tol=5.0%): PASS [组1 排除: 首组仅汇报]
统计组(排除首组): |组统计值-总体|/总体 <= tol, 且相邻组|差值|/总体 <= tol
==============================================================================
实现 cpp CFG(len×iters)=16384x65536 总运算量/run=2.147e+09 flops
线程绑定 AFFINITY = CPU#0(SetThreadAffinityMask 成功)
TSC 标定频率 = 1.9945e+09 Hz
CHECK(首次) = 12302.997770370706
主指标 墙钟(QPC) 统计量=算术平均(裁剪后)
总体统计 overall : 157301.015 us (统计 4/5 组, 有效样本 40, 裁剪剔除 0; 首组仅汇报)
对照 线程CPU(QueryThreadCycleTime): 157099.861 us
样本标准差 sample std : 949.566 us
最大偏差 max|raw-overall|: 2531.585 us (1.609%)
实测吞吐(按 CFG, 主指标) : 13.652 GFLOPS
------------------------------------------------------------------------------
[组 1] 统计值= 139023.30 us | 均值= 139023.30 | 中位数= 139056.05 | 几何均值= 139023.17 | 裁剪剔除 0
组内差max-min= 579.90 | 组-总体= -18277.71 us (11.62%) [首组: 仅汇报, 不计入统计]
相邻组差: n/a(首组)
组内 10 次原始(主指标): 138717.4, 139222.2, 139166.4, 139297.3, 138977.6, 138929.1, 138930.6, 138718.3, 139134.5, 139139.6 us
[组 2] 统计值= 157023.11 us | 均值= 157023.11 | 中位数= 156905.35 | 几何均值= 157022.23 | 裁剪剔除 0
组内差max-min= 1673.60 | 组-总体= -277.90 us (0.18%)
相邻组差: n/a(组1 不计入统计)
组内 10 次原始(主指标): 158205.2, 156628.3, 156578.3, 156910.1, 156900.6, 156532.0, 157730.2, 157131.6, 156531.6, 157083.2 us
[组 3] 统计值= 157319.23 us | 均值= 157319.23 | 中位数= 157164.50 | 几何均值= 157317.65 | 裁剪剔除 0
组内差max-min= 2560.20 | 组-总体= +18.22 us (0.01%)
相邻组差 组2->组3: +296.12 us (0.19%)
组内 10 次原始(主指标): 156659.7, 156986.7, 156831.3, 157028.2, 157476.3, 157466.7, 156628.2, 157626.0, 159188.4, 157300.8 us
[组 4] 统计值= 156630.01 us | 均值= 156630.01 | 中位数= 156615.05 | 几何均值= 156629.73 | 裁剪剔除 0
组内差max-min= 900.60 | 组-总体= -671.00 us (0.43%)
相邻组差 组3->组4: -689.22 us (0.44%)
组内 10 次原始(主指标): 156636.2, 156593.9, 156260.0, 156724.7, 157160.6, 157060.9, 156791.6, 156280.6, 156386.3, 156405.3 us
[组 5] 统计值= 158231.71 us | 均值= 158231.71 | 中位数= 158230.30 | 几何均值= 158227.72 | 裁剪剔除 0
组内差max-min= 3647.00 | 组-总体= +930.70 us (0.59%)
相邻组差 组4->组5: +1601.70 us (1.02%)
组内 10 次原始(主指标): 156185.6, 156640.7, 157866.9, 159420.7, 159041.3, 158517.5, 159832.6, 157943.1, 157776.6, 159092.1 us
------------------------------------------------------------------------------
差值核验(tol=5.0%): PASS [组1 排除: 首组仅汇报]
统计组(排除首组): |组统计值-总体|/总体 <= tol, 且相邻组|差值|/总体 <= tol
==============================================================================
实现 py CFG(len×iters)=16384x65536 总运算量/run=2.147e+09 flops
线程绑定 AFFINITY = CPU#0(SetThreadAffinityMask 成功)
TSC 标定频率 = 1.9818e+09 Hz
CHECK(首次) = 12302.997770370706
主指标 墙钟(QPC) 统计量=算术平均(裁剪后)
总体统计 overall : 342145.820 us (统计 4/5 组, 有效样本 40, 裁剪剔除 0; 首组仅汇报)
对照 线程CPU(QueryThreadCycleTime): 339662.053 us
样本标准差 sample std : 17641.199 us
最大偏差 max|raw-overall|: 46538.780 us (13.602%)
实测吞吐(按 CFG, 主指标) : 6.277 GFLOPS
------------------------------------------------------------------------------
[组 1] 统计值= 295134.95 us | 均值= 295134.95 | 中位数= 293963.40 | 几何均值= 294631.09 | 裁剪剔除 0
组内差max-min=51386.40 | 组-总体= -47010.87 us (13.74%) [首组: 仅汇报, 不计入统计]
相邻组差: n/a(首组)
组内 10 次原始(主指标): 270105.5, 295817.2, 285267.1, 321491.9, 310146.1, 273217.4, 279803.7, 292109.6, 317042.4, 306348.6 us
[组 2] 统计值= 364033.91 us | 均值= 364033.91 | 中位数= 359615.85 | 几何均值= 363905.38 | 裁剪剔除 0
组内差max-min=32911.90 | 组-总体= +21888.09 us (6.40%)
相邻组差: n/a(组1 不计入统计)
组内 10 次原始(主指标): 361007.0, 357231.8, 357132.4, 358224.7, 355772.7, 363391.7, 388684.6, 374073.9, 366974.1, 357846.2 us
[组 3] 统计值= 323557.23 us | 均值= 323557.23 | 中位数= 323015.45 | 几何均值= 323512.72 | 裁剪剔除 0
组内差max-min=18941.80 | 组-总体= -18588.59 us (5.43%)
相邻组差 组2->组3: -40476.68 us (11.83%)
组内 10 次原始(主指标): 321663.7, 318841.9, 323303.2, 324448.0, 319115.2, 314154.5, 322727.7, 329358.0, 333096.3, 328863.8 us
[组 4] 统计值= 333109.86 us | 均值= 333109.86 | 中位数= 330384.95 | 几何均值= 333009.75 | 裁剪剔除 0
组内差max-min=20309.20 | 组-总体= -9035.96 us (2.64%)
相邻组差 组3->组4: +9552.63 us (2.79%)
组内 10 次原始(主指标): 327686.8, 325331.9, 325181.0, 333083.1, 325646.0, 325615.9, 334437.1, 343412.0, 345214.6, 345490.2 us
[组 5] 统计值= 347882.28 us | 均值= 347882.28 | 中位数= 342711.90 | 几何均值= 347765.12 | 裁剪剔除 0
组内差max-min=25141.10 | 组-总体= +5736.46 us (1.68%)
相邻组差 组4->组5: +14772.42 us (4.32%)
组内 10 次原始(主指标): 338754.7, 340203.8, 341557.2, 343866.6, 340456.4, 340737.7, 351876.3, 356357.3, 363895.8, 361117.0 us
------------------------------------------------------------------------------
差值核验(tol=5.0%): FAIL [组1 排除: 首组仅汇报]
组对总体超差(违规组): [2, 3]
相邻组超差(违规对): ['组1->组2']
==============================================================================
汇总: 各实现总体统计值(us) 与 实测 GFLOPS(按各自 CFG); 主指标=墙钟(QPC)
==== LEN=16384 (工作集 512.0 KiB) ====
viper : [墙钟] 146451.650 us 14.663 GFLOPS | [CPU ] 0.077 us 27709466.426 GFLOPS | CPU#0 | PASS
viper_scalar: [墙钟] 565682.850 us 3.796 GFLOPS | [CPU ] 565061.584 us 3.800 GFLOPS | CPU#0 | PASS
viper_add: [墙钟] 108841.075 us 19.730 GFLOPS | [CPU ] 0.091 us 23546969.825 GFLOPS | CPU#0 | PASS
viper_scalar_add: [墙钟] 363839.425 us 5.902 GFLOPS | [CPU ] 363580.365 us 5.906 GFLOPS | CPU#0 | PASS
viper_mul: [墙钟] 109112.125 us 19.681 GFLOPS | [CPU ] 0.018 us 119139176.033 GFLOPS | CPU#0 | PASS
viper_scalar_mul: [墙钟] 360509.575 us 5.957 GFLOPS | [CPU ] 360200.872 us 5.962 GFLOPS | CPU#0 | PASS
viper_sqrt: [墙钟] 427533.825 us 5.023 GFLOPS | [CPU ] 427478.406 us 5.024 GFLOPS | CPU#0 | PASS
viper_scalar_sqrt: [墙钟] 1708048.375 us 1.257 GFLOPS | [CPU ] 1692466.293 us 1.269 GFLOPS | CPU#0 | PASS
c : [墙钟] 156336.977 us 13.736 GFLOPS | [CPU ] 156129.403 us 13.755 GFLOPS | CPU#0 | PASS
cpp : [墙钟] 157301.015 us 13.652 GFLOPS | [CPU ] 157099.861 us 13.670 GFLOPS | CPU#0 | PASS
py : [墙钟] 342145.820 us 6.277 GFLOPS | [CPU ] 339662.053 us 6.322 GFLOPS | CPU#0 | FAIL
==============================================================================