Zhang Meng, you can simply convert cycles to ticks without modifying the code. If you search for "ruby.clk_domain.clock", that tells you the clock period in ticks.
Srikant, maybe converting cycles to ticks automatically is a better way to go. Otherwise if making it "--sim-ticks", users need to figure out the ruby clock period first. Jieming On Sun, Jan 24, 2021 at 4:46 AM Bharadwaj, Srikant < [email protected]> wrote: > Thanks Tushar and Jieming. Yes, we should consider changing the name to > sim-ticks or convert cycles to ticks before passing it to Garnet standalone. > > Thanks, > Srikant > ------------------------------ > *From:* Krishna, Tushar via gem5-users <[email protected]> > *Sent:* Sunday, January 24, 2021 2:08:58 AM > *To:* Jieming Yin <[email protected]> > *Cc:* gem5 users mailing list <[email protected]>; 等价无穷小 < > [email protected]>; Krishna, Tushar <[email protected]> > *Subject:* [gem5-users] Re: 回复:Re: Garnet > > [CAUTION: External Email] > Ah thanks Jieming. > Maybe we should consider changi g it back to cycles - does get confusing > for users. We can chat about that separately .. > > Cheers, > Tushar > > On Jan 23, 2021, at 3:18 PM, Jieming Yin <[email protected]> wrote: > > > Hi Zhang and Tushar, > > I'm afraid it was because the "--sim-cycles" option in garnet actually > specifies simulation ticks rather than cycles. Suppose the ruby clock is > 500, "--sim-cycles=1000" only simulates 2 cycles. Given that the injection > rate is also small, it is expected that there is no packet generated during > the simulation. > > Jieming > > On Fri, Jan 22, 2021 at 11:26 PM 等价无穷小 via gem5-users <[email protected]> > wrote: > > Thanks for your reply! > The video on YouTube is a online teaching video, the teacher shows me how > to run the garnet_standalone and the run results. In his results, the > latency is almost 11, but my results are different, and my friend changes > the garnet version to garnet2.0, the results she gets are almost same as > the video. I think the garnet version is not the key problem, but I can not > understand the running results of mine. > And I add the parameter --ini-vnet=0, > The command line is > ./build/NULL/gem5.opt configs/example/garnet_synth_traffic.py > --network=garnet --num-cpus=16 --num-dirs=16 --topology=Mesh_XY > --mesh-rows=4 --sim-cycles=1000 --synthetic=uniform_random > --injectionrate=0.01 --inj-vnet=0 > *the results are as following:* > system.ruby.l1_cntrl0.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl0.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl0.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl1.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl1.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl1.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl10.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl10.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl10.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl11.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl11.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl11.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl12.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl12.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl12.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl13.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl13.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl13.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl14.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl14.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl14.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl15.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl15.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl15.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl2.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl2.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl2.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl3.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl3.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl3.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl4.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl4.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl4.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl5.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl5.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl5.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl6.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl6.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl6.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl7.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl7.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl7.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl8.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl8.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl8.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl9.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl9.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl9.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.network.average_flit_latency nan > system.ruby.network.average_flit_network_latency nan > > system.ruby.network.average_flit_queueing_latency nan > > system.ruby.network.average_flit_vnet_latency | nan > | nan | nan > > system.ruby.network.average_flit_vqueue_latency | nan > | nan | nan > > system.ruby.network.average_hops nan > system.ruby.network.average_packet_latency nan > > system.ruby.network.average_packet_network_latency nan > > system.ruby.network.average_packet_queueing_latency nan > > system.ruby.network.average_packet_vnet_latency | nan > | nan | nan > > system.ruby.network.average_packet_vqueue_latency | nan > | nan | nan > > system.ruby.network.avg_link_utilization 0 > system.ruby.network.ext_in_link_utilization 0 > > system.ruby.network.ext_out_link_utilization 0 > > system.ruby.network.flit_network_latency | 0 > | 0 | 0 > system.ruby.network.flit_queueing_latency | 0 > | 0 | 0 > system.ruby.network.int_link_utilization 0 > system.ruby.network.packet_network_latency | 0 > | 0 | 0 > system.ruby.network.packet_queueing_latency | 0 > | 0 | 0 > system.clk_domain.clock 1000 > # Clock period in ticks > *Then I try to change the --sim-cycles=20000, the results are as > following:* > system.ruby.hit_latency_hist_seqr::total 3 > system.ruby.l1_cntrl0.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl0.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl0.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl0.mandatoryQueue.avg_buf_msgs 0.024999 > # Average number of messages in buffer > system.ruby.l1_cntrl0.mandatoryQueue.avg_stall_time 87.520624 > # Average number of cycles messages are stalled in this MB > system.ruby.l1_cntrl0.requestFromCache.avg_buf_msgs 0.049998 > # Average number of messages in buffer > system.ruby.l1_cntrl0.requestFromCache.avg_stall_time 125.043748 > # Average number of cycles messages are stalled in this MB > system.ruby.l1_cntrl1.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl1.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl1.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl10.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl10.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl10.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl10.mandatoryQueue.avg_buf_msgs 0.024999 > # Average number of messages in buffer > system.ruby.l1_cntrl10.mandatoryQueue.avg_stall_time 212.514374 > # Average number of cycles messages are stalled in this MB > system.ruby.l1_cntrl10.requestFromCache.avg_buf_msgs 0.049998 > # Average number of messages in buffer > system.ruby.l1_cntrl10.requestFromCache.avg_stall_time 375.031248 > # Average number of cycles messages are stalled in this MB > system.ruby.l1_cntrl11.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl11.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl11.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl12.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl12.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl12.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl13.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl13.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl13.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl14.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl14.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl14.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl15.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl15.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl15.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl15.mandatoryQueue.avg_buf_msgs 0.024999 > # Average number of messages in buffer > system.ruby.l1_cntrl15.mandatoryQueue.avg_stall_time 37.523124 > # Average number of cycles messages are stalled in this MB > system.ruby.l1_cntrl15.requestFromCache.avg_buf_msgs 0.049998 > # Average number of messages in buffer > system.ruby.l1_cntrl15.requestFromCache.avg_stall_time 25.048748 > # Average number of cycles messages are stalled in this MB > system.ruby.l1_cntrl2.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl2.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl2.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl3.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl3.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl3.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl4.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl4.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl4.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl5.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl5.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl5.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl6.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl6.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl6.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl7.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl7.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl7.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl8.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl8.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl8.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.l1_cntrl9.cacheMemory.demand_accesses 0 > # Number of cache demand accesses > system.ruby.l1_cntrl9.cacheMemory.demand_hits 0 > # Number of cache demand hits > system.ruby.l1_cntrl9.cacheMemory.demand_misses 0 > # Number of cache demand misses > system.ruby.latency_hist_seqr::bucket_size 1 > > system.ruby.latency_hist_seqr::max_bucket 9 > > system.ruby.latency_hist_seqr::samples 3 > system.ruby.latency_hist_seqr | 3 100.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% | 0 0.00% 100.00% > system.ruby.latency_hist_seqr::total 3 > system.ruby.network.average_flit_latency 4500 > system.ruby.network.average_flit_network_latency 3500 > > system.ruby.network.average_flit_queueing_latency 1000 > > system.ruby.network.average_flit_vnet_latency | 3500 > | nan | nan > > system.ruby.network.average_flit_vqueue_latency | 1000 > | nan | nan > > system.ruby.network.average_hops 2 > system.ruby.network.average_packet_latency 4500 > > system.ruby.network.average_packet_network_latency 3500 > > system.ruby.network.average_packet_queueing_latency 1000 > > system.ruby.network.average_packet_vnet_latency | 3500 > | nan | nan > > system.ruby.network.average_packet_vqueue_latency | 1000 > | nan | nan > > system.ruby.network.avg_link_utilization 0.200000 > system.ruby.network.avg_vc_load | 0.200000 100.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% | 0 0.00% 100.00% > system.ruby.network.avg_vc_load::total 0.200000 > system.ruby.network.ext_in_link_utilization 3 > > system.ruby.network.ext_out_link_utilization 1 > > system.ruby.network.flit_network_latency | 3500 > | 0 | 0 > system.ruby.network.flit_queueing_latency | 1000 > | 0 | 0 > system.ruby.network.flits_injected | 3 100.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% > system.ruby.network.flits_injected::total 3 > > system.ruby.network.flits_received | 1 100.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% > system.ruby.network.flits_received::total 1 > > system.ruby.network.int_link_utilization 4 > system.ruby.network.packet_network_latency | 3500 > | 0 | 0 > system.ruby.network.packet_queueing_latency | 1000 > | 0 | 0 > system.ruby.network.packets_injected | 3 100.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% > system.ruby.network.packets_injected::total 3 > > system.ruby.network.packets_received | 1 100.00% > 100.00% | 0 0.00% 100.00% | 0 0.00% > 100.00% > In fact, the injectionrate is very small, I can not understand why the > latency can up to 4500, is there existing other problems? > Please help me to run the garnet correctly > Thank you very much !! > Zhang Meng > > ------------------ 原始邮件 ------------------ > *发件人:* "gem5 users mailing list" <[email protected]>; > *发送时间:* 2021年1月23日(星期六) 凌晨4:43 > *收件人:* "gem5-users"<[email protected]>;"gem5 users mailing list"< > [email protected]>; > *抄送:* "等价无穷小"<[email protected]>;"Krishna, Tushar"<[email protected]>; > *主题:* [gem5-users] Re: Garnet > > Hmm you can go back to an older version of garnet by cloning an older > version of gem5 - but I don’t think you need to. Lets try to figure out > what’s going on. What do you mean by the result being different from the > YouTube video? > > Can you also try running with --inj-vnet=0 .. this injects only single > flit packets so easier to understand / debug the results. > > Best, > Tushar > On Jan 20, 2021, 10:09 AM -0500, 等价无穷小 via gem5-users <[email protected]>, > wrote: > > Hi > I'm a new learner on gem5 and ubuntu , now I am using Garnet to run the > examples on the tutorial . > The command line is following : > ./build/NULL/gem5.opt configs/example/garnet_synth_traffic.py > --network=garnet --num-cpus=16 --num-dirs=16 --topology=Mesh_XY > --mesh-rows=4 --sim-cycles=20000 --synthetic=uniform_random > --injectionrate=0.1 > This command can be run,but the results in the stats.txt is very strange, > the latency is too high, the result is in the end , in the youtube video, > the result is very small. And if I change the injecitonrate=0.01 and the > sim-cycles=1000 , the latency has no results. I downlode the latest version > of gem5, the garnet version I use is 3.0 . I run the command on the ubuntu > 18.04 and 20.04, the result is same. Is it because of the garnet version? > A teacher ask me to change the version to 2.0, is it nessary? If so , how > to change the garnet version? > The following is the command line rusults: > system.ruby.network.avg_vc_load::total 5.850000 > > system.ruby.network.ext_in_link_utilization 59 > > system.ruby.network.ext_out_link_utilization 38 > > system.ruby.network.flit_network_latency | 38500 > | 20500 | 92000 > > system.ruby.network.flit_queueing_latency | 11000 > | 6000 | 17000 > > system.ruby.network.flits_injected | 13 20.63% > 20.63% | 10 15.87% 36.51% | 40 63.49% > 100.00% > system.ruby.network.flits_injected::total 63 > > system.ruby.network.flits_received | 11 32.35% > 32.35% | 6 17.65% 50.00% | 17 50.00% > 100.00% > system.ruby.network.flits_received::total 34 > > system.ruby.network.int_link_utilization 137 > > system.ruby.network.packet_network_latency | 38500 > | 20500 | 20000 > > system.ruby.network.packet_queueing_latency | 11000 > | 6000 | 3000 > > Thanks > Zhang Meng > > _______________________________________________ > gem5-users mailing list -- [email protected] > To unsubscribe send an email to [email protected] > %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s > > > > -- > Jieming > > -- Jieming
_______________________________________________ gem5-users mailing list -- [email protected] To unsubscribe send an email to [email protected] %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s
