[Public] Hi David, We don't have working examples with CPU and garnet3.0. But the general idea is to create network configurations using the topology files(configs/topologies). The general methodology to build topologies in garnet3.0 is as follows:
1. Identify nodes and cache controllers * You can do this using node.type (See configs/topologies/Mesh_XY.py for example) * Nodes can be cache controllers like L1/L2 as well as directories, memory controllers, etc. * Example: if (self.nodes[0].type == "L2Cache_Controller"): l2_cntrls.append(self.nodes[0]) 2. Build Routers - configure their clock domain, supported flit size, latency, etc. * Example: router_domain_0=SrcClockDomain(clock='4GHz',voltage_domain=VoltageDomain(voltage=options.sys_voltage)) routers.append(Router(router_id=0, latency = 1,clk_domain=domain_0, width=8)) router_domain_1=SrcClockDomain(clock='2GHz',voltage_domain=VoltageDomain(voltage=options.sys_voltage)) routers.append(Router(router_id=1, latency = 1,clk_domain=domain_0, width=16)) 1. Connect the routers using internal and external links - configure their clock domain, supported flit size, latency, SerDes, ClockDomainCrossing, etc. * Internal links are unidirectional and connect two routers * External links are bidirectional and connect a node to a router. * Example: link_domain_0=SrcClockDomain(clock='4GHz',voltage_domain=VoltageDomain(voltage=options.sys_voltage)) ext_links.append(ExtLink(link_id=0, ext_node=l2_contrls[0], int_node=routers[0], width=32, clk_domain=link_domain_0, int_serdes=True, latency = 1, weight=1)) link_domain_1=SrcClockDomain(clock='4GHz',voltage_domain=VoltageDomain(voltage=options.sys_voltage)) int_links.append(IntLink(link_id=1, src_node=routers[0], dst_node=routers[1], width=16, clk_domain=link_domain_1, dst_cdc=True, src_serdes=True, latency = 1, weight=1)) int_links.append(IntLink(link_id=2, src_node=routers[1], dst_node=routers[0], width=16, clk_domain=link_domain_1, src_cdc=True, dst_serdes=True, latency = 1, weight=1)) You can follow examples in configs/topologies/ for building topologies. Hope this helps. Thanks, Srikant From: David Fong via gem5-users <gem5-users@gem5.org> Sent: Monday, February 28, 2022 4:33 PM To: David Fong via gem5-users <gem5-users@gem5.org> Cc: David Fong <da...@chronostech.com> Subject: [gem5-users] gem5 with garnet3.0 and x86 examples [CAUTION: External Email] Hi, Are there working examples in latest gem5 v21.2.1 with garnet3.0 and x86 (or ARM or RISCV) cpus with AI applications like DNN ? If not, please explain the flow on how to achieve this. Thanks, David
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s