基于神经网络的并行布局算法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于神经网络的并行布局算法

吴一帆1,赵 平2,李思昆3

(11湖南轻工业高等专科学校,湖南长沙 410007;21中南工业大学基础教育学院,

湖南长沙 410012;31国防科学技术大学计算机系,湖南长沙 410073)

[摘要]根据神经网络串行布局算法,进一步研究并提出了与布局问题相适应的神经网络并行计算模型及并行布局

算法,以负载平衡及系统通信开销最小为目标.理论分析结果表明,运用该算法能达到此目标,且具有布局质量高、收敛快、计算简单等特点,适于神经网络并行布局.

[关键词]神经网络;布局;并行处理;算法[中图分类号]TP338.6;TP273.2

[文献标识码]A

[文章编号]100529792(2000)0320275204

随着V LSI 工作频率的迅速提高,对印制版性

能的要求越来越高,自动布局的计算复杂性日益增大.并行布局方法,可以充分发挥并行计算机的超级计算能力,有效地提高自动布局的效率和质量,已成为自动布局的重要研究方向.已有的模拟退火并行布局算法[1]、分级并行布局算法[2]、遗传并行布局算法[3]等,布局结果不够理想.作者以神经网络串行布局算法为基础[4],进一步研究并提出了与布局问题相适应的神经网络并行计算模型及并行布局算法[5,6],以负载平衡及系统通信开销最小为目标,并确保布局质量和较高的执行效率,从而实现神经网络自动布局中的并行处理.

1 神经网络解决布局问题

111 布局问题模型

设有n 个元件需在布局区域上进行单面布局,元件的拓扑连线关系已知,元件形状为矩形.布局须达到以下目标:

a 1布局元件的受约束引脚间连线的曼哈顿距

离满足延时约束;

b 1连接度大的元件尽量靠近;

c 1布局元件间的最小间隔一定.

对以上3个布局目标,可用1个能量函数予以描述[4].

112 神经网络模型

与布局问题对应的神经网络模型如图1所示.

网络模型分为3层,从下至上分别为输入层、隐含层和输出层,隐含层和输出层中任一神经元的输入等于与它相邻低一层中各神经元(或部分神经元)输出的加权和.网络算法由正、反向传播组成.在正向传播阶段,每一层神经元的状态只影响下一层神经元的状态.若输出层得不到期望的输出结果,则进入误差的反向传播阶段.误差信号沿原连接通路返回,网络根据反向传播的误差信号修改各层的连接权,使误差达到最小.11211 输入层

神经元个数为输入向量的维数,包括元件初始

图1 神经网络模型

[收稿日期] 1999210227

[基金项目] 国家“八六三”高技术计划基金资助项目(8632511242201)[作者简介] 吴一帆(1964-),男,湖南轻工业高等专科学校讲师.

第31卷第3期2000年6月 中南工业大学学报J.CE NT.S OUTH UNI V.TECH NO L.

V ol.31 N o.3

June 2000

坐标、元件长宽及约束条件.

11212 隐含层

由n个神经元群构成,第i个神经元群对应第i 个元件,群内神经元表示元件约束引脚状态,即引脚安置是否符合约束.

隐含层与输入层间建立互连接,其权值完成输入元件坐标到各约束引脚坐标的转换及自学习调整,并传送连接网表及约束信息.

群间连接:元件各约束引脚间的位置通信. 11213 输出层

由n个神经元构成,表示布局后各元件位置(坐标)状态,由单元间状态及约束引脚间状态决定. 11214 输出层横向连接

层内神经元间产生互连接,表示元件间位置通信.

输出层与隐含层的连接:输出单元O i与隐含层单元群H i间产生互连接,与其它单元群不产生连接,其权值的作用是把布局后各引脚坐标换算成元件坐标并进行自学习调整.

113 串行布局原理

对于未布局单元,计算其简化能量函数,值最大者作为下一元件的选择依据;输入后,不符合单元网络者按使能量函数最小化方法进行自学习调整,从而达到布局要求[4].

2 并行计算任务划分

图1所示的神经网络布局模型虽然揭示了神经元及其连接计算中一些固有的并行性,然而在多机系统中,可能由于计算任务间存在过多的控制/数据相关所产生的大量通信与同步开销而抵消所开发出的并行性,因此,须对通信开销大的任务进行合并,同时尽可能使负载平衡,并确保布局质量和较高的执行效率.为达此目的,须

a1生成表示执行时间代价和通信代价的加权任务图;

b1按合并规则对任务进行合并;

c1任务分层.

211 初始阶段任务划分

据图1,初始阶段任务是神经元计算,包括其内部计算、连接权值修改.

21111 设定神经元数据结构

node=record

 name[1..10]:array of char;

 pre,succ:pointer;/3神经元前驱、后继结点指针3/

 calu-cost,comm-cost:integer;/3神经元计算量及通信代价3/

 comm-node:pointer;/3通信节点指针3/

 layer-no:integer;/3神经元所在层次号3/

 end

21112 神经元任务执行时间、通信量的确定a1输入层.完成输入,计算量为1个时间单位,通信量为0.

b1隐含层.计算量为1个时间单位,通信量为1个通信时间单位.

c1输出层.计算量为m i+n个时间单位,通信量为n个通信时间单位(其中,m i为元件i受约束的引脚数).

212 合并规则

对神经计算进行合并,并非将神经计算进行真正的合并,只是意味着被合并的计算可在同一处理机或一组处理机上执行.针对多机系统结构特点,考虑到通信开销与并行度的折中及使负载尽可能趋于平衡,对合并顺序执行的神经计算提出如下合并规则

.

图2 相邻层计算单元间关系

a1如图2a所示,神经计算T j使用由神经计算T i产生的数据,这种相关性规定了这2种神经计算只能按顺序执行,故予以合并.

b1如图2b所示,神经计算T j所使用的数据由并行神经计算T i1,T i2,…,T ik所产生.如果T i1至T ik 之和大于T(T为处理机的临界时间),则无须合并;否则,将它们合并为一计算任务.

c1如图2c所示,神经计算T j内每一计算单元T jm(m=1,…,h)的数据由神经计算T i内所有计算单元T ip(p=1,…,k)产生,如让i,j内所有计算单元分别在不同处理机上并行运行,则由于处理机间通信量太大而抵消了并行性所带来的长处.为此,进行如下的合并:计算单元T jm与T i内所有计算单元合并为一计算任务,即采用多副本原则.

按以上规则合并后,任务计算时间为各神经计算时间之和,内部通信量被吸收,外部通信量为原外部通信量之和.

672中南工业大学学报 第31卷

相关文档
最新文档