Hi Tushar, Thanks for looking into the code, I tried running the Network_test protocol and got this error:
Global frequency set at 1000000000 ticks per second info: Entering event queue @ 0. Starting simulation... gem5.debug: build/ALPHA_SE_Network_test/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.cc:78: virtual void InputUnit_d::wakeup(): Assertion `m_vcs[vc]->get_state() == IDLE_' failed. Program aborted at cycle 30 Aborted I used this command to run the test- ./build/ALPHA_SE_Network_test/gem5.debug configs/example/ruby_network_test.py --num-cpus=16 --num-dirs=16 --topology=Mesh --mesh-rows=4 --sim-cycles=1000 --injectionrate=0.01 --synthetic=0 --fixed-pkts --maxpackets=1000 --garnet-network=fixed On a side note, I also wanted to ask you if Ruby_random_test and Ruby_mem_test do inject any memory flits in the network. Because, I tried to dynamic cast the msgptr of these flits to MemoryMessage msgptr so that I can extract the information about its memory address and type, but it fails. Do you see any reason why it could be failing? I want to deal with both network packets and off-chip memory packets in the network. Can you please guide me which test will be appropriate for the same? Thanks for your help. On Tue, Oct 2, 2012 at 1:48 PM, Tushar Krishna <tus...@csail.mit.edu> wrote: > Hi Tejasi, > Try testing your code with the NetworkTest protocol and inject a fixed > number of packets and see if they get delivered. If not, see why some flits > might be stuck at some routers. > While I didn't go through your entire code in detail, I see you have some > wait cycles etc for each input port (which i presume is to delay some > flits). Make sure that the SWallocator/Switch do wake up at the end of your > wait cycles to send the flit out. > > - Tushar > > > On Oct 2, 2012, at 2:34 PM, tejasi pimpalkhute wrote: > > Hi Nilay and Tushar, > > I got rid of that error by writing a check for memory message and network > message in the SWallocator_d.cc. However, I am getting a deadlock error now > when I run the same test. I get this error: > > panic: Deadlock detected: current_time: 50001 last_progress_time: 0 > difference: 50001 processor: 0 > @ cycle 50001 > [checkForDeadlock:build/ALPHA_SE_MOESI_hammer/cpu/testers/rubytest/RubyTester.cc, > line 182] > Memory Usage: 170696 KBytes > Program aborted at cycle 50001 > Aborted > > I am attaching my code file here. It will be great if you could have a > look to see if I am making any obvious error here (method - > priority_arbitrate_outports), I am unable to find out what could have gone > wrong. Thanks for your guidance and time. > > On Thu, Sep 27, 2012 at 5:46 AM, Nilay Vaish <ni...@cs.wisc.edu> wrote: > >> On Wed, 26 Sep 2012, tejasi pimpalkhute wrote: >> >> Hi Nilay and Tushar, >>> >>> Thanks for your response. I thought so earlier but I tried running pure >>> memory test (e.g. ruby_mem_test.py) as well as ruby_random_test. >>> Shouldn't >>> the memory test inject only memory request packets in the network? In >>> that >>> case why should the type cast fail? Please correct me if I am wrong. >>> >> >> You are wrong in your assumption. >> >> >> Is >>> there any way of determining whether a flit corresponds to a memory >>> message >>> or a network message? >>> >>> >> There is an obvious check given the behavior of dynamic_cast in C++. You >> might want to figure it out on your own. >> >> -- >> Nilay >> > > > > -- > > <SWallocator_d_.cc> > > > --
_______________________________________________ gem5-users mailing list gem5-users@gem5.org http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users