基于CUDA的直写式光刻机数据拓展方法技术

技术编号:22309288 阅读:62 留言:0更新日期:2019-10-16 09:17
本发明专利技术的一种基于CUDA的直写式光刻机数据拓展方法,可解决传统使用CPU对数据进行二维扫描处理时单线程处理的滞后,效率低影响产能的技术问题。本发明专利技术使用CUDA技术,对直写式光刻机的栅格化图像数据进行拓展,以高阶M进行渲染,然后使用低阶M/2进行拆分,再将一个高阶像素的灰度值以特定规则赋值到这N*N个低阶像素。本发明专利技术的基于CUDA的直写式光刻机数据拓展方法,通过并行化提高了计算效率,增加了写式光刻机的产能,也保留了图形特征,同时降低了数据规模,减少了对CPU计算能力及传输带宽的依赖,降低了成本。

Data expansion method of direct write lithography based on CUDA

【技术实现步骤摘要】
基于CUDA的直写式光刻机数据拓展方法
本专利技术涉及半导体光刻机图形图像处理
,具体涉及一种基于CUDA的直写式光刻机数据拓展方法。
技术介绍
CUDA是NVIDIA公司2007年提出的支持GPU进行通用计算的编程模型和开发环境。CUDA编程的思想是用海量的线程来开发程序中的并行性,海量线程以层次化的方式组织,单个的线程被映射到标量核SP上执行,一组线程被组织成一个线程块(Block)被映射到一个SM上执行,最后由线程块组成的线程栅格(Grid)映射到一个GPGPU上执行。由于GPU具有远超CPU的计算核心数以及海量的并行计算资源,适合进行计算密集型、高度并行化的计算任务。同时,由于GPU的价格远远低于同等性能的并行计算系统,由CPU和GPGPU组成的异构系统已经越来越广的应用到生物医学、流体力学等诸多工程应用领域。直写式光刻技术是在感光材料(多为胶或者膜)的表面印刷具有特征的构图的技术,本专利技术所涉及的无掩膜光刻技术使用数字微镜系统生成构图,通过光学投影元件,图像以一定得倍率投影到光敏感的衬底上,产生特征的构图。直写式光刻技术,为了保证资料解析度,以及最小线宽线距,通常会使用较高的DPI(DotsPerInch,每英寸点数)来实现矢量图形进行栅格化,比如16000DPI,25000DPI,50800DPI等,随着DPI的值越来越大,那么单位面积栅格化出来的像素点就会越来越多,这样使用Windows自带的GDI/GDI+绘制单色图形,其需要的画布就需要很大。同时因为绘制的像素点越来越多,其时间越来越长。然后根据直写式光刻技术的版图特点,使用多阶灰度表示一个像素点,根据像素灰度值再去按照设定拓展方式(十字拓展一分四等)进行拓展,比如原本一个像素8阶,灰度值为0~255,根据十字拓展方法,拓展为4个小像素,小像素设定灰阶为2阶,灰度值为0~3,这样4个小像素的灰度值组合有:4*4*4*4=256种组合,与原本大像素灰度值一致;采用CUDA渲染,可以利用GPU内部的并行通道进行渲染,并且可以指定渲染的灰阶(M阶,2M阶,4M阶,8M阶等),且渲染效率不受灰阶影响。这样的话,可以利用高阶(8M阶)图形进行渲染,以保真图像的详细特征,然后再利用像素分割成低阶(M/2阶或者M/4)的方法,实现更高像素的渲染,并保留更多图形特征;比如:使用8000DPI的分辨率进行渲染8阶图像,然后细分为16000DPI的分辨率,同时降为2阶或4阶图,这样可以高保真图形特征。在CUDA架构下,一个应用程序被分为两个部分执行,一部分被分配在CPU上执行,也就是Host端;另一部分被分配在GPU上执行,也就是Device端,又被称为Kernel。而通常是在Host端准备好数据,然后复制到Device端的全局内存、共享内存、纹理存储器中,再由GPU执行Device端程序,执行完的结果,再拷贝至Hsot端的内存中。
技术实现思路
本专利技术提出的一种基于CUDA的直写式光刻机数据拓展方法,可解决传统使用CPU对数据进行二维扫描处理时单线程处理的滞后,效率低影响产能的技术问题。为实现上述目的,本专利技术采用了以下技术方案:一种基于CUDA的直写式光刻机数据拓展方法,包括以下步骤:S1、设置显卡GPU上CUDA纹理大小为W和H;设置GPU上渲染灰阶为M阶;依据宽和高申请纹理对象;在GPU上申请渲染缓存空间,大小为W*H*Mbit;S2、将Host端(PC端)所准备的直写式光刻机矢量数据拷贝到Device端(GPU端);S3、启动CUDA进行纹理渲染,渲染的数据来自于光刻机矢量数据;S4、将渲染的M阶直写式光刻机的栅格化图像数据,保存在Device端的GlobalMemory(全局内存)里;S5、根据直写式光刻机的栅格化图像数据,将任务分配给Grid,然后依据图像数据的宽和高,以及二位图像的特点,确定Block的数量和Thread的数量;所述Grid由数个执行相同程序的Block组成,所述Block由数个Thread组成;S6、申请最终图像数据缓存空间,大小为(N*W)*(N*H)*(M/2)Bit;S7、启动CUDA进行直写式光刻机的栅格化图像数据进行拓展,将原有的一个像素数据,拆分为N*N个像素(N为大于1的自然数),根据像素的M阶灰度值,平均、等值或者其他规则赋值到这N*N个像素中,从而实现更高DPI的分辨率;S8、任务完成后,将Device端压缩后的数据拷贝至Host端已分配的内存,即数据拓展;进一步的,可将步骤S7拆分为多个Grid执行。由上述技术方案可知,本专利技术使用CUDA技术,对直写式光刻机的栅格化图像数据进行拓展,以高阶M进行渲染,然后使用低阶M/2进行拆分,再将一个高阶像素的灰度值以特定规则(平均、等值或者其他规则)赋值到这N*N个低阶像素。本专利技术的基于CUDA的直写式光刻机数据拓展方法,通过并行化提高了计算效率,增加了写式光刻机的产能,也保留了图形特征,同时降低了数据规模,减少了对CPU计算能力及传输带宽的依赖,降低了成本。本专利技术的有益效果为:1.本专利技术采用CUDA纹理进行多线程高阶渲染,充分利用纹理与二维图像的特点结合,从而不需要坐标系变换;2.本专利技术利用高阶、低DPI进行渲染,可有效的改善产能,提高图形分辨率,有效保留图形原始特征;3.本专利技术利用CUDA多线程进行数据拆分,使用每个线程可并行对渲染后的图像进行拓展,从而避免CPU对数据进行二维扫描处理时单线程处理的滞后,从而提高效率。附图说明图1为本专利技术的方法流程图;图2为GPU内部构造与CPU数据交互示意图;图3为本专利技术中Block、Thread与图像数据的分配关系与处理示意图;图4为Thread进行数据拓展(拓展为N*N,以N=4为例)示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。如图1所示,本专利技术实施例包括以下步骤:S100、根据要渲染的图形对象,设定纹理参数并设定纹理渲染的模式;在Device端申请图像渲染缓存和矢量数据缓存;具体为设置显卡GPU上CUDA纹理大小宽度为W,高度为H;设置GPU上渲染灰阶为M阶;则在GPU上申请渲染缓存空间,大小为W*H*Mbit;S200、利用CUDA接口,将矢量数据从Host端拷贝到Device端;S300、启动CUDA进行纹理渲染,渲染的数据来自于光刻机矢量数据;S400、将渲染好的直写式光刻机的栅格化图像数据进行提取,保存在Device端的GlobalMemory里;S500、根据步骤S400中的直写式光刻机的栅格化图像数据,将任务分配给Grid,确定Block的数量和Thread的数量;其中,所述Grid由执行相同程序的Block组成,所述Block由Thread组成;S600、利用CUDA接口函数,在Device端的显卡GPU上申请最终图像数据缓存空间,大小为(N*W)*(N*H)*(M/2)Bit;S700、启动CUDA进行直写式光刻机的栅格化图像数据进行拓展,将原有的一个像素数据,拆分为N*N个像素,N为大于1的自然数,根据所设定的像素参数赋值到这N*本文档来自技高网
...

