Hi Karim,

The virtual network is the protocol level sub network. The virtual channels
indicate the number of parallel buffer streams in each virtual network. To
achieve a protocol deadlock you will have to set a single virtual network
and then force the different types of messages (request, response, etc.) to
go through the single virtual network.

For changing the number of virtual networks, you can modify the quantity in
configs/Network.py
Forcing the different messages to take that virtual network requires
changes in the protocol file in src/mem/ruby/ files.

Let me know if you have any questions about changing them .

Srikant

On Sat, Mar 25, 2023 at 12:15 AM Karim Soliman via gem5-users <
gem5-users@gem5.org> wrote:

> Hey everyone,
> For learning purposes, I'm trying to understand the deadlock and virtual
> channels, so in gem5/garnet 3.0 in file
> mem/ruby/network/garnet/InputUnit.cc
> I have tried to output the following:
> std::cout << " - VCs " << m_router->get_num_vcs() << " Vnetworks: " <<
> m_router->get_num_vnets() << " VCs per Vnet: " << m_router->
> get_vc_per_vnet() <<  " - route.vnet: " << route.vnet <<  std::endl;
> Using Mesh_XY topology to inspect the variables.
> I'm also used the options –-vcs-per-vnet and –-inj-vnet
>
> The following is my simulation command:
> sudo build/NULL/gem5.debug configs/example/garnet_synth_traffic.py
> --network=garnet --topology=Mesh_XY --mesh-rows=4 --num-cpus=16
> --num-dirs=16 --sim-cycles=5000000 --injectionrate=0.2
> --synthetic=uniform_random --vcs-per-vnet=1 --inj-vnet=0
>
> the variables output are
> m_router->get_num_vcs() = 5
> m_router->get_num_vnets() = 5
> m_router->get_vc_per_vnet = 1
>
> My questions are, Why is the output 5 virtual channels? and what's the
> virtual network?
> Also, I'm trying to force the simulation to get into deadlock by
> increasing the injectinorate and always using only 1 virtual channel per
> link.
> but the simulation never went to a deadlock, why? I'm using only one
> virtual channel.
>
>
> Best Regards,
> *Eng. Karim Soliman*
> Teaching Assistant
> Computer Engineering Department
> Pharos University in Alexandria (P.U.A)
> _______________________________________________
> 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