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