[gem5-users] Difference between configs/ruby scripts vs. learning_gem5/part3 config scripts
Hi, Can anyone please tell me the difference between config scripts for coherence protocols present in configs/ruby vs. those that are used by simple_ruby.py? For example, ruby_caches_MI_example.py can be used by simple_ruby.py to simulate a simple MI protocol. However, configs/ruby/MI_example.py is also present (which I don't know how to use). As far as I can see, they are quite different in terms of class hierarchy (for eg. one sets up a MyCacheSystem whereas the other defines two functions define_options and create_system). Also, in one L1Cache inherits from RubyCache whereas the other inherits from L1Cache_Controller. Any clarification would be appreciated. My main goal is to use and understand how the ruby testing framework scripts work with different coherence protocols (ruby_random_test, ruby_test, ruby_direct_test). Any help would be appreciated! Thanks and Regards, Gautam Pathak ___ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org
[gem5-users] Re: _pid 100 is already used: Error gem5 - running benchmark
Hi Syam, In a much older version of gem5, maybe. It's been at least 2+ years since we required the PID to be specified in SE mode. Cheers, Jason On Mon, Jun 27, 2022 at 5:37 AM Syam Sankar wrote: > Dear Dr. Jason > > Thank you for your kind reply. > I think this worked fine with the older version of gem5, right? > > Regards > Syam > > On Fri, 24 Jun 2022, 12:43 am Jason Lowe-Power, > wrote: > >> Hi Syam, >> >> The error is that in *SE mode* you have to manually specify the PID for >> each process when you are creating the processes in Python. However, I >> think you're going to run into many problems trying to simulate such a >> large system/workload in SE mode. For instance, I seriously doubt 3GB is >> enough RAM for 64 copies of namd. >> >> We are working towards deprecating se/fs.py because they do not support >> the flexibility required for different kinds of simulations. I would >> suggest looking into extending the standard library with a new board to >> model your system. Right now, we don't have any prebuilt boards at this >> scale, but adding one is relatively straightforward. You can find >> documentation on the standard library on the website, in our recent ISCA >> tutorial (see our youtube channel), and we'll have more in a couple of >> weeks. >> >> Cheers, >> Jason >> >> On Thu, Jun 23, 2022 at 9:01 AM Syam Sankar >> wrote: >> >>> Hi all >>> >>> >>> I downloaded a new version of gem5 repo*(gem5 version 22.0.0.1)* >>> I could build it with the following command: >>> >>> *python3 `which scons` build/X86/gem5.fast RUBY=true >>> PROTOCOL=MESI_Two_Level -j 8* >>> >>> I was trying to execute a *CPU2017 Benchmark* program on an 8X8 Core >>> system with the command as follows: >>> >>> >>> build/X86/gem5.fast configs/example/se.py --num-cpus=64 --num-dirs=64 >>> --sys-clock=2GHz --topology=Mesh_XY --mesh-rows=8 --ruby --num-l2caches=64 >>> --network=garnet --caches --mem-type=DDR3_1600_8x8 --mem-size=3GB >>> --routing-algorithm=1 -F 1000 -W 1000 -I 5000 >>> --bench=namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd >>> >>> >>> But, the execution is ended with an error: >>> >>> >>> *build/X86/sim/process.cc:141: fatal: fatal condition !ret_pair.second >>> occurred: _pid 100 is already used* >>> >>> ... >>> .. >>> .. >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >>> Mbytes) does not match the address range assigned (64 Mbytes) >>> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192
[gem5-users] Re: _pid 100 is already used: Error gem5 - running benchmark
Dear Dr. Jason Thank you for your kind reply. I think this worked fine with the older version of gem5, right? Regards Syam On Fri, 24 Jun 2022, 12:43 am Jason Lowe-Power, wrote: > Hi Syam, > > The error is that in *SE mode* you have to manually specify the PID for > each process when you are creating the processes in Python. However, I > think you're going to run into many problems trying to simulate such a > large system/workload in SE mode. For instance, I seriously doubt 3GB is > enough RAM for 64 copies of namd. > > We are working towards deprecating se/fs.py because they do not support > the flexibility required for different kinds of simulations. I would > suggest looking into extending the standard library with a new board to > model your system. Right now, we don't have any prebuilt boards at this > scale, but adding one is relatively straightforward. You can find > documentation on the standard library on the website, in our recent ISCA > tutorial (see our youtube channel), and we'll have more in a couple of > weeks. > > Cheers, > Jason > > On Thu, Jun 23, 2022 at 9:01 AM Syam Sankar > wrote: > >> Hi all >> >> >> I downloaded a new version of gem5 repo*(gem5 version 22.0.0.1)* >> I could build it with the following command: >> >> *python3 `which scons` build/X86/gem5.fast RUBY=true >> PROTOCOL=MESI_Two_Level -j 8* >> >> I was trying to execute a *CPU2017 Benchmark* program on an 8X8 Core >> system with the command as follows: >> >> >> build/X86/gem5.fast configs/example/se.py --num-cpus=64 --num-dirs=64 >> --sys-clock=2GHz --topology=Mesh_XY --mesh-rows=8 --ruby --num-l2caches=64 >> --network=garnet --caches --mem-type=DDR3_1600_8x8 --mem-size=3GB >> --routing-algorithm=1 -F 1000 -W 1000 -I 5000 >> --bench=namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd-namd >> >> >> But, the execution is ended with an error: >> >> >> *build/X86/sim/process.cc:141: fatal: fatal condition !ret_pair.second >> occurred: _pid 100 is already used* >> >> ... >> .. >> .. >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the address range assigned (64 Mbytes) >> build/X86/mem/dram_interface.cc:690: warn: DRAM device capacity (8192 >> Mbytes) does not match the