[AMD Official Use Only - Internal Distribution Only] You could probably use the simpoint_start_insts vector param in CPU to have simulation exit to your python script and dump/reset stats there. For example:
cpu.simpoint_start_insts = [x*N for x in range(1000)] where N is the instruction sample period. You'd have to know the approximate number of total instructions to figure out what to replace 1000 with though. -Matt From: Matt Sinclair via gem5-users <gem5-users@gem5.org> Sent: Tuesday, May 26, 2020 7:39 PM To: Rajeev Pal <rjvpal0...@gmail.com> Cc: gem5 users mailing list <gem5-users@gem5.org>; Matt Sinclair <mattdsincl...@gmail.com> Subject: [gem5-users] Re: Stat dump after each N instructions - CPU and/or AMD GPU [CAUTION: External Email] Thanks, this is helpful Rajeev. I am not an expert at this part of the simulator, but I believe the m5ops is indeed what you are looking for. After looking through the m5ops again, I don't think gem5 currently has exactly the feature you are looking for -- m5_dump_reset_stats is the closest, but it resets based on time, and you want instructions (as you and Muhammet discussed above). So, my guess is that you should look at how m5_dump_reset_stats is implemented (start with include/gem5/m5ops.h), and create a new version of it that dumps/resets based on instructions instead. Matt On Tue, May 26, 2020 at 4:40 PM Rajeev Pal <rjvpal0...@gmail.com<mailto:rjvpal0...@gmail.com>> wrote: schedStatEvent() would be helpful in case of tick based stat dumping. But I need instruction count based stat dumping. On Tue, May 26, 2020 at 5:28 PM Muhammet Abdullah Soytürk <muhammetabdullahsoyt...@gmail.com<mailto:muhammetabdullahsoyt...@gmail.com>> wrote: I don't know how legal is this and whether it has side effects but you might try schedStatEvent<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgem5%2Fgem5%2Fblob%2Fmaster%2Fsrc%2Fsim%2Fstat_control.cc%23L248&data=02%7C01%7Cmatthew.poremba%40amd.com%7Cc1acc0e3db8b4b75f80b08d801e76d8e%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637261440774986854&sdata=LienH63%2FeykSsEWdBwDF2d2fqlBlqS7xzwpdZ8dqqco%3D&reserved=0> to schedule the dumps. Muhammet Matt Sinclair via gem5-users <gem5-users@gem5.org<mailto:gem5-users@gem5.org>>, 27 May 2020 Çar, 00:13 tarihinde şunu yazdı: I'm not sure if this is your ultimate problem, but if it only works on the CPU for the first N instructions, is N simply representing the point where you need a 64-bit counter instead of a 32-bit counter? Unfortunately I don't know the answer to your other questions, sorry. Perhaps you are thinking of the m5ops, which people often use for things like resetting stats: https://www.gem5.org/documentation/general_docs/m5ops/<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.gem5.org%2Fdocumentation%2Fgeneral_docs%2Fm5ops%2F&data=02%7C01%7Cmatthew.poremba%40amd.com%7Cc1acc0e3db8b4b75f80b08d801e76d8e%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637261440774986854&sdata=rWt7oZcEP%2Fn%2FqZjELAJUtCNRvV8orNwTK0ebBVVM270%3D&reserved=0>? Matt On Tue, May 26, 2020 at 2:12 PM Rajeev Pal via gem5-users <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> wrote: Hi All, Is it possible to dump and reset statistics after each N instructions for CPU and/or AMD GPU. I see that there is a max_insts_any_thread var for cpus. I was able to use it to stop simulation, dump and reset stats (from apu_se.py), but it only works for the first N instructions. (1) Is there any existing mechanism which I can leverage ? There is a comInstEventQueue which I think is used to stop the simulation after first N instructions. Can I somehow use this ? (2) If not, then where and what sort of modifications will I need ? I need to do this for both CPU and AMD GPU. Thank you, Rajeev Pal _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org> To unsubscribe send an email to gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s _______________________________________________ gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org> To unsubscribe send an email to gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________ 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