Hi Ayaz,

I’m not clear about how the


configs/example/x86-npb-performance.py

works

since the python is trying to get the package or module

gem5

and it is NOT “import” ed into the python.

See my cmd-line and error below:

./build/X86/gem5.opt configs/example/x86-npb-benchmarks.py 
--disk-image=../disk-image/npb/npb-image/npb --kernel=../linux-stable/vmlinux 
|& tee x86_npb_benchmarks.log
gem5 Simulator System.  http://gem5.org
gem5 is copyrighted software; use the --copyright option for details.

gem5 version 21.1.0.2
gem5 compiled Feb 18 2022 18:42:01
gem5 started Feb 22 2022 09:06:22
gem5 executing on sundial.chronostech.com, pid 38198
command line: ./build/X86/gem5.opt configs/example/x86-npb-benchmarks.py 
--disk-image=../disk-image/npb/npb-image/npb --kernel=../linux-stable/vmlinux

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "build/X86/python/m5/main.py", line 455, in main
    exec(filecode, scope)
  File "configs/example/x86-npb-benchmarks.py", line 47, in <module>
    from gem5.utils.requires import requires
ModuleNotFoundError: No module named 'gem5'


Is there some PYTHONPAH setting or I’m missing a “gem5” package separate from 
the gem5.opt build install that needs to be done ?

Thanks,

David


From: Ayaz Akram <yazak...@ucdavis.edu>
Sent: Friday, February 18, 2022 12:49 PM
To: gem5 users mailing list <gem5-users@gem5.org>
Cc: Bobby Bruce <bbr...@ucdavis.edu>; David Fong <da...@chronostech.com>
Subject: Re: [gem5-users] Re: Not able to access webpage to run_npb.py

Hi David,

Please find my response to your questions below:



  1.  It seems like I don’t need to do the “Setting up the environment” since I 
don’t plan to create or modify npb-tests.
I thought the npb tests are already on the disk image from “Creating a disk 
image” section.
Please confirm.
If the npb-tests are necessary please explain “your-remote-add”.  Is this on my 
host machine and needs to be accessible as a webpage on my local hard disk?
git remote add origin 
https://your-remote-add/npb-tests.git<https://urldefense.proofpoint.com/v2/url?u=https-3A__your-2Dremote-2Dadd_npb-2Dtests.git&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=-F4E-Z-aALmxVxUj0Zrc9BVrRSY0sLQaVIPmpHOm8YA&s=v8VgZOZGh_lDrnpTTyQygy08tj2FMTuuBuMrngG5jZQ&e=>

