Hi Hansika,
Hope you are doing well. So, I did all the steps as you suggested and it
worked fine. I've 2 doubts:
1) While running the simulation, I get many warnings. The warnings are
below point 2 of this mail. Can you please kindly check whether these can
be ignored or not.

2) When I set number of CPUs to 16, it gives me 'Assertion Error <Empty
Message>' in simulation.py at 106. But works well if number of CPUs are 2,4
or 8. Any idea, what might be the issue?

Warnings:

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvn-x86: MSR (6x40000101)
unsupported by gems. Skipping.

src/arch/x86/kvn/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40600102)
unsupported by gems. Skipping.

src/arch/x86/kvn/x86_cpu.cc:1562: warn: kvn-x86: MSR (0x40000103)
unsupported by gem5. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000104)
unsupported by gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000185)
unsupported by gens. Skipping.

src/arch/x86/kvn/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000003)
unsupported by gen5. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000002)
unsupported by gens. Skipping.

src/arch/x86/kvn/x86_cpu.cc:1562: warn: kvm-x86: MSR (@x48000018)
unsupported by gens. Skipping.

src/arch/x86/kvn/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000080)
unsupported by gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x400000b0)
unsupported by gems. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvn-x86: MSR (0x40000073)
unsupported by gems. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000106)
unsupported by gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000107)
unsupported by gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x40000108)
unsupported by gems. Skipping.

src/arch/x86/kvn/x86_cpu.cc:1562: warn: kvn-x86: MSR (0x400000ff)
unsupported by gem5. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x400000f1)
unsupported by gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x400000f2)
unsupported by gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x400000f3)
unsupported by gems. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x400000f4)
unsupported by gems. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvn-x86: MSR (0x400000f5)
unsupported by gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvn-x86: MSR (0x4b564d82)
unsupported by gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4b564d03)
unsupported by gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4b564d04)
unsupported by gems. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x46564d06)
unsupported by gens, Skipping.

src/arch/x86/kvn/x86_cpu.cc:1562: warn: kvm-x86: MSR (8x4b564d07)
unsupported by gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x3b) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (8x6e8) unsupported by
gems. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x10a) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x345) unsupported by
gen5. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x1a8) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4de) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvn-x86: MSR (0x9e) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x34) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0xce) unsupported by
gens. Skipping.

src/arch/x86/kvn/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x140) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x1fc) unsupported by
gens. Skipping.

src/arch/x86/kvn/x86_cpu.cc:1562: warn: kvm-x86: MSR (ex8b) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x480) unsupported by
gen5. Skipping.

src/arch/x86/kvn/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x48d) unsupported by
gems. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvn-x86: MSR (0x48e) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x48f) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvn-x86: MSR (0x498) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x485) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86 cpu.cc:1562: warn: kvn-x86: MSR (0x486) unsupported by
gem5. Skipping.

src/arch/x86/kvm/x86 cpu.cc:1562: warn: kvm-x86: MSR (0x488) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (8x48a) unsupported by
gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x48b) unsupported by
gems. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvn-x86: MSR (0x48c) unsupported by
gen5. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvn-x86: MSR (0x491) unsupported by
gems. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0xc0010015)
unsupported by gems. Skipping.

src/arch/x86/kvm/x86_cpu.cc:1562: warn: kvm-x86: MSR (0x4b564d05)
unsupported by gens. Skipping.

src/arch/x86/kvm/x86_cpu.cc:528: warn: cs linit (0xffffffff) and g (0)
combination is illegal.

src/arch/x86/kvm/x86_cpu.cc:528: warn: cs limit (0xffffffff) and (0)
conbination is illegal.

src/dev/x86/18042.cc:290: warn: Write to unknown 18842 (keyboard
controller) connand port.

Exiting@tick 20902279169000 because n5 exit instruction encountered

src/cpu/kvm/base.cc:570: hack: Pretending totalops is equivalent to
totalInsts()

Thanks again for your help.

Thanks and regards,
Advani

On Thu, Aug 10, 2023, 13:57 Advani Chacha <advanicha...@gmail.com> wrote:

