Thank you for your reply, I will check the NetworkInterface.cc file. Best Regards, *Eng. Karim Soliman* Teaching Assistant Computer Engineering Department Pharos University in Alexandria (P.U.A)
On Mon, Sep 11, 2023 at 7:18 PM Krishna, Tushar <tus...@ece.gatech.edu> wrote: > The decision for virtual network is made here: > Garnet Synthetic Traffic > <https://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/> > gem5.org > <https://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/> > [image: apple-touch-icon.png] > <https://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/> > <https://www.gem5.org/documentation/general_docs/ruby/garnet_synthetic_traffic/> > And depends on the coherence protocol. For eg the garnet stand-alone > protocol has three vnets. > Garnet standalone > <https://www.gem5.org/documentation/general_docs/ruby/Garnet_standalone/> > gem5.org > <https://www.gem5.org/documentation/general_docs/ruby/Garnet_standalone/> > [image: apple-touch-icon.png] > <https://www.gem5.org/documentation/general_docs/ruby/Garnet_standalone/> > <https://www.gem5.org/documentation/general_docs/ruby/Garnet_standalone/> > > By default req, fwd and resp Go to vnets 0, 1 and 2. For garnet synthetic > the words req, fwd and resp are meaningless as it’s not simulating actual > coherence .. just that req and fwd are 1 flit while resp is 5 flit. > > You could either make changes at this level (might be harder) OR you can > maybe hack into NetworkInterface.cc in the garnet folder .. see the wakeup > function and how it gets packets from protocol and injects them into the > vnets and make changes there .. > > Cheers, > Tushar > > On Sep 11, 2023, at 12:11 AM, Karim Soliman via gem5-users < > gem5-users@gem5.org> wrote: > > > Hey everyone, hope you all are doing well. > For my research purposes, which is about Network-on-Chip routing > algorithms and the effects of using different virtual networks and virtual > channels. > I have successfully run the PARSEC benchmark suite with the 2D-Mesh > topology and it's working well, I have used the following: > > - Gem5 - version 23 [X86.opt] > - Linux kernel: x86-linux-kernel-4.19.83 > - PARSEC disk image: downloaded from > > https://resources.gem5.org/resources/x86-parsec/versions?database=gem5-resources&version=1.0.0 > - Used operating system is Ubuntu 18.04. > > What I'm trying to do is set specific criteria for deciding which virtual > network a packet will belong to when it's being injected. > I implemented such a method when I used a synthetic traffic generator and > it worked, my modifications were in the file ==> > src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.cc > > I tried to std::cout the used virtual network and virtual channels, in ==> > src/mem/ruby/network/garnet/InputUnit.cc, and I found that the default > configurations being used in the simulation are 3 virtual networks [0, 1, > 2] and each virtual network has 4 virtual channels. > > I'm inquiring about where I can locate the function that handles the > injection of packets into the network. > > > 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