Hi everyone,
I want to change some of the parameters like tREAD, tWRITE, etc. in the
NVM_2400_1x64 class. I tried to create a new subclass for it but I wasn't
able to pass the class by name in the mem-type parameter in fs.py. And even
with changing the parameters in the existing class itself, it seems like
the values aren't getting updated when I try to print some of them in the
MemConfig.py file. It would be great if someone could help me fix this.
Hi,
did you recomile your gem5? E.g. "scons build/X86/gem5.opt -j 5”.
There is a huge list of dependencies within the full project, which means, a change of a single parameter will lead to a lot of files being rebuilt. You will recognise some lines similar to these ones within the output of scons:
scons: Building targets ...
[EMBED PY] X86/mem/NVMInterface.py -> .cc
[VER TAGS] -> X86/sim/tags.cc
[ CXX] X86/mem/NVMInterface.py.cc -> .pyo
[ CXX] X86/mem/NVMInterface.py.cc -> .do
BR,
Markus
On 10.06.2023, at 13:47, Vincent Abraham via gem5-users gem5-users@gem5.org wrote:
Hi everyone,
I want to change some of the parameters like tREAD, tWRITE, etc. in the NVM_2400_1x64 class. I tried to create a new subclass for it but I wasn't able to pass the class by name in the mem-type parameter in fs.py. And even with changing the parameters in the existing class itself, it seems like the values aren't getting updated when I try to print some of them in the MemConfig.py file. It would be great if someone could help me fix this.
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-leave@gem5.org
On 6/10/2023 7:47 AM, Vincent Abraham via gem5-users wrote:
Hi everyone,
I want to change some of the parameters like tREAD, tWRITE, etc. in the NVM_2400_1x64 class. I tried
to create a new subclass for it but I wasn't able to pass the class by name in the mem-type
parameter in fs.py. And even with changing the parameters in the existing class itself, it seems
like the values aren't getting updated when I try to print some of them in the MemConfig.py file. It
would be great if someone could help me fix this.
You can actually change them on the command line by using:
--param fullNameOfParameter=DesiredValue
If you look in a config.ini file from a run you can see the
full name of the component written out; add .nameOfParameter
to that to get the full name of the the parameter. Some
parameter values need quotes around them (as I recall,
ones that are strings as opposed to number when used in
python).
To be able to mention the class by name in fs.py you may
need to edit Options.py or MemConfig.py.
Some of these are more deeply embedded into the compiled
code and changes require a rebuild.
HTH - Eliot Moss
Re-building worked! Thank you.
On Sat, Jun 10, 2023 at 9:15 AM Eliot Moss moss@cs.umass.edu wrote:
On 6/10/2023 7:47 AM, Vincent Abraham via gem5-users wrote:
Hi everyone,
I want to change some of the parameters like tREAD, tWRITE, etc. in the
NVM_2400_1x64 class. I tried
to create a new subclass for it but I wasn't able to pass the class by
name in the mem-type
parameter in fs.py. And even with changing the parameters in the
existing class itself, it seems
like the values aren't getting updated when I try to print some of them
in the MemConfig.py file. It
would be great if someone could help me fix this.
You can actually change them on the command line by using:
--param fullNameOfParameter=DesiredValue
If you look in a config.ini file from a run you can see the
full name of the component written out; add .nameOfParameter
to that to get the full name of the the parameter. Some
parameter values need quotes around them (as I recall,
ones that are strings as opposed to number when used in
python).
To be able to mention the class by name in fs.py you may
need to edit Options.py or MemConfig.py.
Some of these are more deeply embedded into the compiled
code and changes require a rebuild.
HTH - Eliot Moss