[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

Reply via email to