【技术保护点】
1.一种基于CUDA的直写式光刻机数据拓展方法,其特征在于:包括以下步骤:S100、根据要渲染的图形对象,设定纹理参数并设定纹理渲染的模式;在Device端申请图像渲染缓存和矢量数据缓存;具体为设置显卡GPU上CUDA纹理大小宽度为W,高度为H;设置GPU上渲染灰阶为M阶;则在GPU上申请渲染缓存空间,大小为W*H*Mbit;S200、利用CUDA接口,将矢量数据从Host端拷贝到Device端;S300、启动CUDA进行纹理渲染,渲染的数据来自于光刻机矢量数据;S400、将渲染好的直写式光刻机的栅格化图像数据进行提取,保存在Device端的Global Memory里;S500、根据步骤S400中的直写式光刻机的栅格化图像数据,将任务分配给Grid,确定Block的数量和Thread的数量;其中,所述Grid由执行相同程序的Block组成,所述Block由Thread组成;S600、利用CUDA接口函数,在Device端的显卡GPU上申请最终图像数据缓存空间,大小为(N*W)*(N*H)*(M/2)Bit;S700、启动CUDA进行直写式光刻机的栅格化图像数据进行拓展,将原有的一个像素数据,拆分为N*N个像素,N为大于1的自然数,根据所设定的像素参数赋值到这N*N个像素中,从而实现更高DPI的分辨率;S800、利用CUDA提供的接口函数,拷贝Device填充好的数据至Host端已经分配好的内存区。...

【技术特征摘要】
1.一种基于CUDA的直写式光刻机数据拓展方法,其特征在于:包括以下步骤:S100、根据要渲染的图形对象,设定纹理参数并设定纹理渲染的模式;在Device端申请图像渲染缓存和矢量数据缓存;具体为设置显卡GPU上CUDA纹理大小宽度为W,高度为H;设置GPU上渲染灰阶为M阶;则在GPU上申请渲染缓存空间,大小为W*H*Mbit;S200、利用CUDA接口,将矢量数据从Host端拷贝到Device端;S300、启动CUDA进行纹理渲染,渲染的数据来自于光刻机矢量数据;S400、将渲染好的直写式光刻机的栅格化图像数据进行提取,保存在Device端的GlobalMemory里;S500、根据步骤S400中的直写式光刻机的栅格化图像数据,将任务分配给Grid,确定Block的数量和Thread的数量;其中,所述Grid由执行相同程序的Block组成,所述Block由Thread组成;S600、利用CUDA接口函数,在Device端的显卡GPU上申请最终图像数据缓存空间,大小为(N*W)*(N*H)*(M/2)Bit;S700、启动CUDA...

【专利技术属性】
技术研发人员:赵美云
申请(专利权)人:合肥芯碁微电子装备有限公司
类型:发明
国别省市:安徽,34

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1