The tutorial you have referenced provides instructions to run NPB with gem5art. 
Since, gem5art tries to create a reproducible test environment where every 
change can be tracked (more details on gem5art can be found here: 
https://arch.cs.ucdavis.edu/simulation/2021/03/28/gem5art.html<https://urldefense.proofpoint.com/v2/url?u=https-3A__arch.cs.ucdavis.edu_simulation_2021_03_28_gem5art.html&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=-F4E-Z-aALmxVxUj0Zrc9BVrRSY0sLQaVIPmpHOm8YA&s=KVjaOPD1NGEPDzCTUMJ5F_r4WRdaP6s5H7jTrB0HpBQ&e=>),
 "Setting up the environment" section of the tutorial provides the instructions 
to set up the base environment. Basically, we create  a github repo to treat it 
as the primary directory from where all the tests would be run. gem5art uses 
the metadata of this github repo to track any changes to it. The 
"your-remote-add" is meant to be a user-defined remote where they might keep 
this github repo.




  1.  To run one test I just use at gem5 directory
`./build/X86/gem5.opt configs/example/gem5_library/x86-npb-benchmarks.py 
--benchmark ep --size A`


  1.  To run a suite of NPB benchmark tests I can create the launch_npb_tests.py
This file seems to rebuild everything from scratch and run a regression
As a first order I prefer to not get so sophisticated until I get a few simple 
tests to run.

Could I run in sequential order something like below
`./build/X86/gem5.opt configs/example/gem5_library/x86-npb-benchmarks.py 
--benchmark ep --size A`
`./build/X86/gem5.opt configs/example/gem5_library/x86-npb-benchmarks.py 
--benchmark bt --size A`
`./build/X86/gem5.opt configs/example/gem5_library/x86-npb-benchmarks.py 
--benchmark cg --size A`
`./build/X86/gem5.opt configs/example/gem5_library/x86-npb-benchmarks.py 
--benchmark ft --size A`

You should be able to run the single tests using the above commands.  
`launch_npb_tests.py` runs a suite of tests using gem5art, by 
registering/documenting different artifacts that will be used to run this suite 
of tests.


  1.  Extract NPB performance data
I’m not familiar with celery and but familiar with python.
Do I need to install celery on host system ?
Which directory and how to extract the NPB run data which is on the virtual 
machine over to the host machine ?
What kind of statistics are output : runtime of test , latencies of certain 
paths ?

You do not need celery to run your jobs with gem5art. Please look at the 
reference to 'python multiprocessing library' on this page: 
https://www.gem5.org/documentation/gem5art/main/faq<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.gem5.org_documentation_gem5art_main_faq&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=-F4E-Z-aALmxVxUj0Zrc9BVrRSY0sLQaVIPmpHOm8YA&s=A6478iaA1_FaM-3TZWOsqgqAAiFzyOeZQGb5m34N9FM&e=>.
The results of your tests will be stored both on your file system, and the 
gem5art database. The result files include normal gem5 results files like 
stats.txt (which has the performance statistics about your simulation run) and 
some other gem5art related files like info.json (which will contain some high 
level information about your gem5 run).

Hope this helps!
Thanks,
-Ayaz


On Fri, Feb 18, 2022 at 11:40 AM David Fong via gem5-users 
<gem5-users@gem5.org<mailto:gem5-users@gem5.org>> wrote:
Hi Bobby,

Thanks for your recommendations.

We will stick to X86 to test the flow for NPB tests and adjust to ARM when 
needed.

But I have a few questions about the flow.

From just a user perspective and NOT a developer and following this webpage 
instructions:

https://www.gem5.org/documentation/gem5art/tutorials/npb-tutorial<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.gem5.org_documentation_gem5art_tutorials_npb-2Dtutorial&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=-F4E-Z-aALmxVxUj0Zrc9BVrRSY0sLQaVIPmpHOm8YA&s=XI-Og9IRR25doa1_vA_mvc19MYljw09oA7TrDy-6cic&e=>


  1.  It seems like I don’t need to do the “Setting up the environment” since I 
don’t plan to create or modify npb-tests.

I thought the npb tests are already on the disk image from “Creating a disk 
image” section.

Please confirm.

If the npb-tests are necessary please explain “your-remote-add”.  Is this on my 
host machine and needs to be accessible as a webpage on my local hard disk?

git remote add origin 
https://your-remote-add/npb-tests.git<https://urldefense.proofpoint.com/v2/url?u=https-3A__your-2Dremote-2Dadd_npb-2Dtests.git&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=-F4E-Z-aALmxVxUj0Zrc9BVrRSY0sLQaVIPmpHOm8YA&s=v8VgZOZGh_lDrnpTTyQygy08tj2FMTuuBuMrngG5jZQ&e=>



  1.  To run one test I just use at gem5 directory

`./build/X86/gem5.opt configs/example/gem5_library/x86-npb-benchmarks.py 
--benchmark ep --size A`


  1.  To run a suite of NPB benchmark tests I can create the launch_npb_tests.py

This file seems to rebuild everything from scratch and run a regression

As a first order I prefer to not get so sophisticated until I get a few simple 
tests to run.



Could I run in sequential order something like below

`./build/X86/gem5.opt configs/example/gem5_library/x86-npb-benchmarks.py 
--benchmark ep --size A`

`./build/X86/gem5.opt configs/example/gem5_library/x86-npb-benchmarks.py 
--benchmark bt --size A`

`./build/X86/gem5.opt configs/example/gem5_library/x86-npb-benchmarks.py 
--benchmark cg --size A`

`./build/X86/gem5.opt configs/example/gem5_library/x86-npb-benchmarks.py 
--benchmark ft --size A`


  1.  Extract NPB performance data

I’m not familiar with celery and but familiar with python.

Do I need to install celery on host system ?

Which directory and how to extract the NPB run data which is on the virtual 
machine over to the host machine ?

What kind of statistics are output : runtime of test , latencies of certain 
paths ?

Thanks,

David




From: Bobby Bruce <bbr...@ucdavis.edu<mailto:bbr...@ucdavis.edu>>
Sent: Thursday, February 17, 2022 12:11 PM
To: David Fong <da...@chronostech.com<mailto:da...@chronostech.com>>
Cc: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>>
Subject: Re: [gem5-users] Re: Not able to access webpage to run_npb.py

gem5-X is a fork of gem5, which as far as I can tell, diverged from gem5 in the 
middle of 2018. gem5art was built on a version of gem5 in 2020-2021. While I 
can't say anything for certain, I wouldn't be surprised if you run into some 
difficulties getting this all to work perfectly.

Are you going to use ARM? We do provide NPB images, and linux kernels, but they 
work with X86. If you're set on using ARM you'll need to make your own. 
Instructions on building kernel for gem5 can be found here: 
https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/linux-kernel/<https://urldefense.proofpoint.com/v2/url?u=https-3A__gem5.googlesource.com_public_gem5-2Dresources_-2B_refs_heads_stable_src_linux-2Dkernel_&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=4io_xViB2fRjXPrYZBmeetGZsI5IqD4Aq_nVt8zMABA&s=BmadL2P06_Iw_mLWfCrwa7hmk8z4-RRTD8e1dgzLTqQ&e=>,
 and info on creating a disk image containing NPB can be found here: 
https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/npb/<https://urldefense.proofpoint.com/v2/url?u=https-3A__gem5.googlesource.com_public_gem5-2Dresources_-2B_refs_heads_stable_src_npb_&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=4io_xViB2fRjXPrYZBmeetGZsI5IqD4Aq_nVt8zMABA&s=yVlWNLG-5-vk2dxXGoXP3q2QL16v1zOASo-I1chpndI&e=>.
 Please be careful with these as they are written assuming compilation to X86. 
While I'm sure you can create an ARM Linux kernel fairly easily, I'm not sure 
about NPB. I've simply never tried this.

If X86 is an option, we provide a disk image and kernel:

http://dist.gem5.org/dist/v21-2/kernels/x86/static/vmlinux-5.4.49<https://urldefense.proofpoint.com/v2/url?u=http-3A__dist.gem5.org_dist_v21-2D2_kernels_x86_static_vmlinux-2D5.4.49&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=4io_xViB2fRjXPrYZBmeetGZsI5IqD4Aq_nVt8zMABA&s=hU_V0lbovOD8_TpfRSF_rFEk_FKNrlRtI3TqfUPExHI&e=>
http://dist.gem5.org/dist/v21-2/images/x86/ubuntu-18-04/npb.img.gz<https://urldefense.proofpoint.com/v2/url?u=http-3A__dist.gem5.org_dist_v21-2D2_images_x86_ubuntu-2D18-2D04_npb.img.gz&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=4io_xViB2fRjXPrYZBmeetGZsI5IqD4Aq_nVt8zMABA&s=wSX3jnoWqQ_ZdGyCQi9bU1kDHZckRSNQeTgeb23lMT8&e=>
 [Note: GZIPPED]

If you're looking for configuration files that (should) work with NPB, checkout 
gem5-resources at v21.1.0.2 : `git clone -b v21.1.0.2 
https://gem5.googlesource.com/public/gem5-resources`<https://urldefense.proofpoint.com/v2/url?u=https-3A__gem5.googlesource.com_public_gem5-2Dresources-2560&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=4io_xViB2fRjXPrYZBmeetGZsI5IqD4Aq_nVt8zMABA&s=fSLta2q59ciWgJVuX5G8Qw_e0q6y8U_ezhIuph8IRY8&e=>
 and look at the configs provided under `src/npb`. That will definitely give 
you something to start with.

--
Dr. Bobby R. Bruce
Room 3050,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: 
https://www.bobbybruce.net<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.bobbybruce.net&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=4io_xViB2fRjXPrYZBmeetGZsI5IqD4Aq_nVt8zMABA&s=1d9i6quzd9ZcvGg1XJgLYTZye85bicMaY5aihOey9xs&e=>


On Thu, Feb 17, 2022 at 11:45 AM David Fong 
<da...@chronostech.com<mailto:da...@chronostech.com>> wrote:
Hi Bobby,

I’m trying to modify my gem5-X setup to add the NPB performance tests.

My gem5-X setup doesn’t have a configs/example/gem5_library.

I believe the github repo for the  gem5-X build didn’t add the gem5_library 
directory and files.

I could use the gem5 setup from the NPB but then I’ll not be able to do 
architectural exploration with gem5-X.
I would prefer to stick to gem5-X and add on the NPR tests.

This is our cmd-line to build the gem5-X
`./build/ARM/gem5.fast --remote-gdb-port=0 -d log_dir configs/example/fs.py 
--cpu-clock=1GHz --kernel=vmlinux --machine-type=VExpress_GEM5_V1 
--dtb-file=/home/dfong/work/ext_ips/gem5-X/system/arm/dt/armv8_gem5_v1_1cpu.dtb 
-n 1 --disk-image=gem5_ubuntu16.img --caches --l2cache --l1i_size=32kB 
--l1d_size=32kB --l2_size=1MB --l2_assoc=2 --mem-type=DDR4_2400_4x16 
--mem-ranks=4 --mem-size=4GB --sys-clock=1600MHz`

What do you recommend I should do ?

Thanks,

David


From: Bobby Bruce via gem5-users 
<gem5-users@gem5.org<mailto:gem5-users@gem5.org>>
Sent: Thursday, February 17, 2022 11:16 AM
To: gem5 users mailing list <gem5-users@gem5.org<mailto:gem5-users@gem5.org>>
Cc: Bobby Bruce <bbr...@ucdavis.edu<mailto:bbr...@ucdavis.edu>>
Subject: [gem5-users] Re: Not able to access webpage to run_npb.py

Hey David,

Sorry about the trouble you're running into. It seems the gem5art tutorial on 
the website has become a bit outdated. We've updated gem5-resources in the last 
release and clearly this has broken some links. I'll make sure updating this is 
prioritized.

I have two ways you can run NPB. The first is quite simple and is basically 
what Jason said, there's a script in 
`configs/example/gem5_library/x86-npb-benchmarks.py` which you can execute with 
gem5 and run NPB. This should work: `./build/X86/gem5.opt 
configs/example/gem5_library/x86-npb-benchmarks.py --benchmark ep --size A` 
(warning, this script assumes you're running gem5 on an X86 host with KVM). 
This approach is using our gem5 stdlib, a tutorial to which can be found here: 
https://www.gem5.org/documentation/gem5-stdlib/overview<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.gem5.org_documentation_gem5-2Dstdlib_overview&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=eSlpqdCMZ0MQaU6uWmL6HLshxvwDW_rT1yOkyrY4pJM&s=XrODO-sPqMN8yjZ4qLcyRP0EbgeB1S1OBBi8JNt8kZc&e=>

The second way is to checkout the gem5-resources repo to the state it was at 
the last release. The tag you want is v21.1.0.2, 
https://gem5.googlesource.com/public/gem5-resources/+/refs/tags/v21.1.0.2/<https://urldefense.proofpoint.com/v2/url?u=https-3A__gem5.googlesource.com_public_gem5-2Dresources_-2B_refs_tags_v21.1.0.2_&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=eSlpqdCMZ0MQaU6uWmL6HLshxvwDW_rT1yOkyrY4pJM&s=f9_9A5mxEZUWXFac_JuBcUfXrqeK_ftZV6TlL4NPvF8&e=>.
 This should contain the configs (If you do this, i think it'd be best to 
checkout the gem5 repo to an earlier release as well).

Kind regards,
Bobby
--
Dr. Bobby R. Bruce
Room 3050,
Kemper Hall, UC Davis
Davis,
CA, 95616

web: 
https://www.bobbybruce.net<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.bobbybruce.net&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=eSlpqdCMZ0MQaU6uWmL6HLshxvwDW_rT1yOkyrY4pJM&s=6mPnQPGS3as3czVrVGttKGiUN5cpEbfDNx7kDkWIoWI&e=>


On Thu, Feb 17, 2022 at 10:43 AM David Fong via gem5-users 
<gem5-users@gem5.org<mailto:gem5-users@gem5.org>> wrote:
Hi,

I’m going through the steps to create the npb environment.

https://www.gem5.org/documentation/gem5art/tutorials/npb-tutorial<https://urldefense.proofpoint.com/v2/url?u=https-3A__www.gem5.org_documentation_gem5art_tutorials_npb-2Dtutorial&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=eSlpqdCMZ0MQaU6uWmL6HLshxvwDW_rT1yOkyrY4pJM&s=wBduQ-K05P_tCniUVKBmzIzNp4j3Hpwynn2wjnRp7xE&e=>

gem5 run scripts

Next, we need to add gem5 run scripts. We will do that in a folder named 
configs-npb-tests. Get the run script named run_npb.py from 
here<https://urldefense.proofpoint.com/v2/url?u=https-3A__gem5.googlesource.com_public_gem5-2Dresources_-2B_refs_heads_stable_src_npb_configs_run-5Fnpb.py&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=eSlpqdCMZ0MQaU6uWmL6HLshxvwDW_rT1yOkyrY4pJM&s=vJJp0EIxGV06oBXrj5xw3tI7jRCp2xMwdKa-BftoLxo&e=>,
 and other system configuration files from 
[here]((https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/npb/configs/system/<https://urldefense.proofpoint.com/v2/url?u=https-3A__gem5.googlesource.com_public_gem5-2Dresources_-2B_refs_heads_stable_src_npb_configs_system_&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=eSlpqdCMZ0MQaU6uWmL6HLshxvwDW_rT1yOkyrY4pJM&s=3qnqMtyxD6l8Ss-wHXNq5ABLdI64EkosT3mrydeJsQk&e=>).


I’m not able to access the link to “run_npb.py”.

https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/npb/configs/run_npb.py<https://urldefense.proofpoint.com/v2/url?u=https-3A__gem5.googlesource.com_public_gem5-2Dresources_-2B_refs_heads_stable_src_npb_configs_run-5Fnpb.py&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=OkH-8nM02VdNPRt_miVO36vI9580zW1SgNQ4MzWRfqc&m=eSlpqdCMZ0MQaU6uWmL6HLshxvwDW_rT1yOkyrY4pJM&s=vJJp0EIxGV06oBXrj5xw3tI7jRCp2xMwdKa-BftoLxo&e=>

I get this error

[cid:image001.png@01D82721.C487D570]

Does anyone else have this problem and how to workaround ?
Is there another location to download the “run_npb.py” ?

Thanks,

David

_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org>
To unsubscribe send an email to 
gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org>
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org<mailto:gem5-users@gem5.org>
To unsubscribe send an email to 
gem5-users-le...@gem5.org<mailto:gem5-users-le...@gem5.org>
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
_______________________________________________
gem5-users mailing list -- gem5-users@gem5.org
To unsubscribe send an email to gem5-users-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to