37、基于遗传算法的CMM操作硬件优化及紧凑BDD的遗传编程构建

基于遗传算法的CMM操作硬件优化及紧凑BDD的遗传编程构建

1. 常量矩阵乘法(CMM)问题概述

在处理常量矩阵乘法(CMM)问题时,需要考虑多个方面以实现硬件的优化。DPL(Dot Product Level)算法在处理每个点积时,会生成相应的2D跳表。在DPL迭代过程中,会检查生成的排列积之和(SOP)中的每一项,若该项已在之前的排列中出现过,则将其丢弃,仅将唯一的实现添加到全局列表中。这个全局列表使用2D跳表实现,以最小化搜索新项时的开销。

1.1 DPL算法细节

  • 跳表结构 :水平方向有“跳过节点列表”(SNL),按硬件资源(hw)递增顺序从左到右排列;垂直方向有“乘积节点列表”(PNL),每个跳过节点指向一个有序的乘积节点列表,其中每个乘积节点的p_vec位向量中设置的位数(即hw)相同。
  • 节点插入 :插入新项时,会为节点添加唯一的排列ID(pid)和p_vec,以便重建生成它的SD排列。
  • 硬件加速 :DPL算法主要由比较、布尔逻辑和位计数等低级操作主导。分析表明,平均60%的计算时间用于位计数(50%)和按位或(10%)。这些任务可以通过将多术语SOP映射到FIFO结构,并将逻辑或操作映射到或门,在硬件上加速。

1.2 CMML阶段

当DPL算法为CMM中的每个点积运行后,会得到N个2D跳表。CMML(Constant Matrix Multiplication Level)阶段的任务是为所有CMM点积找到最佳的重叠乘积节点集,每个点积

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值