Hi All: I added M5OPS pseudo-instructions to a core computing part of my program code, but I now have a problem with M5OPS_RESETSTATS once I execute M5OPS_RESETSTATS and then M5OPS_DUMPSTATS. In the dump result, only eight system.mem_ctrls statistics are printed (32 mem_ctrls are configured). After the GEM5 simulation, the dump result contains 32 system.mem_ctrls statistics. If M5OPS_RESETSTATS is not used, the result of multiple dumps is correct.
My gem5 command is : build/ARM/gem5.fast -d goto_10000_m5out/ccopy2.goto ./configs/soc_base/se.py -n 1 --mem-size=32GB --mem-type=LPDDR5_6400_1x16_BG_BL16 --ruby --cpu-clock=2GHz --sys-clock=2GHz --ruby-clock=2GHz --num-hha=4 --ruby-mem-channels=32 --cpu-type=O3_ARM_1636 --cmd=/home/l00515693/KSim_LightESL/benchmark/build/ccopy.goto my gem5 version is v21.0.1.0 Partial Code: #define M5OPS_RESETSTATS __asm__ __volatile__ ("mov x0, 0; mov x1, 0; .inst 0XFF000110 | (0x40 << 16);" : : : "x0", "x1"); #define M5OPS_DUMPSTATS __asm__ __volatile__ ("mov x0, 0; mov x1, 0; .inst 0xFF000110 | (0x41 << 16);" : : : "x0", "x1"); #define M5OPS_DUMP_RESET_STATS __asm__ __volatile__ ("mov x0, 0; mov x1, 0; .inst 0xFF000110 | (0x42 << 16);" : : : "x0", "x1"); #define M5OPS_CHECKPOINT __asm__ __volatile__ ("mov x0, 0; mov x1, 0; .inst 0xFF000110 | (0x43 << 16);" : : : "x0", "x1"); #define M5OPS_EXIT __asm__ __volatile__ ("mov x0, 0; mov x1, 0; .inst 0xFF000110 | (0x21 << 16);" : : : "x0", "x1"); … for (l=0; l<loops; l++) { M5OPS_RESETSTATS clock_gettime(CLOCK_REALTIME, &time_start); COPY (&m, x, &inc_x, y, &inc_y ); clock_gettime(CLOCK_REALTIME, &time_end); M5OPS_DUMPSTATS nanos = time_end.tv_nsec - time_start.tv_nsec; seconds = time_end.tv_sec - time_start.tv_sec; time1 = seconds + nanos / 1.e9; timeg += time1; } timeg /= loops; fprintf(stderr, " %10.2f MBytes %12.9f sec\n", COMPSIZE * sizeof(FLOAT) * 1. * (double)m / timeg / 1.e6, timeg); } free(x); free(y); return 0; … grep -E "system.mem_ctrls[0-9]+.dram.bwTotal::total" stats.txt system.mem_ctrls0.dram.bwTotal::total 23542395 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls1.dram.bwTotal::total 23542395 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls11.dram.bwTotal::total 23542395 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls12.dram.bwTotal::total 23542395 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls13.dram.bwTotal::total 23542395 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls14.dram.bwTotal::total 23542395 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls15.dram.bwTotal::total 23542395 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls16.dram.bwTotal::total 23542395 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls17.dram.bwTotal::total 23542395 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls22.dram.bwTotal::total 23542395 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls29.dram.bwTotal::total 23542395 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls30.dram.bwTotal::total 23542395 # Total bandwidth to/from this memory ((Byte/Second)) (only 8 system.mem_ctrls) system.mem_ctrls0.dram.bwTotal::total 32147880 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls1.dram.bwTotal::total 25718304 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls10.dram.bwTotal::total 22503516 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls11.dram.bwTotal::total 32147880 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls12.dram.bwTotal::total 25718304 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls13.dram.bwTotal::total 25718304 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls14.dram.bwTotal::total 38577456 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls15.dram.bwTotal::total 38577456 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls16.dram.bwTotal::total 38577456 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls17.dram.bwTotal::total 35362668 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls18.dram.bwTotal::total 28933092 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls19.dram.bwTotal::total 25718304 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls2.dram.bwTotal::total 16073940 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls20.dram.bwTotal::total 25718304 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls21.dram.bwTotal::total 28933092 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls22.dram.bwTotal::total 32147880 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls23.dram.bwTotal::total 25718304 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls24.dram.bwTotal::total 32147880 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls25.dram.bwTotal::total 28933092 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls26.dram.bwTotal::total 22503516 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls27.dram.bwTotal::total 22503516 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls28.dram.bwTotal::total 25718304 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls29.dram.bwTotal::total 32147880 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls3.dram.bwTotal::total 16073940 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls30.dram.bwTotal::total 32147880 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls31.dram.bwTotal::total 38577456 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls4.dram.bwTotal::total 12859152 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls5.dram.bwTotal::total 22503516 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls6.dram.bwTotal::total 25718304 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls7.dram.bwTotal::total 28933092 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls8.dram.bwTotal::total 25718304 # Total bandwidth to/from this memory ((Byte/Second)) system.mem_ctrls9.dram.bwTotal::total 28933092 # Total bandwidth to/from this memory ((Byte/Second)) (32 system.mem_ctrls) ________________________________ 李翼超(Charlie) 华为技术有限公司 Huawei Technologies Co., Ltd. [Company_logo] 部门:计算系统与组件开发部 [云与计算BG] 手 机:15858232899 电子邮件:liyic...@huawei.com<mailto:liyic...@huawei.com> 地址:中国(China)-杭州(Hangzhou)-滨江区江淑路360号华为杭州研发中心Z4# [3-A06] ________________________________ 本邮件及其附件含有华为公司的保密信息,仅限于发送给上面地址中列出的个人或群组。禁 止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制、或散发)本邮件中 的信息。如果您错收了本邮件,请您立即电话或邮件通知发件人并删除本邮件! This e-mail and its attachments contain confidential information from HUAWEI, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s