我正在寻找一个快速和简单的程序来估计我的Linux系统上的FLOPS。 我发现HPL ,但得到它编译被certificate是恼人的。 我所需要的只是FLOPS的估计,而不需要花费一天的时间研究基准软件包并安装依赖软件。 有这样的程序吗? 编写一个将两个浮点数乘以一个循环的C程序就足够了吗?
问题是你是什么意思的拖鞋? 如果你关心的是每个时钟最简单的浮点操作有多less,那么它可能是你的时钟速度的3倍,但是和bogomips一样没有意义。 一些浮点操作需要很长时间(对于初学者来说,除法),加法和乘法通常是快速的(每个时钟每个fp单元一个)。 下一个问题是内存性能,最后一个经典的CRAY有31个内存组是最后一个原因,最终CPU性能受限于读取和写入内存的速度,所以您的问题适合哪种级别的caching? Linpack曾经是一个真正的基准testing,现在它已经适用于caching(如果不是L1,那么L2也是如此),而且更像是一个纯理论CPU基准。 当然,您的SSE(等)单位也可以添加浮点性能。
你运行什么发行版?
这看起来像一个很好的指针: http : //linuxtoolkit.blogspot.com/2009/04/intel-optimized-linpack-benchmark-for.html
http://onemansjourneyintolinux.blogspot.com/2008/12/show-us-yer-flops.html
http://www.phoronix-test-suite.com/可能是安装flops基准testing的一个更简单的方法。
不过,我真的不知道为什么你在乎,你用的是什么? 如果你只是想要一个毫无意义的数字,你的系统bogomips仍然在dmesg。
显然有一个“sysbench”基准包和命令:
sudo apt-get install sysbench (或者brew install sysbench OS X)
像这样运行它:
sysbench --test=cpu --cpu-max-prime=20000 --num-threads=2 run
输出比较:
total time: 15.3047s
ref: http : //www.midwesternmac.com/blogs/jeff-geerling/2013-vps-benchmarks-linode
传统上用来衡量FLOPS的一个基准是Linpack。 另一个常见的FLOPS基准是Whetstone。
更多阅读: 维基百科“FLOPS”条目 , Whetstone条目 , Linpack条目
我强烈build议从英特尔准备好运行的linpack版本: http : //software.intel.com/zh-cn/articles/intel-math-kernel-library-linpack-download/
正如您所提到的群集,我们已经使用了HPCC套件 。 设置和调整需要一些努力,但在我们的情况下,本质上并不是吹牛,而是集群接受标准的一部分; 一些性能基准testing是IMHO至关重要的,以确保硬件能够像广告一样工作,一切正确地连接在一起。
现在,如果你只是想要一个理论峰值FLOPS数字,那就很容易。 只要看看关于CPU的一些文章(比如在realworldtech.com上),以得到一个CPU内核在每个时钟周期内可以执行多less个DP FLOPS(当前的x86 CPU通常是4个)。 那么总峰值FLOPS就是
内核数量* FLOPS /周期*频率
那么对于具有IBnetworking的集群,您应该能够达到HPL峰值FLOPS的80%左右(顺便说一下,这是HPCC的基准之一)。
对于球场估计:
树莓派2 :299.93 * 10 ^ 6 FLOPS( 来源 )
树莓派3:462.07 * 10 ^ 6 FLOPS( 来源 )
cd benchmarks_2017/linux/mkl/benchmarks/linpack ./runme_xeon64 在Thinkpad T460p( Intel i7-6700HQ CPU )上,它提供:
This is a SAMPLE run script for SMP LINPACK. Change it to reflect the correct number of CPUs/threads, problem input files, etc.. ./runme_xeon64: 33: [: -gt: unexpected operator Mi 21. Dez 11:50:29 CET 2016 Intel(R) Optimized LINPACK Benchmark data Current date/time: Wed Dec 21 11:50:29 2016 CPU frequency: 3.491 GHz Number of CPUs: 1 Number of cores: 4 Number of threads: 4 Parameters are set to: Number of tests: 15 Number of equations to solve (problem size) : 1000 2000 5000 10000 15000 18000 20000 22000 25000 26000 27000 30000 35000 40000 45000 Leading dimension of array : 1000 2000 5008 10000 15000 18008 20016 22008 25000 26000 27000 30000 35000 40000 45000 Number of trials to run : 4 2 2 2 2 2 2 2 2 2 1 1 1 1 1 Data alignment value (in Kbytes) : 4 4 4 4 4 4 4 4 4 4 4 1 1 1 1 Maximum memory requested that can be used=9800701024, at the size=35000 =================== Timing linear equation system solver =================== Size LDA Align. Time(s) GFlops Residual Residual(norm) Check 1000 1000 4 0.014 46.5838 1.165068e-12 3.973181e-02 pass 1000 1000 4 0.010 64.7319 1.165068e-12 3.973181e-02 pass 1000 1000 4 0.009 77.3583 1.165068e-12 3.973181e-02 pass 1000 1000 4 0.010 67.0096 1.165068e-12 3.973181e-02 pass 2000 2000 4 0.064 83.6177 5.001027e-12 4.350281e-02 pass 2000 2000 4 0.063 84.5568 5.001027e-12 4.350281e-02 pass 5000 5008 4 0.709 117.6800 2.474679e-11 3.450740e-02 pass 5000 5008 4 0.699 119.2350 2.474679e-11 3.450740e-02 pass 10000 10000 4 4.895 136.2439 9.069137e-11 3.197870e-02 pass 10000 10000 4 4.904 135.9888 9.069137e-11 3.197870e-02 pass 15000 15000 4 17.260 130.3870 2.052533e-10 3.232773e-02 pass 15000 15000 4 18.159 123.9303 2.052533e-10 3.232773e-02 pass 18000 18008 4 31.091 125.0738 2.611497e-10 2.859910e-02 pass 18000 18008 4 31.869 122.0215 2.611497e-10 2.859910e-02 pass 20000 20016 4 44.877 118.8622 3.442628e-10 3.047480e-02 pass 20000 20016 4 44.646 119.4762 3.442628e-10 3.047480e-02 pass 22000 22008 4 57.918 122.5811 4.714135e-10 3.452918e-02 pass 22000 22008 4 57.171 124.1816 4.714135e-10 3.452918e-02 pass 25000 25000 4 86.259 120.7747 5.797896e-10 3.297056e-02 pass 25000 25000 4 83.721 124.4356 5.797896e-10 3.297056e-02 pass 26000 26000 4 97.420 120.2906 5.615238e-10 2.952660e-02 pass 26000 26000 4 96.061 121.9924 5.615238e-10 2.952660e-02 pass 27000 27000 4 109.479 119.8722 5.956148e-10 2.904520e-02 pass 30000 30000 1 315.697 57.0225 8.015488e-10 3.159714e-02 pass 35000 35000 1 2421.281 11.8061 1.161127e-09 3.370575e-02 pass Performance Summary (GFlops) Size LDA Align. Average Maximal 1000 1000 4 63.9209 77.3583 2000 2000 4 84.0872 84.5568 5000 5008 4 118.4575 119.2350 10000 10000 4 136.1164 136.2439 15000 15000 4 127.1586 130.3870 18000 18008 4 123.5477 125.0738 20000 20016 4 119.1692 119.4762 22000 22008 4 123.3813 124.1816 25000 25000 4 122.6052 124.4356 26000 26000 4 121.1415 121.9924 27000 27000 4 119.8722 119.8722 30000 30000 1 57.0225 57.0225 35000 35000 1 11.8061 11.8061 Residual checks PASSED End of tests Done: Mi 21. Dez 12:58:23 CET 2016