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

Reply via email to