[gem5-users] How to use the argument warmup-insts?
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
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
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
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
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
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
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
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
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
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
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
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
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