intel / lmbench

GNU General Public License v2.0
265 stars 117 forks source link

lmbench analysis for RISCV #12

Open kirana1996 opened 4 years ago

kirana1996 commented 4 years ago

Hello, I have built/run lmbench on RISCV HiFive Unleashed which has yocto linux kernel 5.4.3. These are the results: root@exaleapsemi:/mnt/kiran/lmbench3/bin/riscv64-linux-# ./bw_mem 1M rd 1.05 1770.58 root@exaleapsemi:/mnt/kiran/lmbench3/bin/riscv64-linux-# ./bw_mem 2M rd


2.10 974.06 root@exaleapsemi:/mnt/kiran/lmbench3/bin/riscv64-linux-# ./bw_mem 3M rd


3.15 600.90 root@exaleapsemi:/mnt/kiran/lmbench3/bin/riscv64-linux-# ./bw_mem 4M rd


4.19 506.86 root@exaleapsemi:/mnt/kiran/lmbench3/bin/riscv64-linux-# ./bw_mem 200M rd


209.72 424.38 root@exaleapsemi:/mnt/kiran/lmbench3/bin/riscv64-linux-# ./bw_mem 600M rd


629.15 441.76 root@exaleapsemi:/mnt/kiran/lmbench3/bin/riscv64-linux-# ./bw_mem 879M rd


921.70 437.99

Could some one please help me understand how we get 921.70 (last result) when 879Mb data is read and also the impact on speed, 437.99 Mbps? Any other pointers will be helpful.

Thanks

zhongpanwu commented 2 years ago

Hi, where you got the lmbench RISC-V version?

sunmin89 commented 1 year ago

Hi, where you got the lmbench RISC-V version?

Hi, I have forked one for RISC-V, it should work on riscv64 dev board. Besides, I recommend to run lmbench with root account.

sunmin89 commented 1 year ago

Hello, I have built/run lmbench on RISCV HiFive Unleashed which has yocto linux kernel 5.4.3. 629.15 441.76 root@exaleapsemi:/mnt/kiran/lmbench3/bin/riscv64-linux-# ./bw_mem 879M rd

921.70 437.99

Could some one please help me understand how we get 921.70 (last result) when 879Mb data is read and also the impact on speed, 437.99 Mbps? Any other pointers will be helpful.

Thanks

Hi, You can have a look at the output of

man doc/bw_mem.8

It says: MEMORY UTILIZATION This benchmark can move up to three times the requested memory. Bcopy will use 2-3 times as much memory bandwidth: there is one read from the source and a write to the destionation. The write usually results in a cache line read and then a write back of the cache line at some later point. Memory utilization might be reduced by 1/3 if the processor architecture implemented ``load cache line'' and ``store cache line'' instructions (as well as ``getcachelinesize'').

or

man doc/bw_mem_rd.8

MEMORY UTILIZATION This benchmark should move approximately the reported amount of memory.

The above keyword approximately is important, it implies that the output 921.70 seems ok compared with what you supplied.