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

Reply via email to