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

Reply via email to