Re: [gem5-users] gem5 gcn3 (GPU) power model
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 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: >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: >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.numCycles704089210 > # 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: 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 > 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 >>
Re: [gem5-users] gem5 gcn3 (GPU) power model
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: 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: 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.numCycles704089210 # 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: 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 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
Re: [gem5-users] gem5 gcn3 (GPU) power model
Hi Dan, We're currently working on getting the branch here: https://gem5.googlesource.com/amd/gem5/+/refs/heads/agutierr/master-gcn3-staging into the mainline. From what I understand, that branch contains the most up to date GPU code. However, there is no power model for the GPU. As far as McPAT goes... this is tough. There have been some conversion scripts over the years, but nothing that has been maintained. It's hard since the power numbers depend on the hardware implementation, which is not something that gem5 models. You have to make your own decisions on how you think your hardware will be implemented. Cheers, Jason On Wed, Apr 8, 2020 at 7:40 AM Daniel Gerzhoy 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] gem5 gcn3 (GPU) power model
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