Class fpga¶
Defined in File defs.h
Class Documentation¶
-
class fpga¶
FPGA 或多芯片底板环境建模基类 (FPGA Topography Model)。
包括多 FPGA 的资源容量、任意两FPGA之间的多级跳数限制(Hop Topo), 以及对该底层平台上产生 TDM 分割代价进行最终评判、打分的重要逻辑与度量器。
Public Functions
-
inline int computeCutWeight(const graph &g, const vector<int> &parts) const¶
计算在当前给定的分割归划
parts中切断的网络边所构造成的总物理权重和。遍历超图里的每条超边,检索网中涉及到的多个分区,凡跨域就会按照连线本身的权重累加入整体 cutweight 返回。
- Parameters:
g – 当前正在操作处理的受评超图数据模型引用。
parts – 全图各节点当前分区映射表(即解集合数组:
parts[node_id] = fpga_id)。
- Returns:
int 对应的总计算割截代价值,是评估主要参照物。
-
inline float computeMaxTdmDelayFromCutWeights(const vector<vector<int>> &cut_weights) const¶
基于各互连的割边统计矩阵,调用 TDM 数据引擎计算全图拥堵延迟的绝对最大值。
该函数依赖内嵌的
tdmEstimate,根据传入的数据带宽阵列通过模型化时分分配后预估最大的线路拖延情况。- Parameters:
cut_weights – FPGA与FPGA之间由于交叉互联已经计算生成完毕的待跑信道割边体积密度邻接矩阵。
- Returns:
float 系统预计发生的最严重点到点TDM预估拖延时间。若无IO相关配置或者无法合法完成拓扑则反馈特殊极大值。
-
inline Metrics computeCutWeightsOld(const graph &g, const vector<int> &parts, vector<vector<int>> &cut_weights) const¶
(弃用或老版) 仅执行基础割边连线代偿预估与常规指标合成。
包括评估切面总割大小(cut)、基础 TDM 指标以及拓扑违规。不会进行高低速信道深度 TDM 引擎延时判定。
- Parameters:
g – 输入超图。
parts – 指定图内当前分区判定结果列。
cut_weights – [out] 将返回输出该分配下不同体系的二维块割关联流向流量阵列信息。
- Returns:
Metrics 返回填充包装好的传统多维质量评分大类数据块对象。
Public Members
-
vector<VectorXi> resources¶
每个 FPGA (按其索引
[k]) 容量大小配置限额 (LUT, FF 等)。
-
vector<vector<int>> topology¶
定义了FPGA系统模块之间的基本相邻无向或有向连通矩阵(通常用0与1构建),用于反映可达性布线可能。
-
vector<int> maxDist¶
此 FPGA 最多允许其连接的网络延伸的最长跳线数值设定。
-
vector<vector<int>> dist¶
一张完整求取所得的全局距离矩阵网络最短跳路表。
dist[i][j]为节点i与节点j至少需搭桥跳越的中继数。
-
vector<vector<set<int>>> S_hat¶
可达点备选覆盖区域层,多用于快速获取距离
d附近的能够跳跃投递的一张容差节点映射列表S_hat[src][dist]。
-
vector<vector<int>> cutweights_assignment¶
每对FPGA组件相互通讯时预先评估或预保留的最优容量配置切割分配基准图
[i][j]。
-
vector<vector<int>> hio_channel_assignment¶
IO JSON 模式下每对 FPGA 的 HIO/GIO 通道数;它不是 FIT 中的物理根数。
-
vector<vector<int>> mgt_channel_assignment¶
IO JSON 模式下每对 FPGA 的 MGT 通道数;它不是 FIT 中的物理根数。
-
vector<vector<int>> fpga_hierarchy_paths¶
扁平 FPGA 下标对应的层级路径,如 {rack, cluster, board, fpga}。
-
bool bound_constraint = false¶
指出在当前规划下是否开启和应用强约束级别的“资源严格上下限壁垒”。
-
bool need_routing = false¶
指出在当前规划下是否需要进行跨FPGA的路由布线代价评估。
-
bool is_hierarchical = false¶
当前是否为层次化分割模式下拍平的FPGA体系结构。
-
VectorXi upper_resources¶
被设置并生效的总池利用率的严格高水位界限控制值向量;如果某部分达到此容量边界则拒绝接受更多节点。
-
VectorXi lower_resources¶
低水位限制控制值向量。
-
vector<DieConnection> die_connections¶
保存该体系下所有 Die-to-Die 跨块连接和带宽映射详情的物理规格表。
-
map<int, int> die_to_fpga_map¶
-
int dies_per_fpga = 1¶
-
int board_count = -1¶
-
int fpga_per_board = -1¶
-
HSFullTiming::HSIOTdmDelay tdmEstimate¶
-
inline int computeCutWeight(const graph &g, const vector<int> &parts) const¶