core-to-core-latency-plus logo

core-to-core-latency-plus KCORES

Use this command to install core-to-core-latency-plus:
winget install --id=KCORES.core-to-core-latency-plus -e

core-to-core-latency-plus is used to calculate the communication latency between CPU cores. Specifically, it fixes two threads on two different CPU cores and measures the latency by having the threads perform a series of compare-and-swap operations through the CPU cache coherence protocol. This fork aims to improve the usability of the program and collect more CPU benchmark data for display.

README

CPU Core-to-Core Latency Tools +

Loongson-3C5000-2.2GHz-16Cores

Desc

License

README in English

该程序用来计算 CPU 核心间通信延迟.

具体方式为, 将两个线程固定在两个不同的 CPU 核心上, 通过CPU缓存一致性协议, 让线程执行一系列比较交换操作来测量延迟.

该 fork 旨在提升程序的易用性并收集更多 CPU benckmark 数据来进行展示.

*** 注意, 由于 MacOS 已经移除了相关接口, 导致本程序依赖的 core_affinity 库无法在 MacOS 系统上将线程绑定到特定的核心上运行, 同时也无法在运行时获取当前核心 ID. 因此本程序在MacOS 上的测试结果严格来说是无效的 (可能都被调度到了相同的一个或几个核心上). 建议 Mac 用户安装 Linux 系统进行测试 ***

How to run

如何运行:

下载预编译版本并运行

请到 https://github.com/KCORES/core-to-core-latency-plus/releases 下载.

下载完毕后, Linux 系统运行:

core-to-core-latency-plus 5000 300 -b 1 --upload

Windows 系统需要打开 CMD, cd 到文件所在目录并运行:

core-to-core-latency-plus.exe 5000 300 -b 1 --upload

注意, --upload 选项会上传您的 benchmark 结果到 https://core-to-core-latency.kcores.com.

您可以根据上传完毕后生成的链接来查看您的结果并生成 heapmap.

由于 history benchmark 结果过大 (results 文件夹内的内容生成 jupyter notebook 会达到 170MB), 因此强烈建议上传 benchmark 结果到该网站并实时生成 heapmap. 如果您需要手动查看历史结果可以访问 History Results 并安装 python 相关环境后, 使用 jupyter notebook 打开并生成.

使用 cargo 安装并运行

$ cargo install core-to-core-latency-plus
$ core-to-core-latency-plus 5000 300 -b 1 --upload

Leaderboard

更多结果欢迎访问: https://core-to-core-latency.kcores.com

  • 按照延迟中间值进行排序, 越小越好
