Hi Mahmood, A slight correction there, there is a patch going out soon that will enable the stats to be dumped in a Python data structure rather than as a text file (replacing stats.txt). This avoids having to parse a text file and match that to the system description. The json format is used to describe the system configuration and is already part of gem5 (replacing config.ini).
I am afraid I do not have a date for the Python stats patch…but it should be in the order of weeks. Andreas From: Mahmood Naderan <mahmood...@gmail.com<mailto:mahmood...@gmail.com>> Reply-To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Date: Monday, 22 October 2012 09:05 To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>> Subject: Re: [gem5-users] Problems with McPAT and gem5 I remember that "Andreas Hansson" said a json format is under development which will close the gap between gem5 and mcpat. Any news for that? Regards, Mahmood On Mon, Oct 22, 2012 at 3:44 AM, Amin Farmahini <amin...@gmail.com<mailto:amin...@gmail.com>> wrote: Hi Hongyuan, I wonder if you have made any progress on using the McPAT script (m5_mcpat.pl<http://m5_mcpat.pl>) for gem5? I'd like to use that script to automatically get power numbers. So I was wondering if you could share your exprience or your updated script so lazy engineers like me save some time. Thanks, Amin On Fri, Oct 5, 2012 at 7:57 AM, Erik Tomusk <e.tom...@sms.ed.ac.uk<mailto:e.tom...@sms.ed.ac.uk>> wrote: Hi Hongyuan, >From my personal experience, tool #1 has been broken for quite some time and >when I looked at it, it was far too complicated for me to reverse-engineer and >fix. I've had much more success with #2, but for various reasons, I can't make my updated version available yet. It probably wouldn't do what you need it to anyway. #2 might look a bit complex, but all it does is take a template McPAT XML file (mcpat-template.xml) and plug in values from gem5's config.ini and stats.txt. Most of the values in mcpat-template.xml are hardwired, but some are of the form value="{...}". The script just replaces everything inside {} with values from gem5. If I remember correctly, the problems with tool #2 are that the format of stats.txt has changed slightly, there are some values in the template that shouldn't be hardwired but are, and in some cases the template is picking up the wrong value from gem5. To get #2 to work, the first thing you'd need to do is get m5-mcpat.pl<http://m5-mcpat.pl> to correctly fill in the template. Depending on how comfortable you are with Perl, you might be better off rolling your own script in something like Python to complete the template--m5-mcpat.pl<http://template--m5-mcpat.pl> has some particularly nasty Perl in it. Then it's just case of figuring out what the values in mcpat-template.xml correspond to in config.ini and stats.txt. Here you can focus on the parameters you're actually researching. For the CPU core, this isn't too difficult; if you're working on something like cache or NoC, it could be hard. Keep in mind that McPAT isn't nearly as configurable as gem5, so a lot of the things you can do in gem5 won't readily translate over to McPAT. Hope this helps. -Erik On 05/10/12 04:26, Ding, Hongyuan wrote: Dear All, I'm new to gem5. Recently I tired to integrate McPAT on gem5. I found two possible tools: 1. m5-mcpat-parse-se.py, http://cseweb.ucsd.edu/~rstrong/<http://cseweb.ucsd.edu/%7Erstrong/> 2. m5-mcpat.pl<http://m5-mcpat.pl>, https://www.cl.cam.ac.uk/~acr31/sicsa/<https://www.cl.cam.ac.uk/%7Eacr31/sicsa/> I tried a simple example in gem5 to get the output files: build/ARM/gem5.opt configs/example/se.py -c tests/test-progs/hello/bin/arm/linux/hello I used m5-mcpat-parse-se.py to transform the output files but got the following error information: ERROR, UNEXPECTED EXCEPTION int() argument must be a string or a number, not 'NoneType' Traceback (most recent call last): File "m5-mcpat-parse-se.py", line 1896, in <module> exit_code = main() File "m5-mcpat-parse-se.py", line 1847, in main run() File "m5-mcpat-parse-se.py", line 1036, in run parseSystemConfig(config_file_path, stat_file_path, out_file_path, out_file_path_2, component_hash, stats_hash) File "m5-mcpat-parse-se.py", line 1682, in parseSystemConfig createComponentTree (cht, sht) File "m5-mcpat-parse-se.py", line 1568, in createComponentTree generateCalcStats(cht, sht) File "m5-mcpat-parse-se.py", line 1494, in generateCalcStats cht[options.system_name].statistics["total_cycles"] = str(int(sht["%s.sim_ticks"%(options.system_name)])/int(fastest_clock)) TypeError: int() argument must be a string or a number, not 'NoneType' I used m5-mcpat.pl<http://m5-mcpat.pl> to get the xml file and used mcpat-exec.pl<http://mcpat-exec.pl> to run McPAT, but also got errors: Parse error (couldn't find runtime_sec in XML file) Then I used McPAT directly to run the XML file generated by m5-mcpat.pl<http://m5-mcpat.pl>, but got the following error information: ERROR: no valid tag organizations found I guess these two tools are too old to support the current version of gem5. Does anyone has a modified tools for McPAT integration or some clues on how to fix it? Thank you very much for any comments! -- Best regards, Hongyuan Ding _______________________________________________ gem5-users mailing list gem5-users@gem5.org<mailto:gem5-users@gem5.org>http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users The University of Edinburgh is a charitable body, registered in Scotland, with registration number SC005336. _______________________________________________ gem5-users mailing list gem5-users@gem5.org<mailto:gem5-users@gem5.org> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users _______________________________________________ gem5-users mailing list gem5-users@gem5.org<mailto:gem5-users@gem5.org> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users -- IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you. _______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users