CN110335190A - 基于cuda的直写式光刻机数据拓展方法 - Google Patents
基于cuda的直写式光刻机数据拓展方法 Download PDFInfo
- Publication number
- CN110335190A CN110335190A CN201910534139.7A CN201910534139A CN110335190A CN 110335190 A CN110335190 A CN 110335190A CN 201910534139 A CN201910534139 A CN 201910534139A CN 110335190 A CN110335190 A CN 110335190A
- Authority
- CN
- China
- Prior art keywords
- cuda
- data
- direct
- pixel
- write type
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03F—PHOTOMECHANICAL PRODUCTION OF TEXTURED OR PATTERNED SURFACES, e.g. FOR PRINTING, FOR PROCESSING OF SEMICONDUCTOR DEVICES; MATERIALS THEREFOR; ORIGINALS THEREFOR; APPARATUS SPECIALLY ADAPTED THEREFOR
- G03F7/00—Photomechanical, e.g. photolithographic, production of textured or patterned surfaces, e.g. printing surfaces; Materials therefor, e.g. comprising photoresists; Apparatus specially adapted therefor
- G03F7/70—Microphotolithographic exposure; Apparatus therefor
- G03F7/70483—Information management; Active and passive control; Testing; Wafer monitoring, e.g. pattern monitoring
- G03F7/70491—Information management, e.g. software; Active and passive control, e.g. details of controlling exposure processes or exposure tool monitoring processes
- G03F7/70508—Data handling in all parts of the microlithographic apparatus, e.g. handling pattern data for addressable masks or data transfer to or from different components within the exposure apparatus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
Abstract
本发明的一种基于CUDA的直写式光刻机数据拓展方法,可解决传统使用CPU对数据进行二维扫描处理时单线程处理的滞后,效率低影响产能的技术问题。本发明使用CUDA技术,对直写式光刻机的栅格化图像数据进行拓展,以高阶M进行渲染,然后使用低阶M/2进行拆分,再将一个高阶像素的灰度值以特定规则赋值到这N*N个低阶像素。本发明的基于CUDA的直写式光刻机数据拓展方法,通过并行化提高了计算效率,增加了写式光刻机的产能,也保留了图形特征,同时降低了数据规模,减少了对CPU计算能力及传输带宽的依赖,降低了成本。
Description
技术领域
本发明涉及半导体光刻机图形图像处理技术领域,具体涉及一种基于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*N个像素中,从而实现更高DPI的分辨率;
S800、利用CUDA提供的接口函数,拷贝Device填充好的数据至Host端已经分配好的内存区。
以下结合附图如图2、图3、图4所示,具体说明:
(1)设定参数:根据要渲染的图形对象,设定纹理的宽W和高H;设定渲染的灰阶M;依据图像宽和高,申请纹理大小,并设定纹理渲染的模式;在Device端申请图像渲染缓存和矢量数据缓存;
(2)准备矢量数据:根据需要,可以选择任意形状的多边形图形数据。利用CUDA接口,将矢量数据从Host端拷贝到Device端;
(3)启动CUDA进行纹理渲染;
(4)将渲染好的纹理数据进行提取,存放在Device的GlobalMemory(全局内存)上,已经申请好的显存空间;
(5)根据图像数据,将任务分配给Grid,然后依据图像数据的宽和高,以及二维图像的特点,确定Block的数量和Thread的数量。比如,对于2048*1024像素,可以申请二维的block和二维的thread,从而使得block.x*thread.x=2048,block.y*thread.y=1024,这样每个thread负责一个像素,从而可以很快的拓展,且相互线程之间不干扰;
(6)利用CUDA接口函数,在Device端申请最终图像缓存空间,大小为(N*W)*(N*H)*(M/2)Bit;因为每一个像素拓展为N*N个像素,那么最终输出图像空间将增大N*N倍;
(7)启动CUDA进行数据拓展,将原有的一个像素数据,拆分为N*N个像素(N为大于1的自然数),根据像素的M阶灰度值,平均、等值或者其他规则赋值到这N*N个像素中,从而实现更高DPI的分辨率;比如将每一个像素拓展为2*2,那么原本图像为2048*1024像素,每个像素8阶灰度,灰度值为0~255,则拓展后为4096*2048像素,每个像素为4阶,灰度值为0~16;
(8)将拓展之后的图像数据拷贝至Host端:利用CUDA提供的接口函数,拷贝Device填充好的数据至Host端已经分配好的内存区
对于步骤(1)和步骤(6),可以任意设定图形宽度W和高度H,根据精度需要,选择需要拓展的N值;
对于步骤(7),将图像数据拷贝至共享存储区,其目的是为了后续拓展时,多线程并行处理时,频繁访问全局区的图形数据,而共享存储区的特点是比较小,存储速度快,可提高拓展速度;
对于步骤(7),可启动多个Grid进行处理,处理结果可存储在各自缓存区,然后再在Device端合并,结果是一样的。
综上可知,本发明实施例采用CUDA多线程并行计算,从而避免了使用CPU对数据进行二维扫描处理时单线程处理的滞后,从而提高效率;另外,因为光刻领域的图像较为复杂,线宽线距较细,如何保证精度的基础上,保留图像基本特征不失真,快速进行栅格化处理,提高产能,提升产品竞争力,是一直以来发展的瓶颈;该发明在兼顾品质的基础上,提升了性能,找到了突破点。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (4)
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端已经分配好的内存区。
2.根据权利要求1所述的基于CUDA的直写式光刻机数据拓展方法,其特征在于:所述S700具体启动X个Grid进行处理,处理结果存储在各自缓存区,然后再在Device端合并,X为大于1的自然数。
3.根据权利要求1所述的基于CUDA的直写式光刻机数据拓展方法,其特征在于:所述步骤S700中根据所设定的像素参数赋值到这N*N个像素中,具体为根据像素的M阶灰度值、平均、等值赋值到这N*N个像素中。
4.根据权利要求1所述的基于CUDA的直写式光刻机数据拓展方法,其特征在于:所述步骤S500根据步骤S400中的直写式光刻机的栅格化图像数据,将任务分配给Grid,确定Block的数量和Thread的数量;具体为依据图像数据的宽和高,确定Block的数量和Thread的数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910534139.7A CN110335190A (zh) | 2019-06-20 | 2019-06-20 | 基于cuda的直写式光刻机数据拓展方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910534139.7A CN110335190A (zh) | 2019-06-20 | 2019-06-20 | 基于cuda的直写式光刻机数据拓展方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110335190A true CN110335190A (zh) | 2019-10-15 |
Family
ID=68142167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910534139.7A Pending CN110335190A (zh) | 2019-06-20 | 2019-06-20 | 基于cuda的直写式光刻机数据拓展方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110335190A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1272194A (zh) * | 1998-03-31 | 2000-11-01 | 株式会社索尼电脑娱乐 | 用于绘制在图像装置上显示的图像的装置、方法和分发介质 |
CN101849227A (zh) * | 2005-01-25 | 2010-09-29 | 透明信息技术有限公司 | 在单片构造的硅芯片上采用多个图形核心的图形处理和显示系统 |
CN102521789A (zh) * | 2011-12-21 | 2012-06-27 | 合肥芯硕半导体有限公司 | 一种基于cuda的梯形填充方法 |
CN104795303A (zh) * | 2009-05-20 | 2015-07-22 | 迈普尔平版印刷Ip有限公司 | 两次扫描 |
CN106019858A (zh) * | 2016-07-22 | 2016-10-12 | 合肥芯碁微电子装备有限公司 | 一种基于cuda技术的直写式光刻机图像数据按位压缩方法 |
WO2018212826A1 (en) * | 2017-05-18 | 2018-11-22 | Google Llc | A parallelized pipeline for vector graphics and image processing |
-
2019
- 2019-06-20 CN CN201910534139.7A patent/CN110335190A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1272194A (zh) * | 1998-03-31 | 2000-11-01 | 株式会社索尼电脑娱乐 | 用于绘制在图像装置上显示的图像的装置、方法和分发介质 |
CN101849227A (zh) * | 2005-01-25 | 2010-09-29 | 透明信息技术有限公司 | 在单片构造的硅芯片上采用多个图形核心的图形处理和显示系统 |
CN104795303A (zh) * | 2009-05-20 | 2015-07-22 | 迈普尔平版印刷Ip有限公司 | 两次扫描 |
CN102521789A (zh) * | 2011-12-21 | 2012-06-27 | 合肥芯硕半导体有限公司 | 一种基于cuda的梯形填充方法 |
CN106019858A (zh) * | 2016-07-22 | 2016-10-12 | 合肥芯碁微电子装备有限公司 | 一种基于cuda技术的直写式光刻机图像数据按位压缩方法 |
WO2018212826A1 (en) * | 2017-05-18 | 2018-11-22 | Google Llc | A parallelized pipeline for vector graphics and image processing |
Non-Patent Citations (1)
Title |
---|
王芳等: "基于BRDF和GPU并行计算的全局光照实时渲染", 《图学学报》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9633469B2 (en) | Conservative rasterization of primitives using an error term | |
US9177351B2 (en) | Multi-primitive graphics rendering pipeline | |
KR100902974B1 (ko) | 그래픽 파이프 라인에서의 타일 기반 정밀 래스터화 | |
CN1251155C (zh) | 用于实现全景图形保真过采样的方法和装置 | |
US7969444B1 (en) | Distributed rendering of texture data | |
JP6185211B1 (ja) | 適応的シェーディングによるテクスチャルックアップを使用した帯域幅低減 | |
TWI645371B (zh) | 在上游著色器內設定下游著色狀態 | |
US20070296725A1 (en) | Method for parallel fine rasterization in a raster stage of a graphics pipeline | |
CN105184837A (zh) | 一种矢量多边形栅格化的算法及系统 | |
KR101728624B1 (ko) | 타일 기반 렌더링을 위한 인트라-프레임 타임스탬프들 | |
JP2001118082A (ja) | 描画演算処理装置 | |
KR20130132752A (ko) | 압축된 슈퍼타일 이미지들의 디스플레이 | |
CN110663064A (zh) | 用于矢量图形和图像处理的并行化流水线 | |
DE102019101871A1 (de) | Verfahren und Vorrichtung zum Gewinnen von Abtastpositionen von Textuieroperationen | |
US20210344944A1 (en) | Adaptive Pixel Sampling Order for Temporally Dense Rendering | |
JPH08297737A (ja) | 任意図形クリッピング方法および装置 | |
CN112258378A (zh) | 基于gpu加速的实时三维测量系统及方法 | |
JP3892016B2 (ja) | 画像処理装置および画像処理方法 | |
GB2493438A (en) | Water simulation using velocity-dependent column heights | |
CN107016638A (zh) | 于系统存储器中产生α提示的方法及其图形装置 | |
CN116261740A (zh) | 基于每个信道压缩纹理数据 | |
JP2011524562A (ja) | 拡大縮小可能で且つ統合化されたコンピュータシステム | |
US8982134B2 (en) | Area-based dependency chain analysis of shaders and command stream | |
CN110335190A (zh) | 基于cuda的直写式光刻机数据拓展方法 | |
US20240013033A1 (en) | Large scale mask optimization with convolutional fourier neural operator and litho-guided self learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 230088 the 11 level of F3 two, two innovation industrial park, No. 2800, innovation Avenue, Hi-tech Zone, Hefei, Anhui. Applicant after: Hefei Xinqi microelectronics equipment Co., Ltd Address before: 230088 the 11 level of F3 two, two innovation industrial park, No. 2800, innovation Avenue, Hi-tech Zone, Hefei, Anhui. Applicant before: HEFEI XINQI MICROELECTRONIC EQUIPMENT CO., LTD. |