CPU NameMin LatencyMedian LatencyMax Latency
AMD Ryzen 5 5600X 6-Core Processor7.681817.663421.6557
AMD Ryzen 7 5700X7.817018.031920.5132
AMD Ryzen 9 5900HX @ 3.3 GHz7.560218.431120.8740
AMD Ryzen 7 5800U7.706818.938921.3417
AMD Ryzen 5 5500 6-Core Processor10.305218.988122.6321
AMD Ryzen 7 PRO 5850U 8-Core Processor7.752219.260822.7955
Intel Core i7-6700K6.876719.480023.3867
Intel Xeon E-2176M 2.7GHz6.837420.267023.0518
AMD Ryzen 7 5800X3D 8-Core Processor7.856420.361425.6054
Intel Core i5-10310U7.206220.407421.6365
Intel Core i9-9900K CPU @ 3.60GHz5.983320.583324.4833
AMD Ryzen 5800X3D 8-Core Processor5.000020.666726.0000
AMD Ryzen 9 5900HX 8-Core Processor5.000020.666726.0000
Intel Core i7-9700K 3.6GHz15.666720.666726.0000
Intel Core i3-4150 3.5GHz5.333320.666726.0000
IntelR CoreTM i5-4590 CPU @ 3.30GHz20.476721.152721.5759
Intel Core 2 Duo CPU T7500 2.2GHz22.542922.542922.5429
Intel Core i9-9980HK 2.40GHz18.711722.584928.2760
IntelR CoreTM i7-1165G7 @ 2.80GHz5.732726.943329.4373
Intel Core i5-1135G7 2.40GHz6.835227.331730.7376
Intel Core i7-12700K4.364532.222849.7734
ZHAOXIN KaiXian KX-6640A 2.6GHz 4 Cores 2019-Q232.547032.548733.0574
Intel Core i7-13700KF 3.4GHz4.092533.953753.8947
Intel Celeron 1005M 1.90GHz34.003334.003334.0033
Intel Core i5-8600T 2.3GHz32.874234.163835.8292
Intel Core i5-12600K 3.7GHz4.480834.422353.2846
Intel Core i7-12700H 2.3GHz4.649735.887056.8566
Intel Core i7-14700K 3.4GHz4.105936.369199.6469
Broadcom BCM2837 4-Core 1.2GHz Raspberry Pi 3B36.665836.665853.3321
Intel Core i9-12900K4.348337.136750.7033
MCST Elbrus-8C2 8Cores 1.55GHz elbrus-v534.072037.593550.0501
Loongson 3A6000HV 2.5GHz 4 Cores 2023-Q431.868538.586938.7137
Apple.M1.Air35.991738.774947.7950
Intel Xeon E5-2697v3 HT-off29.334339.260947.1590
Loongson 3A5000HV 2.5GHz 4 Cores 2021-Q339.493239.509839.5285
AMD Custom APU 0405 Valve Steam Deck APU Zen 2 4 cores SMT enabled10.548140.539550.6295
AWS Graviton3 from-AWS-c7g.16xlarge29.600846.401256.8015
AWS Graviton2 from-AWS-c6gd.metal30.399747.199658.3994
IntelR Xeon Gold 6242 @ 2.8GHz7.335147.459058.5769
Intel Core 2 Quad Processor Q9550 2.83GHz0.000051.666753.3333
Loongson 3C5000 2.2GHz 16 Cores 2022-Q247.193353.274157.1524
Apple M1 Ultra39.656153.357284.1167
m1.ultra.16p4e39.656153.357284.1167
Intel Xeon W9-3475X 2.2GHz 36Cores 2023-Q236.392955.349372.3715
Dual Intel Xeon Platinum 8360Y 2.40GHz7.560656.7837119.8123
Qualcomm Snapdragon85057.597264.239673.3261
Qualcomm Snapdragon 85560.814665.6601364.8424
AMD Ryzen 9 7950X 16-Core Processor5.000067.666773.0000
AMD Ryzen 9 7950X5.000067.666773.0000
Dual IntelR XeonR CPU X5650 @ 2.67GHz7.107770.277979.6748
HiSilicon Kunpeng 920-6426 @ 2.6GHz29.956471.784487.6526
AMD Ryzen 5 2600 6-Core Processor10.333372.666799.0000
AMD Ryzen 9 9950X 16-Core Processor17.281476.393082.6227
AMD Ryzen 9 7900X 12-Core Processor7.033377.083380.7333
AMD Ryzen 9 5950X 3.40GHz7.364282.530388.2414
AMD Ryzen 9 5900X7.550082.550086.9833
SpacemiT K1 1.60GHz 8-Core32.570485.393785.7814
IntelR AtomTM CPU D510 @ 1.66GHz10.666585.998686.6652
AMD Ryzen 9 3900X 12-Core Processor6.775987.254895.8354
Broadcom BCM2711 Quad core Cortex-A72 ARM v8 64-bit SoC 1.8GHz Raspberry Pi 4B88.993189.802089.9820
AMD Ryzen 7 2700X Eight-Core Processor9.596390.729594.2679
IntelR Xeon PhiTM CPU 7210 @ 1.30GHz40.955391.0294112.4597
AMD Ryzen Threadripper 3960X 3.80GHz 24 Cores Zen 2 3rd Gen 2019-Q46.395894.6282104.0642
IntelR XeonR Platinum 8375C CPU @ 2.90GHz from-AWS-c6i.metal7.968598.6915116.8181
AMD EPYC 74F3 24-Core Processor8.964998.8013107.1125
Dual Intel Xeon Platinum 8358 CPU 2.60GHz41.004898.9467124.8291
Dual Intel Xeon Gold 6336Y 2.40GHz7.363899.7868114.1930
AMD Ryzen Threadripper 3990X 64-Core Processor19.1909102.9295112.4265
AMD Ryzen Threadripper PRO 3945WX 12-Core Processor6.1877105.0442112.1279
Intel Xeon Phi 7210 1.30GHz53.1602105.3218113.0751
Dual IntelR XeonR CPU E5-2690 0 @ 2.90GHz8.2683105.4716171.7845
IntelR XeonR CPU E5-2695 v4 @ 2.10GHz7.4887107.2264126.9100
Dual IntelR XeonR CPU E5-2630 v4 @ 2.20GHz8.0845107.8309129.0857
AMD EPYC 9754 128-Core Processor28.8509109.3847119.6138
AMD EPYC 7773X9.9268114.8502139.9596
AMD EPYC 7773X 64-Core Processor9.9268114.8502139.9596
Dual IntelR XeonR CPU E5-2680 v4 @ 2.40GHz7.8932117.5104144.9577
Dual Intel Xeon E5-2698v3 2.3GHz5.0000119.6667224.0000
AMD Ryzen 5 3500X 6-Core Processor47.0000120.0000140.6667
Intel Xeon CPU E5-2695v4 2.10GHz35.1843120.1341161.3051
IntelR XeonR Platinum 8275CL CPU @ 3.00GHz from-AWS-c5.metal7.4651128.6704139.7132
Dual Intel Xeon E5 2620V2 2.10GHz11.2104130.1963201.5718
Dual IntelR Xeon Gold 6242 @ 2.8GHz7.2657135.1955146.1889
Apple M1 Pro38.3332144.1669156.5817
AMD Ryzen Threadripper 1950X9.9778150.9642160.0195
AMD Ryzen Threadripper 1950X 16-Core Processor9.9395152.7651165.8613
Dual Ampere Altra Processor Q80-30 CPU 3.0GHz67.9924156.2753210.6564
Quad Intel Xeon E5-4650v2 2.4GHz10.7816157.4775176.0418
Apple M2 Max37.0688172.0697181.8459
Dual Ampere Altra Processor Q80-30 CPU 3.0GHz NUMA-off78.4478179.9726239.3343
Dual AMD EPYC 9654 96-Core Processor24.1957184.6257200.9054
AMD Ryzen 9 9950X 16-Core Processor17.0227190.4729235.5363
AMD EPYC 7R13 48-Core Processor from-AWS-c6a.metal9.7475194.5823208.5112
Dual AMD EPYC 9454 48-Core Processor10.3170196.7665207.1196
Dual AMD EPYC 9754 128-Core Processor12.6618202.4880216.0390
Phytium D2000 8-Core58.6155211.9101223.8014
Dual AMD EPYC 7302 16-Core Processor8.3712227.2905249.2347
Dual AMD EPYC 7702 64-Core Processor24.1273228.9297251.3631
MCST Elbrus-8C 8Cores 1.2GHz elbrus-v442.7973253.2212320.5725
NXP LX2160A-RDB 16x Arm Cortex-A72 2.2GHz60.0019260.0081273.3420
Dual AMD EPYC 7742 64-Core Processor8.0196260.6432290.4366
AMD FX-8300 8-Core Processor41.9496267.5885339.6446
Dual AMD EPYC 7763 64-Core Processor10.1847289.4902337.3357
Dual AMD EPYC 7601 32-Core Processor11.4781354.8678429.9534
Dual Sun-Oracle SPARC T4 8 cores@2.85 GHz97.3333355.6667356.3333
Dual Loongson 3B4000 1.8GHz 8 Cores 2019-Q4123.0064368.8299547.2583
Dual IBM Power7 8 cores@3.3 GHz 2010-Q1156.6639433.3258449.9958
Dual IBM Power9 8335-GTH 16-core 2.7GHz0.0000683.3050883.2968

History Results

History Results

License

MIT

Versions
0.1.17
Website
License