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