¶1. 实验平台KNL配置
Intel Xeon Phi Processor 7210 ( 16GB, 1.30 GHz, 64 core )
Processor name : Intel® Xeon Phi™ 7210
Packages (sockets) : 1
Cores : 64
Processors (CPUs) : 256
Cores per package : 64
Threads per core : 4
RAM: 96GB
MCDRAM: 16 GB
理论峰值
n 1641.332=2662.4 Gflops*
¶2. HPL.dat文件中需要优化的参数
1 | HPLinpack benchmark input file |
需要优化的主要有N,NB,PxQ等
¶3. 根据内存情况,获取理论最优的N值
根据KNL的MCDRAM为16G,NN8=16G,得到N约为46000
从46000左右开始设置N值,进行测试。
- log信息提取命令
1 | awk -F: '/WR/' knl003_hpl.o31829 > 30000_128_8_8.log |
- 阶段性结果
N | NB | Ps | Qs | Result(Gflops) |
---|---|---|---|---|
30000 | 128 | 8 | 16 | 9.435e+02 |
30000 | 128 | 16 | 16 | 9.086e+01 |
30000 | 256 | 8 | 16 | 6.042e+02 |
35000 | 128 | 8 | 16 | 1.034e+03 |
35000 | 64 | 8 | 16 | 8.820e+02 |
35000 | 128 | 14 | 14 | 6.002e+02 |
35000 | 128 | 1 | 128 | 6.019e+02 |
35000 | 128 | 10 | 16 | 7.427e+02 |
35000 | 128 | 8 | 8 | 1.149e+03 |
35000 | 128 | 8 | 10 | 8.718e+02 |
39200 | 128 | 8 | 8 | 1.227e+03 |
39200 | 175 | 8 | 8 | 1.208e+03 |
41600 | 128 | 8 | 8 | 1.074e+03 |
32768 | 128 | 8 | 8 | 1.111e+03 |
更改运行脚本
1 |
|
进行实验
N | NB | Ps | Qs | Result(Gflops) |
---|---|---|---|---|
35000 | 128 | 8 | 8 | 效果很差 |
- 参数选择指导
参考Developer Guide for Intel.
The most significant parameters in HPL.dat are P, Q, NB, and N. Specify them as follows:
-
P and Q - the number of rows and columns in the process grid, respectively.
P*Q must be the number of MPI processes that HPL is using.
Choose P ≤ Q. -
NB - the block size of the data distribution.
The table below shows recommended values of NB for different Intel® processors:
- N - the problem size:
For homogeneous runs, choose N divisible by NB*LCM(P,Q), where LCM is the least common multiple of the two numbers.
For heterogeneous runs, see Heterogeneous Support in the Inte;l Optimized MP LINPACK Benchmark for how to choose N.
NOTE
Increasing N usually increases performance, but the size of N is bounded by memory. In general, you can compute the memory required to store the matrix (which does not count internal buffers) as 8NN/(P*Q) bytes, where N is the problem size and P and Q are the process grids in HPL.dat. A general rule of thumb is to choose a problem size that fills 80% of memory. When offloading to Intel Xeon Phi coprocessors, you may choose a problem size that fills 70% of memory, to leave room for additional buffers needed for offloading. Choose N and NB such that N > > NB.
-
最新优化情况
- 优化结果
N | NB | Ps | Qs | Result(Gflops) |
---|---|---|---|---|
3920 | 128 | 8 | 16 | 9.435e+02 |