并行处理架构进行矩阵运算并用于严格波耦合分析的方法

文档序号:6488282阅读:269来源:国知局
并行处理架构进行矩阵运算并用于严格波耦合分析的方法
【专利摘要】为提供速度较快并且成本较低的矩阵运算和严格波耦合分析的技术,本发明提供了一种并行处理架构进行矩阵运算并用于严格波耦合分析的方法,该并行处理架构包括多个处理器模块,各处理器模块分别与独立的共享存储器关联并执行独立的线程块。矩阵运算的方法包括如下步骤:i.各处理器模块分别执行并行处理架构调用中的运算指令,其中,各运算指令一一对应于矩阵运算中的各运算部分,各运算部分能够并行执行并且互不相关;ii.将该运算部分所用的数据分别读入相应处理器模块的共享存储器中;iii.各处理器模块基于相应的运算指令,读取共享存储器中的相应数据,并行地执行线程块来完成该矩阵运算中的该运算部分。
【专利说明】并行处理架构进行矩阵运算并用于严格波耦合分析的方法
【技术领域】
[0001]本发明涉及并行计算,特别涉及基于并行处理架构进行矩阵运算。
【背景技术】
[0002]随着高端计算机图形显示卡的发展,多核图形处理单元(Graphic ProcessingUnit,简称GPU)越来越强大,GPU不仅为显示图像做了优化,还有天生的并行性。经过对硬件和软件的改进,GPU的可编程力不断提高,在计算上已经超越了通用的CPU。为了充分利用芯片的强大的计算功能,显卡厂商NVIDIA推出了新的运算平台-统一计算设备架构(Compute Unified Device Architecture,简称 CUDA)。CUDA 是一种通用并行处理架构,该架构使GPU能够解决复杂的计算问题。它包含了 CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。CUDA采用C语言作为编程语言,开发人员可以使用C语言来为CUDA架构编写程序,能够在GPU的强大计算能力的基础上建立起一种效率更高的密集数据计算解决方案。
[0003]CUDA支持大量的线程并行,并在硬件中动态地创建,调度和执行这些线程。CUDA编程模型将CPU作为主机,而将GPU作为协处理器,以CPU来控制程序整体的窜行逻辑和任务调度,而让GPU来运行一些能够被高度线性化的数据并行部分。
[0004]能够使用GPU计算的程序必需有以下特点:需要处理的数据量比较大,数据以数组或矩阵形式有序存储,并且对这些数据要进行的处理方式基本相同,各个数据间的依赖性或耦合很小。
[0005]CUDA提供了 一种编译工具(nvcc)。开发人员只要将含CUDA指令的原程序,以.CU作文件后缀。nvcc会将.cu文档拆解出在GPU上执行的部份,及在CPU上执行的部份,并调用适当的程序进行编译动作。在GPU执行的部份会透过NVIDIA提供的编译器编译成中介码,而主机执行的部份则会透过系统上的C++编译器来编译(在Windows上使用VisualC++而在Linux上使用gcc)。
[0006]所有目前支持CUDA的NVIDIA显示芯片,都是由多个多核处理器(或称multiprocessors)组成,如图1所示。每个多核处理器里包含了八个流处理器,其组成是四个一组,也就是说实际上可以看成是有两组、每组四个处理器。此外,每个多核处理器通常具有8192个寄存器,16KB?64KB的共享存储器,以及纹理缓存和固定缓存。此外,显示芯片还有显卡内存。每个流处理器都可以读写显卡内存,但只能读写它所在的多核处理器中的寄存器和共享存储器。流处理器读写寄存器和共享存储器很快,但读写显卡内存较慢。所以,编程时,应尽量多用共享存储器,少用显卡内存。

【发明内容】

