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