[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 <[email protected]>
Sent: Monday, February 28, 2022 4:33 PM
To: David Fong via gem5-users <[email protected]>
Cc: David Fong <[email protected]>
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 -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s