[gem5-users] How to use the argument warmup-insts?

2023-04-19 Thread Farbin Fayza via gem5-users
Hi, could anyone tell me how to use the option warm-up insts?
I found this option in configs/common/Options.py line 612

parser.add_argument(
"-W",
"--warmup-insts",
action="store",
type=int,
default=None,
help="Warmup period in total instructions (requires --standard-switch)",
)

But I'm not sure how to use this later in the config file. Could someone
help me with this?

Thanks,
Farbin.
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] Re: SPEC2017 FS Simulation - Using KVM up to the point when the benchmarks finally run

2023-04-19 Thread Farbin Fayza via gem5-users
Thank you Zhantong. I'll let you know if I try this option. Do you know
about the option "warmup-insts"?

Best,
Farbin.

On Tue, Apr 18, 2023 at 9:09 PM Zhantong Qiu via gem5-users <
gem5-users@gem5.org> wrote:

> Hello Fayza,
>
> I think you can put m5op in SPEC2017 to mark where the actual benchmark
> application begins and switch the CPU after reaching there.
> The documentation of using m5op:
> https://www.gem5.org/documentation/general_docs/m5ops/
> I tried to put m5op in specinvoke in SPEC2006 to exit the simulation right
> before the actual benchmark application. Here is the note I took for doing
> that: https://github.com/studyztp/some-notes/blob/main/m5op-specinvoke.md
>
> Best,
> Zhantong
>
>
>
> On Mon, Apr 17, 2023 at 8:02 AM Farbin Fayza via gem5-users <
> gem5-users@gem5.org> wrote:
>
>> Hello,
>> I'm using the x86-spec-cpu2017-benchmarks.py config file to run spec2017
>> benchmarks. I followed this tutorial
>> https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/spec-2017/
>> for building the spec disk image.
>>
>> Currently, the linux booting is done with KVM CPU and the rest of the
>> simulation is done with the TIMING CPU. However, after booting linux, there
>> are lots of steps before the benchmark actually gets to run.
>>
>> For example, here are the logs in my board.pc.com_1.device file after
>> booting linux:
>>
>> "Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.19.83 x86_64)
>>
>>  * Documentation:  https://help.ubuntu.com
>>  * Management: https://landscape.canonical.com
>>  * Support:https://ubuntu.com/advantage
>>
>> New release '20.04.6 LTS' available.
>> Run 'do-release-upgrade' to upgrade to it.
>>
>> The programs included with the Ubuntu system are free software;
>> the exact distribution terms for each program are described in the
>> individual files in /usr/share/doc/*/copyright.
>>
>> Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
>> applicable law.
>>
>> Done reading workloads
>> Workload detected
>> Reset stats
>> SPEC CPU(r) 2017 Benchmark Suites
>> Copyright 1995-2019 Standard Performance Evaluation Corporation (SPEC)
>>
>> runcpu v6612
>> Using 'linux-x86_64' tools
>> Reading file manifests... read 32351 entries from 2 files in 0.23s
>> (138866 files/s)
>> Loading runcpu modules.
>> Locating benchmarks...found 47 benchmarks in 73 benchsets.
>> Reading config file '/home/gem5/spec2017/config/myconfig.x86.cfg'
>> 1 configuration selected:
>>
>>  ActionRun Mode   Workload Report Type  Benchmarks
>>          
>> ---
>> validate   rate   test   SPECrate2017_int   502.gcc_r
>>
>>
>> ---
>>
>> Setting up environment for running 502.gcc_r...
>> Starting runcpu for 502.gcc_r...
>> Retrieving flags file (/home/gem5/spec2017/config/flags/gcc.xml)...
>> Benchmarks selected: 502.gcc_r
>> Compiling Binaries
>>   Up to date 502.gcc_r base mytest-m64
>>   NOT Building 502.gcc_r peak mytest-m64; nobuild is on
>>
>> Build successes for intrate: None
>> Build errors for intrate: 502.gcc_r(peak; nobuild)
>>
>> Setting Up Run Directories
>>   Setting up 502.gcc_r test base mytest-m64 (1 copy):
>> run_base_test_mytest-m64.
>>
>> *Running Benchmarks  Running 502.gcc_r test base mytest-m64 (1 copy)
>> [2023-04-03 15:46:35]*"
>>
>> And these steps take more than a day with the TIMING CPU. Is there any
>> way to run everything on the KVM CPU before running the actual benchmark
>> application?
>>
>> Thanks,
>> Fayza.
>>
>> ___
>> gem5-users mailing list -- gem5-users@gem5.org
>> To unsubscribe send an email to gem5-users-le...@gem5.org
>>
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
>
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] SPEC2017 FS Simulation - Using KVM up to the point when the benchmarks finally run

2023-04-17 Thread Farbin Fayza via gem5-users
Hello,
I'm using the x86-spec-cpu2017-benchmarks.py config file to run spec2017
benchmarks. I followed this tutorial
https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/spec-2017/
for building the spec disk image.

Currently, the linux booting is done with KVM CPU and the rest of the
simulation is done with the TIMING CPU. However, after booting linux, there
are lots of steps before the benchmark actually gets to run.

For example, here are the logs in my board.pc.com_1.device file after
booting linux:

"Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.19.83 x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management: https://landscape.canonical.com
 * Support:https://ubuntu.com/advantage

New release '20.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

Done reading workloads
Workload detected
Reset stats
SPEC CPU(r) 2017 Benchmark Suites
Copyright 1995-2019 Standard Performance Evaluation Corporation (SPEC)

runcpu v6612
Using 'linux-x86_64' tools
Reading file manifests... read 32351 entries from 2 files in 0.23s (138866
files/s)
Loading runcpu modules.
Locating benchmarks...found 47 benchmarks in 73 benchsets.
Reading config file '/home/gem5/spec2017/config/myconfig.x86.cfg'
1 configuration selected:

 ActionRun Mode   Workload Report Type  Benchmarks
         
---
validate   rate   test   SPECrate2017_int   502.gcc_r

---

Setting up environment for running 502.gcc_r...
Starting runcpu for 502.gcc_r...
Retrieving flags file (/home/gem5/spec2017/config/flags/gcc.xml)...
Benchmarks selected: 502.gcc_r
Compiling Binaries
  Up to date 502.gcc_r base mytest-m64
  NOT Building 502.gcc_r peak mytest-m64; nobuild is on

Build successes for intrate: None
Build errors for intrate: 502.gcc_r(peak; nobuild)

Setting Up Run Directories
  Setting up 502.gcc_r test base mytest-m64 (1 copy):
run_base_test_mytest-m64.

*Running Benchmarks  Running 502.gcc_r test base mytest-m64 (1 copy)
[2023-04-03 15:46:35]*"

And these steps take more than a day with the TIMING CPU. Is there any way
to run everything on the KVM CPU before running the actual benchmark
application?

Thanks,
Fayza.
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] Re: SPEC2017 - Most of the metrics in m5.out/stats.txt are 0 or undefined

2023-04-14 Thread Farbin Fayza via gem5-users
Okay great!

Thanks,
Farbin.

On Thu, Apr 13, 2023 at 11:41 PM Ayaz Akram  wrote:

> Hi Farbin,
>
> I think that change/fix is already merged.
>
> -Ayaz
>
> On Wed, Apr 12, 2023 at 1:47 PM Farbin Fayza  wrote:
>
>> Hi everyone, thank you very much for co-operating. The stat file errors
>> were resolved by the change that Humza mentioned. The stat file now
>> contains non-zero metrics. Should I make changes and push them to the repo?
>> Should it be in the "develop" branch of
>> https://gem5.googlesource.com/public/gem5?
>>
>> Thanks,
>> Farbin.
>>
>>
>> On Fri, Apr 7, 2023 at 10:12 PM Eliot Moss  wrote:
>>
>>> On 4/7/2023 10:05 PM, Farbin Fayza via gem5-users wrote:
>>> > Could you kindly tell me if there's any way to run the gem5 simulation
>>> faster using multiple cores?
>>> > Is it possible while we run SPEC?
>>>
>>> The only way is to run multiple distinct simulations in parallel.
>>> This can be done by directing their outputs (both the gem5 output
>>> and the simulated program's output) to different files.  When I
>>> do this I also have some temporary mounts that I need to be
>>> careful about so I copy the (fortunately small) different
>>> mounted drive files.
>>>
>>> Anyway, I do this all the time.
>>>
>>> HTH -- Eliot Moss
>>>
>>
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] Re: SPEC2017 Calculating CPI

2023-04-13 Thread Farbin Fayza via gem5-users
Hi Heng,
Thanks for your reply. Do you mean something like this? I changed atomic.cc
like this:

void AtomicSimpleCPU::drainResume()
{
assert(!tickEvent.scheduled());
if (switchedOut())
return;

DPRINTF(SimpleCPU, "Resume\n");
verifyMemoryMode();

assert(!threadContexts.empty());

_status = BaseSimpleCPU::Idle;

* threadInfo[0]->thread->lastSuspend = curTick();*
for (ThreadID tid = 0; tid < numThreads; tid++) {
if (threadInfo[tid]->thread->status() == ThreadContext::Active) {
threadInfo[tid]->execContextStats.notIdleFraction = 1;
activeThreads.push_back(tid);
_status = BaseSimpleCPU::Running;

// Tick if any threads active
if (!tickEvent.scheduled()) {
schedule(tickEvent, nextCycle());
}
} else {
threadInfo[tid]->execContextStats.notIdleFraction = 0;
}
}


// Reschedule any power gating event (if any)
schedulePowerGatingEvent();
}

After this change, I rebuilt gem5 and ran a simulation on simple.py. But
still, the number of cycles is very higher than the number of instructions.
system.cpu.numCycles   524617
# Number of cpu cycles simulated (Cycle)
system.cpu.exec_context.thread_0.numInsts 6701
  # Number of instructions committed (Count)


I'm not sure if I'm missing something. Is this the right way to get the
cycles and the instructions? For SPEC2017, the stats are even more
complicated and I'm not sure what's the right way. Could you help me with
it? Thank you so much.

Best,
Farbin.

On Wed, Apr 12, 2023 at 5:23 PM HENG ZHUO  wrote:

> Hi,
> I ran into similar issues before. Say I did, boot the cpus with atomic
> cpu, then warmup the application with atomic cpu, then restore with atomic
> cpu for ROI data collection. With this, the final numcycles are counted
> including boot+warmup+roi, not just roi. If you did a finalTick/ frequency,
> that should match.
>
> Issue: in simple cpu, including both atomic and timing
> lastSuspend is 0 when resume, then when it try to increment cycles
> using lastActivate-lastSuspend, it includes all cycles before.
>
> My fix: add this line in
> AtomicSimpleCPU::drainResume()
> threadInfo[0]->thread->lastSuspend = curTick();
>
> So, whenever atomic cpu resume from checkpoint, it counts from that point.
> I hope this is what you were looking for. This can probably make to the
> mainline gem5 if my understanding of the issue is correct.
>
> Best,
> Heng
>
> On Apr 12, 2023, at 15:40, Farbin Fayza via gem5-users <
> gem5-users@gem5.org> wrote:
>
> Hi, I'm running SPEC2017 benchmark in full-system mode using
> the configs/example/gem5_library/x86-spec-cpu2017-benchmarks.py config
> file.
>
> In the outputs m5/stats.txt, there's no system.cpu.cpi metric mentioned.
> So, to calculate the CPI, I tried dividing 
> board.processor.switch0.core.numCycles
> by
> board.processor.switch0.core.exec_context.thread_0.numInsts. But it
> results in a large number (~10) which I don't think is the correct way to
> calculate CPI. Could anyone tell me what is the correct way to calculate
> the CPI based on the stats.txt results?
>
> Thanks,
> Farbin.
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
>
>
>
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] Re: SPEC2017 - Most of the metrics in m5.out/stats.txt are 0 or undefined

2023-04-12 Thread Farbin Fayza via gem5-users
Hi everyone, thank you very much for co-operating. The stat file errors
were resolved by the change that Humza mentioned. The stat file now
contains non-zero metrics. Should I make changes and push them to the repo?
Should it be in the "develop" branch of
https://gem5.googlesource.com/public/gem5?

Thanks,
Farbin.


On Fri, Apr 7, 2023 at 10:12 PM Eliot Moss  wrote:

> On 4/7/2023 10:05 PM, Farbin Fayza via gem5-users wrote:
> > Could you kindly tell me if there's any way to run the gem5 simulation
> faster using multiple cores?
> > Is it possible while we run SPEC?
>
> The only way is to run multiple distinct simulations in parallel.
> This can be done by directing their outputs (both the gem5 output
> and the simulated program's output) to different files.  When I
> do this I also have some temporary mounts that I need to be
> careful about so I copy the (fortunately small) different
> mounted drive files.
>
> Anyway, I do this all the time.
>
> HTH -- Eliot Moss
>
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] SPEC2017 Calculating CPI

2023-04-12 Thread Farbin Fayza via gem5-users
Hi, I'm running SPEC2017 benchmark in full-system mode using
the configs/example/gem5_library/x86-spec-cpu2017-benchmarks.py config
file.

In the outputs m5/stats.txt, there's no system.cpu.cpi metric mentioned.
So, to calculate the CPI, I tried dividing
board.processor.switch0.core.numCycles
by
board.processor.switch0.core.exec_context.thread_0.numInsts. But it results
in a large number (~10) which I don't think is the correct way to calculate
CPI. Could anyone tell me what is the correct way to calculate the CPI
based on the stats.txt results?

Thanks,
Farbin.
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] Re: Setting the maxinsts after warm-up period for running SPEC2017 in full-system mode

2023-04-11 Thread Farbin Fayza via gem5-users
Thanks so much for the info everyone!
So, by warm-up period, I mean the time before the actual benchmark starts
running. So based on the board.pc.com_1.device file, at some point we get
logs like this:
Setting Up Run Directories
  Setting up 502.gcc_r test base mytest-m64 (1 copy):
run_base_test_mytest-m64.
Running Benchmarks
  Running 502.gcc_r test base mytest-m64 (1 copy) [2023-04-03 15:46:58]

Starting from this "Running benchmarks" part, I want to limit the
instruction count to N, let's say. Basically, I want N number of
instructions of a benchmark to be executed.

Based on Humza's suggestion, I think if I add the tick count line after
processor.switch(), it would count the instructions for loading the
binaries, getting started, and other kinds of stuff, right? Do you have any
estimations on the number of ticks to be set to account for those parts?

Or Bobby, is it possible to use schedule_max_insts to only count the
instructions when the spec application starts running?

Best,
Farbin.

On Mon, Apr 10, 2023 at 9:51 PM Bobby Bruce  wrote:

> I don’t know exactly how you are figuring out the warm-up period and how
> this all this is to fit together but the following may be of help:
>
> If you’re using the gem5 standard library the “simulator” module has a
> function called “schedule_max_insts”. It will exit the simulation loop when
> any thread in any core reaches the specified number of instructions.
>
> If you're not using the standard library you can set the BaseCPU’s
> “max_insts_any_thread” parameter prior to the system’s initialization
> specify when to exit the simulation, or, if after initialization, BaseCPU’s
> “scheduleInstStopAnyThread” function can be used.
>
> --
> Dr. Bobby R. Bruce
> Room 3050,
> Kemper Hall, UC Davis
> Davis,
> CA, 95616
>
> web: https://www.bobbybruce.net
>
> On Apr 10, 2023, at 1:47 PM, Humza Ikram via gem5-users <
> gem5-users@gem5.org> wrote:
>
> Hi,
>
> I do not know how to stop execution after a certain number of instructions
> but perhaps stopping execution after a certain number of *ticks* will
> suffice? If that works, you could try using the
> "m5.scheduleTickExitFromCurrent" function available in
> src>python>m5>simulate.py.  You could call this function before
> "processor.switch()".
>
> You might also have to  append something like "ExitEvent.SCHEDULED_TICK:
> handle_exit()" to "ExitEvent.EXIT: handle_exit()," in line ~300 of the same
> file.
>
> Hope I helped!
> Humza Ikram
> --
> *From:* Farbin Fayza via gem5-users 
> *Sent:* Tuesday, April 11, 2023 1:19 AM
> *To:* The gem5 Users mailing list 
> *Cc:* Farbin Fayza 
> *Subject:* [gem5-users] Setting the maxinsts after warm-up period for
> running SPEC2017 in full-system mode
>
> Hello,
> Could anyone tell me how to set the max number of instructions to run
> after the warm-up period? I'm not sure how to make the relevant change in
> the x86-spec-cpu2017-benchmarks.py file. Or, is it possible to do this with
> command-line arguments?
>
> Thanks,
> Farbin.
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
>
>
>
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] Setting the maxinsts after warm-up period for running SPEC2017 in full-system mode

2023-04-10 Thread Farbin Fayza via gem5-users
Hello,
Could anyone tell me how to set the max number of instructions to run after
the warm-up period? I'm not sure how to make the relevant change in
the x86-spec-cpu2017-benchmarks.py file. Or, is it possible to do this with
command-line arguments?

Thanks,
Farbin.
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] Re: SPEC2017 - Most of the metrics in m5.out/stats.txt are 0 or undefined

2023-04-07 Thread Farbin Fayza via gem5-users
Could you kindly tell me if there's any way to run the gem5 simulation
faster using multiple cores? Is it possible while we run SPEC?

Thanks,
Farbin.

On Fri, Apr 7, 2023 at 2:19 PM Farbin Fayza  wrote:

> Hi Humza and Ayaz,
> Thank you so much for your help. My simulations are still running. I can
> push the change when the simulations end. That way we can be confirmed that
> the change worked out.
>
> Thanks again,
> Farbin.
>
> On Fri, Apr 7, 2023 at 1:45 PM Ayaz Akram  wrote:
>
>> Hi,
>>
>> @Humza or @Farbin: Can you please push the spec-2017 change that worked
>> for you to the mainline gem5 as well?
>>
>> Thanks,
>> -Ayaz
>>
>> On Thu, Apr 6, 2023 at 9:03 PM Ayaz Akram  wrote:
>>
>>> Hi Farbin,
>>>
>>> However, now they're taking so much time to run. I'm trying to run
>>>> perlbench, gcc, bwaves, and mcf with the "test" size, and they're running
>>>> for more than 10 hours and still, none of them aren't finished. Is this
>>>> normal? Could you tell me how long they usually take?
>>>
>>>
>>> I would expect these benchmarks (with test input) to take days to
>>> simulate completely. The actual simulation time would depend on the CPU
>>> type you are simulating and the hardware platform where the simulations are
>>> run. I think for Timing/Minor CPU you can expect a simulation rate of
>>> 400K-500K (simulated) instructions per host second.
>>>
>>> -Ayaz
>>>
>>> On Thu, Apr 6, 2023 at 10:36 AM Farbin Fayza via gem5-users <
>>> gem5-users@gem5.org> wrote:
>>>
>>>> Hi Humza,
>>>> Thank you so much for your help. I added the processor.switch() command
>>>> as you said and now the simulations are running.
>>>>
>>>> However, now they're taking so much time to run. I'm trying to run
>>>> perlbench, gcc, bwaves, and mcf with the "test" size, and they're running
>>>> for more than 10 hours and still, none of them aren't finished. Is this
>>>> normal? Could you tell me how long they usually take?
>>>>
>>>> Also, is there any way to verify that they are indeed running
>>>> correctly? Because in the m5out folder, there are no logs or something that
>>>> I can verify.
>>>>
>>>> About the index error, yes, I had the same issue too. Unfortunately, we
>>>> only have spec2017 currently and we urgently need to get things running. I
>>>> believe the index issue doesn't cause any other problems or affect the
>>>> stats, am I correct?
>>>>
>>>> Thanks so much again!
>>>> Farbin.
>>>>
>>>>
>>>> On Wed, Apr 5, 2023 at 7:52 PM Humza Ikram via gem5-users <
>>>> gem5-users@gem5.org> wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> I believe the reason for this is that the
>>>>> "x86-spec-cpu2017-benchmarks.py" file does not have a "process.switch()"
>>>>> statement and, as such, the processor remains in "CPUTypes.KVM" mode.
>>>>>
>>>>> If there is no other error when your script finishes, you could try
>>>>> adding "processor.switch()" infront of line number 290 in this file and
>>>>> trying again (before "yield False").
>>>>>
>>>>> I encountered the same issue in the spec-2006 benchmarks.
>>>>>
>>>>> Another issue I encountered in the spec-2006 benchmarks was related to
>>>>> an error you *may* face at the end that relates to accessing an out
>>>>> of bounds index of a python list. (This is because "ExitEvent.WORKBEGIN"
>>>>> and "ExitEvent.WORKEND" may not be defined in the workload.)
>>>>>
>>>>> Both of these are fixed in the spec-2006 benchmarks file (link below)
>>>>> in the develop branch and you could try moving them over to the spec-2017
>>>>> benchmarks file.
>>>>>
>>>>> https://gem5.googlesource.com/public/gem5/+/refs/heads/develop/configs/example/gem5_library/x86-spec-cpu2006-benchmarks.py
>>>>>
>>>>> Thanks.
>>>>> Humza Ikram.
>>>>>
>>>>> --
>>>>> *From:* Farbin Fayza via gem5-users 
>>>>> *Sent:* Thursday, April 6, 2023 12:20 AM
>>>>> *To:* gem5-user

[gem5-users] Re: SPEC2017 - Most of the metrics in m5.out/stats.txt are 0 or undefined

2023-04-07 Thread Farbin Fayza via gem5-users
Hi Humza and Ayaz,
Thank you so much for your help. My simulations are still running. I can
push the change when the simulations end. That way we can be confirmed that
the change worked out.

Thanks again,
Farbin.

On Fri, Apr 7, 2023 at 1:45 PM Ayaz Akram  wrote:

> Hi,
>
> @Humza or @Farbin: Can you please push the spec-2017 change that worked
> for you to the mainline gem5 as well?
>
> Thanks,
> -Ayaz
>
> On Thu, Apr 6, 2023 at 9:03 PM Ayaz Akram  wrote:
>
>> Hi Farbin,
>>
>> However, now they're taking so much time to run. I'm trying to run
>>> perlbench, gcc, bwaves, and mcf with the "test" size, and they're running
>>> for more than 10 hours and still, none of them aren't finished. Is this
>>> normal? Could you tell me how long they usually take?
>>
>>
>> I would expect these benchmarks (with test input) to take days to
>> simulate completely. The actual simulation time would depend on the CPU
>> type you are simulating and the hardware platform where the simulations are
>> run. I think for Timing/Minor CPU you can expect a simulation rate of
>> 400K-500K (simulated) instructions per host second.
>>
>> -Ayaz
>>
>> On Thu, Apr 6, 2023 at 10:36 AM Farbin Fayza via gem5-users <
>> gem5-users@gem5.org> wrote:
>>
>>> Hi Humza,
>>> Thank you so much for your help. I added the processor.switch() command
>>> as you said and now the simulations are running.
>>>
>>> However, now they're taking so much time to run. I'm trying to run
>>> perlbench, gcc, bwaves, and mcf with the "test" size, and they're running
>>> for more than 10 hours and still, none of them aren't finished. Is this
>>> normal? Could you tell me how long they usually take?
>>>
>>> Also, is there any way to verify that they are indeed running correctly?
>>> Because in the m5out folder, there are no logs or something that I can
>>> verify.
>>>
>>> About the index error, yes, I had the same issue too. Unfortunately, we
>>> only have spec2017 currently and we urgently need to get things running. I
>>> believe the index issue doesn't cause any other problems or affect the
>>> stats, am I correct?
>>>
>>> Thanks so much again!
>>> Farbin.
>>>
>>>
>>> On Wed, Apr 5, 2023 at 7:52 PM Humza Ikram via gem5-users <
>>> gem5-users@gem5.org> wrote:
>>>
>>>> Hi,
>>>>
>>>> I believe the reason for this is that the
>>>> "x86-spec-cpu2017-benchmarks.py" file does not have a "process.switch()"
>>>> statement and, as such, the processor remains in "CPUTypes.KVM" mode.
>>>>
>>>> If there is no other error when your script finishes, you could try
>>>> adding "processor.switch()" infront of line number 290 in this file and
>>>> trying again (before "yield False").
>>>>
>>>> I encountered the same issue in the spec-2006 benchmarks.
>>>>
>>>> Another issue I encountered in the spec-2006 benchmarks was related to
>>>> an error you *may* face at the end that relates to accessing an out of
>>>> bounds index of a python list. (This is because "ExitEvent.WORKBEGIN" and
>>>> "ExitEvent.WORKEND" may not be defined in the workload.)
>>>>
>>>> Both of these are fixed in the spec-2006 benchmarks file (link below)
>>>> in the develop branch and you could try moving them over to the spec-2017
>>>> benchmarks file.
>>>>
>>>> https://gem5.googlesource.com/public/gem5/+/refs/heads/develop/configs/example/gem5_library/x86-spec-cpu2006-benchmarks.py
>>>>
>>>> Thanks.
>>>> Humza Ikram.
>>>>
>>>> --
>>>> *From:* Farbin Fayza via gem5-users 
>>>> *Sent:* Thursday, April 6, 2023 12:20 AM
>>>> *To:* gem5-users@gem5.org 
>>>> *Cc:* Farbin Fayza 
>>>> *Subject:* [gem5-users] SPEC2017 - Most of the metrics in
>>>> m5.out/stats.txt are 0 or undefined
>>>>
>>>> Hi,
>>>> I'm trying to run spec2017 benchmark in full system mode with gem5. I
>>>> followed this tutorial to build the disk image file for spec
>>>> https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/spec-2017/
>>>> .
>>>> The only difference with the tutorial is that I have spec version,
>

[gem5-users] Re: SPEC2017 - Most of the metrics in m5.out/stats.txt are 0 or undefined

2023-04-06 Thread Farbin Fayza via gem5-users
Hi Humza,
Thank you so much for your help. I added the processor.switch() command as
you said and now the simulations are running.

However, now they're taking so much time to run. I'm trying to run
perlbench, gcc, bwaves, and mcf with the "test" size, and they're running
for more than 10 hours and still, none of them aren't finished. Is this
normal? Could you tell me how long they usually take?

Also, is there any way to verify that they are indeed running correctly?
Because in the m5out folder, there are no logs or something that I can
verify.

About the index error, yes, I had the same issue too. Unfortunately, we
only have spec2017 currently and we urgently need to get things running. I
believe the index issue doesn't cause any other problems or affect the
stats, am I correct?

Thanks so much again!
Farbin.


On Wed, Apr 5, 2023 at 7:52 PM Humza Ikram via gem5-users <
gem5-users@gem5.org> wrote:

> Hi,
>
> I believe the reason for this is that the "x86-spec-cpu2017-benchmarks.py"
> file does not have a "process.switch()" statement and, as such, the
> processor remains in "CPUTypes.KVM" mode.
>
> If there is no other error when your script finishes, you could try adding
> "processor.switch()" infront of line number 290 in this file and trying
> again (before "yield False").
>
> I encountered the same issue in the spec-2006 benchmarks.
>
> Another issue I encountered in the spec-2006 benchmarks was related to an
> error you *may* face at the end that relates to accessing an out of
> bounds index of a python list. (This is because "ExitEvent.WORKBEGIN" and
> "ExitEvent.WORKEND" may not be defined in the workload.)
>
> Both of these are fixed in the spec-2006 benchmarks file (link below) in
> the develop branch and you could try moving them over to the spec-2017
> benchmarks file.
>
> https://gem5.googlesource.com/public/gem5/+/refs/heads/develop/configs/example/gem5_library/x86-spec-cpu2006-benchmarks.py
>
> Thanks.
> Humza Ikram.
>
> --
> *From:* Farbin Fayza via gem5-users 
> *Sent:* Thursday, April 6, 2023 12:20 AM
> *To:* gem5-users@gem5.org 
> *Cc:* Farbin Fayza 
> *Subject:* [gem5-users] SPEC2017 - Most of the metrics in
> m5.out/stats.txt are 0 or undefined
>
> Hi,
> I'm trying to run spec2017 benchmark in full system mode with gem5. I
> followed this tutorial to build the disk image file for spec
> https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/spec-2017/
> .
> The only difference with the tutorial is that I have spec version, 1.1.9
> and in the tutorial they use 1.1.0. So I just changed the version in
> their scripts.
> The build was successful although it had some errors for some peak
> benchmarks.
>
> When I'm trying to run gem5 with this command:
> build/X86/gem5.opt \
> configs/example/gem5_library/x86-spec-cpu2017-benchmarks.py \
> --image ../disk-image/spec-2017/spec-2017-image/spec-2017 \
> --partition 1 \
> --benchmark  \
> --size 
>
> The simulation is ending within minutes regardless of the workload size
> and all of the contents of the stat file (m5out/stats.txt) after hostOprate
> are 0 or undefined.
> Could anyone help with this issue?
>
> ___
> gem5-users mailing list -- gem5-users@gem5.org
> To unsubscribe send an email to gem5-users-le...@gem5.org
>
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org


[gem5-users] SPEC2017 - Most of the metrics in m5.out/stats.txt are 0 or undefined

2023-04-05 Thread Farbin Fayza via gem5-users
Hi,
I'm trying to run spec2017 benchmark in full system mode with gem5. I
followed this tutorial to build the disk image file for spec
https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/spec-2017/
.
The only difference with the tutorial is that I have spec version, 1.1.9
and in the tutorial they use 1.1.0. So I just changed the version in
their scripts.
The build was successful although it had some errors for some peak
benchmarks.

When I'm trying to run gem5 with this command:
build/X86/gem5.opt \
configs/example/gem5_library/x86-spec-cpu2017-benchmarks.py \
--image ../disk-image/spec-2017/spec-2017-image/spec-2017 \
--partition 1 \
--benchmark  \
--size 

The simulation is ending within minutes regardless of the workload size and
all of the contents of the stat file (m5out/stats.txt) after hostOprate are
0 or undefined.
Could anyone help with this issue?
___
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org