[0007]半导体芯片制造过程中,产品成品率是衡量芯片制造工艺的重要指标。为提高成品率,芯片制造过程中,需要用到光学关键尺寸(Optical Critical Dimension, OO))检测和缺陷检测。[0008]光学关键尺寸(OCD)的测量,通过获取被测区域周期性结构的散射信号以及结构的模型从而估计出结构的形貌参数。OCD测量原理总体上可概括为两个步骤:光谱获取过程一获取样品的散射信号并处理为测量光谱;光谱匹配过程-根据样品的形貌模型寻找特定的形貌参数使其对应的理论光谱与测量光谱实现最佳匹配。
[0009]随着集成电路工艺技术进入45纳米之后,技术路线图向32纳米以下技术节点挺进时,图形密度不断增加、关键尺寸不断微缩,工艺控制窗口非常狭小,以前可以被忽略的缺陷现在可能导致器件不能正常工作,成为影响成品率的致命缺陷。检测方法通常有成品检测,中间过程检测等。中间过程检测要求较高,要求快速和无损。光学成像检测能满足这些要求。光学成像检测是用宽带组合光源照射电路。为了增强缺陷信号强度,提高信噪比,需要通过对入射光束有针对性的控制和对散射场作有针对性的选择滤波来实现优化。
[0010]光学检测中无论光学关键尺寸(OCD)测量或光学成像缺陷检测都离不开严格精确的电磁场模拟计算。在这一领域,数值仿真计算代表性的方法有:严格波耦合分析理论(Rigorous Coupled-Wave Analysis,简称 RCWA)。
[0011]如图2,所示,设介质在X,y方向呈周期性变化。z方向通常情况下并非不变,光刻掩模板通常在z方向上均匀,或者z方向上分成几层,每层内均匀不变。晶片上的微细结构通常在Z方向变化,但严格波耦合分析方法在Z方向将介质划分若干薄片.薄片的厚度如果足够小,则可认为光散射特性方面在Z方向介质分布均匀。这样,整个介质的光散射效果可以看成若干个叠加在一起的Z方向介质分布均匀的薄片的光散射效果。求解出每个介质薄片上平面和下平面处的电磁场分布就可以得出整个介质的光散射仿真。
[0012]这里仅以TE平面波垂直入射二维光栅为例,对RCWA算法作简单介绍。如图2,结构分为三层,I,光栅上层空气层 ,II,光栅层,III,光栅下衬底层。
[0013]在第一和第三层中,
【权利要求】
1.一种使用并行处理架构进行矩阵运算并用于严格波耦合分析的方法,该并行处理架构包括多个处理器模块,各处理器模块分别与独立的共享存储器关联并执行独立的线程块,该方法包括如下步骤: 1.各处理器模块分别执行并行处理架构调用中的运算指令,其中,各运算指令一一对应于矩阵运算中的各运算部分,各运算部分能够并行执行并且互不相关; i1.将该运算部分所用的数据分别读入相应处理器模块的共享存储器中; ii1.各处理器模炔基于相应的运算指令,读取共享存储器中的相应数据,并行地执行线程块来完成该矩阵运算中的该运算部分。
2.根据权利要求1所述的方法,其特征在于,所述矩阵运算包括矩阵-列向量的乘法, 所述步骤i中,所述各运算指令包括计算两个向量的内积; 所述步骤ii中,分别将该矩阵的一行向量与该列向量读入处理器模块的共享存储器中; 所述步骤iii中,各处理器模块分别执行该矩阵的该行向量与该列向量的内积,并将各内积依次组成该矩阵-列向量乘法的结果向量。
3.根据权利要求2所述的方法,其特征在于,所述处理器模块包括多个处理器,每个处理器执行独立的线程,所述步骤i中,各运算指令包括: -各个线程分别将一个向量中的一个位置的元素与另一个向量中的相同位置的元素相乘,得到多个积; -各个线程分别将多个积中的相邻积不重复地相加,得到多个和; -各个线程分别将多个和中的相邻和不重复地相加,并基于所得到的和重复该步骤,直至得到最终的单个和。
4.根据权利要求1所述的方法,其特征在于,所述矩阵运算包括两个矩阵的乘积, 所述步骤i中,所述各运算指令包括计算分块矩阵的乘积及矩阵和; 所述步骤ii中,分别将该两个矩阵的各分块矩阵读入处理器模块的共享存储器中; 所述步骤iii中,各处理器模块分别计算该两个矩阵的分块矩阵的乘积及矩阵和,并将结果组成该两个矩阵的乘积矩阵。
5.根据权利要求4所述的方法,其特征在于,所述步骤ii中,所述处理器模块包括多个处理器,每个处理器执行独立的线程,该分块矩阵的维度的平方不大于线程块中的最大线程数,并且, 将两个矩阵的最末列的分块矩阵在列方向进行零填充至该维度,和将两个矩阵的最末行的分块矩阵在行方向进行零填充至该维度。
6.根据权利要求1所述的方法,其特征在于,所述矩阵运算包括矩阵求逆, 所述步骤i中,各运算指令包括使用第j行来对另一行做初等行变换,消去另一行中的第j列的元素; 所述步骤ii中,将该矩阵的第j行和剩余行中的分别各行读入处理器模块的共享存储器中; 所述步骤iii中,各处理器模块并行地使用该矩阵的第j行来对剩余行中的分别各行做初等行变换,消去另一行中的第j列的元素; 步骤i至iii分别依次对该矩阵的每一行执行,各行的执行可由不同的线程块同时完成。
7.根据权利要求1所述的方法,其特征在于,所述矩阵运算包括矩阵的QR分解, 所述步骤i中,各运算指令包括使用一行来消去另一行中的相应列的元素; 所述步骤ii中,将该矩阵的一行和另一行读入处理器模块的共享存储器中; 所述步骤iii中,各处理器模块使用该矩阵的一行来消去另一行中的相应列的元素;步骤i至iii循环进行,在每一次循环中,并行地分别对于前i_l个元素都已消去的各第i行,步骤i至iii使用该行来消去第j行中第i列的元素,其中,j大于i且前j-ι行中第i列元素都已被消去。
8.根据权利要求1所述的方法,其特征在于,所述并行处理架构包括基于具有多核图形处理单元的图形显示卡的统一计算设备架构。
9.一种使用并行处理架构计算矩阵的特征值的方法,该方法包括如下步骤: -使用根据权利要求7所述的方法对矩阵进行QR分解,获得Q矩阵和R矩阵; -使用根据权利要求4所述的方法计算R矩阵和Q矩阵的乘积,得到新的矩阵; -判断新矩阵中下三角非对角元的最大模数; -当该最大模数大于给定值时,使用新的矩阵重复以上步骤;当该最大模数小于给定值或重复次数超过给定次数时,以该新的矩阵的对角元为该矩阵的特征值。
10.一种使用并行处理架构进行严格波耦合分析的方法,该方法包括如下步骤:` -接收几何结构参数和入射光束参数和波长参数; -使用根据权利要求1至9中任一项所述的方法来计算光栅区的本征模; -匹配边界条件; -使用根据权利要求1至9中任一项所述的方法来解矩阵方程组得到散射矩阵; -使用根据权利要求1至9中任一项所述的方法来计算入射光束产生的所有散射模系数。
11.一种将严格波耦合分析用于光学关键尺寸测量的方法,该方法包括如下步骤: _根据接收波长范围和波长步长,确定各波长; -使用根据权利要求10的方法来计算在各波长的入射光束产生的所有散射模系数。
12.—种将严格波耦合分析用于缺陷检测的方法,该方法包括如下步骤: -接收待测器件的三维几何结构参数和入射光源的光谱波长参数; -使用根据权利要求1至9中任一项所述的方法来计算三维结构的本征模; -匹配边界条件; -使用根据权利要求1至9中任一项所述的方法来解矩阵方程组得到散射矩阵; -根据接收的结构参数,决定Θ和Φ最大张角的阶次M ; -使用根据权利要求1至9中任一项所述的方法来计算各入射张角方向入射光束产生的所有散射模系数。
【文档编号】G06F17/16GK103631761SQ201210313665
【公开日】2014年3月12日 申请日期:2012年8月29日 优先权日:2012年8月29日
【发明者】刘志钧, 徐益平, 施耀明 申请人:睿励科学仪器(上海)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1