Thank you both! Andreas, I'm currently in a writing phase (boo) but I definitely have questions when I start getting into it.
Best regards, Dan On Wed, Apr 8, 2020 at 12:03 PM Andreas Brokalakis <kingm...@gmail.com> wrote: > Hi Dan, > > in this repository: https://github.com/kingmouf/cmcpat I have added a > modified version of McPAT (it details the changes) as well as necessary > templates and scripts to work with the November 2019 version of gem5. I > have not been able to track if the newest version of gem5 breaks any of the > conversion scripts. > > gem5 and McPAT can work together... sort of. McPAT requires some low level > implementation details (e.g. lithography) that gem5 does not model. In > addition certain aspects of the design that gem5 models are embedded in the > code of gem5 itself and are not made directly available to output files > (though indirectly you may be able to figure out most). I'll try to guide > you a little bit if you use my approach - but you can use any other > approach and most of what I write will apply. In my repository you can find > a script to convert gem5 output to a proper input xml file for McPAT. The > following more or less describe the process: > > 1. Execute gem5 with the system that you are trying to model and gather > the results. You are going to need two files: > - config.json from where you will be able to draw configuration / > architectural information about the system you are modelling. This is > information that McPAT requires in order to build a circuit model of your > system. > - stats.txt that contain the statistics of the execution run and McPAT > requires in order to calculate power/energy based on circuit activity. > > 2. McPAT requires as input an xml file that describes the processor and > also the activities of each unit. You need to create a xml template file > that describes the processor and has some hardwired information that you > insert (that is the circuit level info that gem5 does not model at all) and > then provide the proper hooks for the conversion scripts that will read the > gem5 output files and fill the xml template with the proper numerical > values. McPAT provides some processor template files that can be your > starting point and in my repository you can find additional template files > for specific cases (e.g. ARM in order processors compatible with the ones > gem5 models). Please refer to these template files in order to get a grasp > on how you make them. > - open for example inorder_arm.xml file. > - Check for example this line: <param name="core_tech_node" value="28 > "/><!-- nm --> > Here you should specify the tech node that the processor is going > to be implemented. This is the kind of information that gem5 cannot > provide. Use your own based on what you are trying to do. Here I just used > 28nm. > - Check for example this line: <stat name="total_cycles" value=" > stats.system.cpu.numCycles"/> > Here you should specify the overall number of cycles that your > program has taken in order to be executed. gem5 models this information and > it is located in the stats.txt file. For my test system, in the stats.txt > file there is a line: > system.cpu.numCycles 704089210 > # number of cpu cycles simulated > that has this information. So by placing the value " > stats.system.cpu.numCycles" in the template xml file, I instruct the > conversion script to retrieve the value from the stats.txt file and there > it should search for the system.cpu.numCycles entry. > - Check for example this line: <param name="instruction_buffer_size" > value="config.system.cpu.fetch2InputBufferSize"/> > Similarly to the previous example, this is an architectural > information, so I instruct the conversion script to fetch this value from > the config.json file and then retrieve the value from the > system->cpu->fetch2InputBufferSize entry. > > 3. Once a template xml file has been made you can call the conversion > script that upon execution will replace the directives with actual values. > It will produce an xml file that you can then use with McPAT. > > While the process seems rather tedious, remember that you only need to do > this once per system you are modelling and then it is totally > straightforward. > > I hoped I helped a little bit. Please check the documentation in my > repository as well. > > Best, > Andreas > > On Wed, Apr 8, 2020 at 5:39 PM Daniel Gerzhoy <daniel.gerz...@gmail.com> > wrote: > >> Hello, >> >> I'm wondering if there is a power model associated with the GPU model in >> the GCN3 branch. >> >> Actually is it still a branch? Or is it in the main gem5 branch now? I'm >> using the version that was in a separate branch a few months ago. >> >> Also if anyone could please point me at any documentation for using McPat >> or other power estimation with gem5 in general that would be very >> appreciated. I've found a little bit, but nothing comprehensive. >> >> Thanks, >> >> Dan Gerzhoy >> _______________________________________________ >> gem5-users mailing list >> gem5-users@gem5.org >> http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users > > _______________________________________________ > gem5-users mailing list > gem5-users@gem5.org > http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users