gem5-users@gem5.org

The gem5 Users mailing list

View all threads

how to run program on gem5 across different number of cycles

AA
ABD ALRHMAN ABO ALKHEEL
Tue, Jun 23, 2020 3:05 AM

Hi All,

I want to run a program on GEM5 se mode across a different number of cycles, for example, 1K cycles, 10K, 100K...etc.

How I can do that?

Thanks

Hi All, I want to run a program on GEM5 se mode across a different number of cycles, for example, 1K cycles, 10K, 100K...etc. How I can do that? Thanks
JL
Jason Lowe-Power
Tue, Jun 23, 2020 4:10 AM

Hello,

When you call the simulate() function in python, it takes a single
parameter, the number of ticks to execute. Ticks are usually 1ps. So, it
depends on your cycle time what you would pass to simulate. There's a
useful function for converting, though.

Say you have a clock domain like the following:

system.clk_domain = SrcClockDomain()
system.clk_domain.clock = '1GHz'
system.clk_domain.voltage_domain = VoltageDomain()

You can get the number of ticks per cycle by calling the getValue
function.

m5.instantiate()
print("Ticks per cycle: ", system.clk_domain.clock.getValue())

So, if you want to run for 1000 cycles, you can call simulate() like below:

simulate(1000*system.clk_domain.clock.getValue())

See http://www.gem5.org/documentation/learning_gem5/part1/simple_config/ for
more details on how to create your own config files.

Cheers,
Jason

On Mon, Jun 22, 2020 at 8:05 PM ABD ALRHMAN ABO ALKHEEL via gem5-users <
gem5-users(a)gem5.org> wrote:

Hi All,

I want to run a program on GEM5 se mode across a different number of
cycles, for example, 1K cycles, 10K, 100K...etc.

How I can do that?

Thanks


gem5-users mailing list -- gem5-users(a)gem5.org
To unsubscribe send an email to gem5-users-leave(a)gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Hello, When you call the simulate() function in python, it takes a single parameter, the number of *ticks* to execute. Ticks are usually 1ps. So, it depends on your cycle time what you would pass to simulate. There's a useful function for converting, though. Say you have a clock domain like the following: ``` system.clk_domain = SrcClockDomain() system.clk_domain.clock = '1GHz' system.clk_domain.voltage_domain = VoltageDomain() ``` You can get the number of ticks per cycle by calling the `getValue` function. ``` m5.instantiate() print("Ticks per cycle: ", system.clk_domain.clock.getValue()) ``` So, if you want to run for 1000 cycles, you can call simulate() like below: ``` simulate(1000*system.clk_domain.clock.getValue()) ``` See http://www.gem5.org/documentation/learning_gem5/part1/simple_config/ for more details on how to create your own config files. Cheers, Jason On Mon, Jun 22, 2020 at 8:05 PM ABD ALRHMAN ABO ALKHEEL via gem5-users < gem5-users(a)gem5.org> wrote: > Hi All, > > I want to run a program on GEM5 se mode across a different number of > cycles, for example, 1K cycles, 10K, 100K...etc. > > How I can do that? > > Thanks > > > _______________________________________________ > gem5-users mailing list -- gem5-users(a)gem5.org > To unsubscribe send an email to gem5-users-leave(a)gem5.org > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s