当前位置:   article > 正文

gem5 Garnet|向python脚本添加控制参数_gem5开发

gem5开发


本文以Garnet 3.0为例。

1. 配置文件地址

1.1 gem5 network配置文件

gem5/chiplet-flow-ctrl/configs/network/Network.py
  • 1

该文件将命令行输入的参数解析。

1.2 garnet配置文件

/src/mem/ruby/network/garnet/GarnetNetwork.py
  • 1

该文件用于将Param中已解析的参数添加到C++类中,可以理解为cpp与python代码接口。

2. 添加参数

step1 向Network.py中添加参数解析

    parser.add_argument(
        "--cfc", 
        action="store", 
        type=int, 
        default=0,
        help="to enable Chiplet flow Control"
    )
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
    if options.network == "garnet":
        network.num_rows = options.mesh_rows
        network.vcs_per_vnet = options.vcs_per_vnet
        network.ni_flit_size = options.link_width_bits / 8
        network.routing_algorithm = options.routing_algorithm
        network.garnet_deadlock_threshold = options.garnet_deadlock_threshold
        network.cfc = options.cfc
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

注意,解析器--为标志对参数名称进行解析,例如--cfc则默认将参数名称解析为cfc,在GarnetNetwork.py中应该以Parent.cfc进行调用。

step2 向GarnetNetwork.py中添加参数

cfc = Param.Int(Parent.cfc, "to enable Chiplet Flow Control")
  • 1

step3 在Cpp类中进行调用

GarnetNetwork::GarnetNetwork(const Params &p)
    : Network(p)
{
	m_cfc = p.cfc;
}
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/489289
推荐阅读
相关标签
  

闽ICP备14008679号