[gem5-users] Using Simpoints in gem5
Hello Is it not possible to use the checkpoints generated using an Atomic simple CPU to restore them on a DerivO3CPU? Also, what do the -cpu-type and -restore-from-cpu mean in restoring from checkpoints? The new stats I manually added do not appear in the switch_cpus when I do -restore-from-cpu = DerivO3CPU? They only appear in the system.cpu, where most of the stats (including committed insts, etc) are all zero. Thanks Pawan B Joshi Electrical and Computer Engineering The University of Texas-Austin ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
[gem5-users] Checkpointing in gem5
When I run restore from checkpoints with --cpu-type = DerivO3CPU and --restore-with-cpu=DerivO3CPU, I get the error: File "/home/pawan/Desktop/Pred_mech/Project/VTAGE-gem5/src/python/m5/SimObject.py", line 1130, in __getattr__ AttributeError: object 'System' has no attribute 'switch_cpus' (C++ object is not yet constructed, so wrapped C++ methods are unavailable.) Hope that can help you find a solution Pawan B Joshi Electrical and Computer Engineering The University of Texas-Austin ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
[gem5-users] Using Simpoints in gem5
Hello Does the system config (CPU, caches, etc) used while taking checkpoints need to be the same as the one used while restoring from checkpoints? I used AtomicSimpleCPU while taking checkpoints, but I seem to see very poor results when I use a different CPU while restoring. Thanks Pawan B Joshi Electrical and Computer Engineering The University of Texas-Austin ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
[gem5-users] Reading Physical registers
Where are physical registers read in the OoO pipeline? I can see it happening in the inorder model inside the execute function - but not for the O3 model. Thanks Pawan B Joshi Electrical and Computer Engineering The University of Texas-Austin ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] Instantiate new SimObject
Hi Jason I did follow that tutorial - but I was wondering where I must instantiate my new SimObject - should it be in se.py or in some other file? I want my value predictor only for the O3CPU model. Thanks Pawan B Joshi Electrical and Computer Engineering The University of Texas-Austin On Mon, Apr 2, 2018 at 12:06 PM, Jason Lowe-Power <ja...@lowepower.com> wrote: > See http://learning.gem5.org/book/part2/helloobject.html. That chapter > explains all of the details of creating a new SimObject and instantiating > it. > > Jason > > On Sun, Apr 1, 2018 at 4:12 PM Pawan Joshi <pawanjoshi...@gmail.com> > wrote: > >> Hello >> I am adding this new Value predictor to the O3 pipeline, but I am unsure >> where to instantiate it? If I am correct, I see that the branch predictor >> is instantiated as a parameter to the DerivO3CPU class - >> >> branchPred = Param.BranchPredictor(TournamentBP(numThreads = >>Parent.numThreads), >>"Branch Predictor") >> >> >> but I don't want my value predictor to be a parameter as I have only one >> type of value predictor. Where should I call this? >> >> vpred = ValuePredictor("this is a simple value predictor"); >> >> >> >> Thanks >> Pawan B Joshi >> Electrical and Computer Engineering >> The University of Texas-Austin >> ___ >> 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
[gem5-users] Instantiate new SimObject
Hello I am adding this new Value predictor to the O3 pipeline, but I am unsure where to instantiate it? If I am correct, I see that the branch predictor is instantiated as a parameter to the DerivO3CPU class - branchPred = Param.BranchPredictor(TournamentBP(numThreads = Parent.numThreads), "Branch Predictor") but I don't want my value predictor to be a parameter as I have only one type of value predictor. Where should I call this? vpred = ValuePredictor("this is a simple value predictor"); Thanks Pawan B Joshi Electrical and Computer Engineering The University of Texas-Austin ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
[gem5-users] cxx_class in the Python Class for SimObject
Hello What does the cxx_class variable specify in the Python class? For example - class BranchPredictor(SimObject): type = 'BranchPredictor' *cxx_class = 'BPredUnit'* cxx_header = "cpu/pred/bpred_unit.hh" When I use the same name for this variable that I gave to my C++ class it give me an error! Here is what I have - A Python class by name ValuePredictor A C++ class by name VPred Python class file being - class ValuePredictor(SimObject): type = 'ValuePredictor' cxx_class = "VPred" cxx_header = "cpu/pred/valuepred.hh" The return object for my create() function is a pointer to the ValuePredictor class, which is throwing an error saying the "ValuePredictor does not name a type". Please let me know what I am missing - Thanks Pawan B Joshi Electrical and Computer Engineering The University of Texas-Austin ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
Re: [gem5-users] Adding a new resource
Yes, that makes it clear now. Thanks a lot for your help! Pawan Pawan B Joshi Electrical and Computer Engineering The University of Texas-Austin On Sat, Mar 17, 2018 at 11:00 PM, Tariq Azmy <tariqslaye...@gmail.com> wrote: > By "resources", I assume you are referring to each of the stage in the > out-of-order pipeline? Those stages' implementation codes (fetch, decode, > rename, etc..) are located inside the cpu/o3 directory. Branch prediction > typically is done in fetch stage, so if you look inside the fetch.hh source > code, it includes the header file of "cpu/pred/bpred_unit.hh". So if go > up one level, to the cpu/pred directory, that is where the branch predictor > implementation code is located. > > As far as value predictor, I am not sure how you are going to implement > it, but it probably needs to work with or link to other stages/resources > such as iew, instruction queue, rob.. > > Hope this helps. > > On Sat, Mar 17, 2018 at 3:44 PM, Pawan Joshi <pawanjoshi...@gmail.com> > wrote: > >> Okay, that makes sense. But isn't there a separate "resources" directory >> where I can see stuff like branch predictors implemented? I don't have any >> br. pred. in my current cpu/o3 directory. >> I wanted that as I can get a template to work with. >> >> >> Pawan >> >> ___ >> 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
Re: [gem5-users] Adding a new resource
Okay, that makes sense. But isn't there a separate "resources" directory where I can see stuff like branch predictors implemented? I don't have any br. pred. in my current cpu/o3 directory. I wanted that as I can get a template to work with. Pawan ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
[gem5-users] Adding a new resource
Hello all I am working on adding a new value predictor structure in the O3 CPU, but cannot seem to find the 'resources' directory where I have to code in my model. Where will this directory be - src/cpu/o3 doesn't have it. Thanks Pawan ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users
[gem5-users] Using a gem5 patch
Hello I'm new to gem5 and was trying to use an example patch file for NMRU cache replacement, as given in the tutorial. How do I use that patch file to simulate the cache system? Any help will be appreciated. Pawan ___ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users