> Thanks Hansika, for the detailed explanation. I'll try this now and let
> you know how it goes.
>
> Thanks & Regards,
> Advani
>
> On Thu, Aug 10, 2023, 10:49 Hansika Weerasena via gem5-users <
> gem5-users@gem5.org> wrote:
>
>> Hi Advani,
>>
>>
>>
>> I needed to run the parsec with garnet in Full System mode while ago.
>> Since new gem5 standard library (
>> https://www.gem5.org/documentation/gem5-stdlib/overview) does not
>> support garnet at the moment, I had to go with fs.py (which is deprecated
>> in current version of gem5). Here are the steps you need to take to run
>> parsec in FS mode with garnet interconnection.
>>
>>
>>
>>    1. Create disk image with parsec benchmarks or use one from gem5
>>    resources (https://resources.gem5.org/).
>>    2. Download a compatible raw linux kernel from gem5 resources.
>>    3. If you need to fasten up the FS mode simulation you need to bootup
>>    linux with KVMCPU to fast-forward your simulation and then switch to
>>    detailed CPU model when gem5 specific annotation for start of Region of
>>    Interest (*m5_roi_begin()*) is found,
>>       - Your host machine should support KVM virtualization for this and
>>       you need to setup KVM. For KVM setup you can use this tutorial  (
>>       https://www.gem5.org/documentation/general_docs/using_kvm/) or any
>>       other independent tutorial for KVM setup.
>>       - Example run with KVM and parsec using gem5 standard library can
>>       be found here (
>>       
>> https://github.com/hansikaweerasena/gem5-n/blob/kvm-fs/configs/example/gem5_library/x86-parsec-benchmarks.py),
>>       but this cannot be used with garnet without extending gem5 standard 
>> library
>>       to support garnet.
>>    4. Create run script for readfile_contents to run parsec benchmark
>>    after linux bootup.
>>    5. Run fs.py with the configuration you need.
>>
>>
>>
>> I was able to do these steps and run parsec benchmark with garnet in full
>> system mode upto 64 cores. Following are the links and scripts I used, you
>> may need to change them according to your requirement.
>>
>>
>>
>>    1. I used the prebuilt X86 parsec disk image from gem5 resources :
>>    https://resources.gem5.org/resources/x86-parsec?version=1.0.0
>>    2. For linux kernel I used vmlinux-4.4.186
>>    3. Example modification I done to support the KVM switch on ROI start
>>    can be found here (
>>    
>> https://github.com/hansikaweerasena/gem5-n/blob/kvm-fs/configs/common/Simulation.py).
>>    You can use as it is or modify as you need.
>>    4. Example rcs script can be found here :
>>    https://github.com/hansikaweerasena/gem5-n/blob/kvm-fs/scripts/parsec.rcS
>>    5. Finally, this is an example command to run parsec on FS mode with
>>    garnet.
>>
>>
>>
>> *./build/X86/gem5.opt configs/example/fs.py --disk-image=dist/parsec.img
>> --kernel=dist/vmlinux-4.4.186 --num-cpus=4 --num-dirs=4
>> --cpu-type=X86KvmCPU --cpu-clock=2GHz --caches --l1d_size=16kB
>> --l1i_size=16kB --l2cache --num-l2cache=4 --mem-type=SimpleMemory
>> --mem-size=3GB --ruby --network=garnet --topology=Mesh_XY --mesh-rows=2
>> --script=scripts/parsec.rcS*
>>
>>
>>
>> I think this may help you to proceed, feel free to ask any questions if
>> you’re not clear of the steps.
>>
>>
>>
>> Regards,
>>
>> Hansika Weerasena
>>
>> Research Assistant,
>>
>> University of Florida
>>
>>
>>
>>
>>
>> *From: *Advani Chacha via gem5-users <gem5-users@gem5.org>
>> *Date: *Wednesday, August 9, 2023 at 3:44 PM
>> *To: *gem5-users@gem5.org <gem5-users@gem5.org>
>> *Cc: *Advani Chacha <advanicha...@gmail.com>
>> *Subject: *[gem5-users] Running garnet on gem5.
>>
>> *[External Email]*
>>
>> Hi everyone,
>>
>> I'm trying to use 'garnet' network in gem5 and use Parsec as the
>> benchmarking tool. I've build the gem5 for X86 and also done all the steps
>> for parsec-benchmark as mentioned in the tutorial at
>> https://gem5.org/documentation/gem5art/tutorials/parsec-tutorial
>>
>> I want to do a full-system simulation. The issue is that, now I don't
>> know how to proceed further.
>>
>>
>>
>> I tried to search on google, but either the tutorials are for the garnet
>> version 2.0 or they are for synthetic traffic. Some of the sites are not
>> live, so when using the wayback version I'm not able to download the files
>> that they've suggested as part of the tutorial.
>>
>>
>>
>> Any help would be appreciated.
>>
>>
>>
>> Regards,
>>
>> Advani
>>
>>
>> _______________________________________________
>> 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

Reply via email to