[gem5-users] Using Simpoints in gem5

2018-05-08 Thread Pawan Joshi
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

2018-05-07 Thread Pawan Joshi
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

2018-05-06 Thread Pawan Joshi
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

2018-04-02 Thread Pawan Joshi
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

2018-04-02 Thread Pawan Joshi
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

2018-04-01 Thread Pawan Joshi
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

2018-03-31 Thread Pawan Joshi
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

2018-03-18 Thread Pawan Joshi
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

2018-03-17 Thread Pawan Joshi
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

2018-03-16 Thread Pawan Joshi
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

2017-11-29 Thread Pawan Joshi
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