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

Reply via email to