CN106019858B - 一种基于cuda技术的直写式光刻机图像数据按位压缩方法 - Google Patents
一种基于cuda技术的直写式光刻机图像数据按位压缩方法 Download PDFInfo
- Publication number
- CN106019858B CN106019858B CN201610586053.5A CN201610586053A CN106019858B CN 106019858 B CN106019858 B CN 106019858B CN 201610586053 A CN201610586053 A CN 201610586053A CN 106019858 B CN106019858 B CN 106019858B
- Authority
- CN
- China
- Prior art keywords
- data
- thread
- gpu
- block
- cuda
- 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.)
- Active
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/70383—Direct write, i.e. pattern is written directly without the use of a mask by one or multiple beams
-
- 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/70425—Imaging strategies, e.g. for increasing throughput or resolution, printing product fields larger than the image field or compensating lithography- or non-lithography errors, e.g. proximity correction, mix-and-match, stitching or double patterning
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明涉及一种基于CUDA技术的直写式光刻机图像数据按位压缩方法,与现有技术相比解决了CPU的像素压缩技术无法适用于光刻领域特征图像的缺陷。本发明包括以下步骤:数据预处理和初始化;GPU预处理;分配内存;数据复制;启动通用并行计算处理;压缩结果的合并;将压缩之后的数据拷贝至CPU的Host端。本发明通过GPU利用CUDA技术进行并行化处理,提高了计算效率,增加了直写式光刻机的产能,同时降低了数据规模,GPU压缩处理后再将压缩数据传给CPU,减少了对CPU计算能力及传输带宽的依赖。
Description
技术领域
本发明涉及直写光刻机技术领域,具体来说是一种基于CUDA技术的直写式光刻机图像数据按位压缩方法。
背景技术
CUDA是NVIDIA公司2007年提出的支持GPU进行通用计算的编程模型和开发环境,CUDA编程的思想是用海量的线程来开发程序中的并行性,海量线程以层次化的方式组织,单个的线程被映射到标量核SP上执行,一组线程被组织成一个线程块Block被映射到一个SM上执行,最后由线程块组成的线程栅格Grid映射到一个GPGPU上执行。由于GPU具有远超CPU的计算核心数以及海量的并行计算资源,适合进行计算密集型、高度并行化的计算任务。同时,由于GPU的价格远远低于同等性能的并行计算***,由CPU和GPGPU组成的异构***已经越来越广的应用到生物医学、流体力学等诸多工程应用领域。
直写式光刻技术是在感光材料(多为胶或者膜)的表面印刷具有特征的构图的技术,无掩膜光刻技术使用数字微镜***生成构图,通过光学投影元件,图像以一定得倍率投影到光敏感的衬底上,产生特征的构图。
现有的压缩技术中多采用CPU(中央处理器)按像素压缩,其压缩的效率较低,另外对光刻领域的特征图形的压缩比相对较低。随着IC封装载板、半导体掩膜光刻的特征线宽越来要求要高,图形数据量越来越大,如何提高压缩比,对原始数据进行不失真的压缩,将越来越多的限制着光刻设备的产能。因此,如何利用CUDA技术来实现并行高效压缩已经成为急需解决的技术问题。
发明内容
本发明的目的是为了解决现有技术中CPU的像素压缩技术无法适用于光刻领域特征图像的缺陷,提供一种基于CUDA技术的直写式光刻机图像数据按位压缩方法来解决上述问题。
为了实现上述目的,本发明的技术方案如下:
一种基于CUDA技术的直写式光刻机图像数据按位压缩方法,包括以下步骤:
数据预处理和初始化,在CPU的Host端申请存放未压缩前图形数据的任务,获取位图图形数据,其宽度为Width,高度为Height,在GPU的Device端申请按位压缩后的压缩数据的任务;
GPU预处理,在GPU的Device端,根据图形数据的宽、高分配块Block和线程Thread的数量,其中,块Block的数量为图形数据的高;
分配内存,在GPU的Device端利用CUDA接口函数cudaMalloc()分配内存;
数据复制,在GPU的Device端利用CUDA接口函数cudaMemcpy()将CPU Host端的Memory中未压缩的图形数据拷贝至GPU的Global Memory中;
启动通用并行计算处理,CUDA启动多线程并行压缩方法,对图形数据进行压缩处理;
压缩结果的合并,将每个线程Thread处理的结果进行合并,获得有效连续数据;
将压缩之后的数据拷贝至CPU的Host端,利用CUDA提供的接口函数cudaMemcpy(),拷贝GPU的Device端填充好的数据至CPU的Host端的内存区。
所述的启动通用并行计算处理包括以下步骤:
将图形数据的每行数据拷贝至每个块Block的共享存储区Share Momory中;
每个块Block中的线程Thread根据所在块Block的数据分配指定的像素数据;
待所有块Block和其中的线程Thread均分配完毕后,启用Block线程同步函数syncthreads(),开始并行压缩处理;
并行压缩处理,每个线程Thread处理自己负责的像素点,按像素压缩规则将像素压缩的结果保存在一个字节中。
所述的像素压缩规则为:在8位字节中,字节的第1位为标志位,其值为0或1,代表该字节为0或1的展示;字节的第2位至第8位为数量位,表示字节标志位中0或1的重复数量。
有益效果
本发明的一种基于CUDA技术的直写式光刻机图像数据按位压缩方法,与现有技术相比通过GPU利用CUDA技术进行并行化处理,提高了计算效率,增加了直写式光刻机的产能,同时降低了数据规模,GPU压缩处理后再将压缩数据传给CPU,减少了对CPU计算能力及传输带宽的依赖,降低了成本。本发明采用CUDA多线程并行计算,避免了使用CPU对数据进行二维扫描处理时单线程处理的滞后,从而提高效率。由于光刻领域的图像数据多为较小间隔的线宽线距,使用按像素压缩,出现压缩比很低的情况,而本发明中使用按位压缩,可以针对此类领域的特征图形提高压缩比。
附图说明
图1为本发明的方法顺序图;
图2为GPU与CPU数据交互示意图;
图3为本发明中块Block、线程Thread与图像数据的分配关系与处理示意图;
图4为本发明中线程Thread完成压缩后示意图。
具体实施方式
为使对本发明的结构特征及所达成的功效有更进一步的了解与认识,用以较佳的实施例及附图配合详细的说明,说明如下:
如图2所示,在CUDA架构下,一个应用程序被分为两个部分执行,一部分被分配在CPU上执行,也就是Host端;另一部分被分配在GPU上执行,也就是Device端,又被称为Kernel。而通常是在Host端准备好数据,然后复制到Device端的全局内存、共享内存、纹理存储器中,再由GPU执行Device端程序,执行完的结果,再拷贝至Hsot端的内存中。
如图1所示,本发明所述的一种基于CUDA技术的直写式光刻机图像数据按位压缩方法,包括以下步骤:
第一步,数据预处理和初始化。在CPU的Host端申请存放未压缩前图形数据的任务,获取位图图形数据,其宽度为Width,高度为Height,在GPU的Device端申请按位压缩后的压缩数据的任务。在此,根据需要,可以选择2位、4位、8位、24位和32位等图形数据,这些图形数据的特点为属于由不同像素点的黑点、白点组成的图形,而像素点上的黑点的灰度值为0,像素点上的白点的灰度值为1,通过多个不同的像素点1或0的组合,实现图形的表达。
第二步,GPU预处理。在GPU的Device端,根据图形数据的宽、高分配块Block和线程Thread的数量,其中,块Block的数量为图形数据的高。由于位图数据的像素之间可以并行压缩且不会发生冲突,因此可以设置位图图像的一行像素给一个块Block,因此位图图形数据的高则为块Block所需要设置的数量。而多个块Block又共同组成栅格Grid的设计,因此针对于多个位图图形的压缩,可以设成多个栅格Grid执行,即栅格Grid由数个执行相同程序的块Block组成,块Block由数个线程Thread组成。针对于位图图形大批量的压缩处理其效率更高。
而针对于线程Thread而言,其为块Block下的处理,因此可以将位图图像的一行像素分配给块Block下的线程Thread进行处理。而具体要求线程Thread的大小则根据图形数据的宽度来定,若图形数据的宽度较大则可以分多个线程Thread,若图形数据的宽度较小则可以直接放在一个线程Thread,即将一行图形数据(一个块Block中的数据)均分或者按某个值分配到Block下的Thread进行处理。
第三步,分配内存。在GPU的Device端利用CUDA接口函数cudaMalloc()分配内存,利用CUDA提供的接口函数对Device端分配内存,其大小可以为Host端需要分配的大小。
第四步,数据复制。在GPU的Device端利用CUDA接口函数cudaMemcpy()将CPU Host端的Memory中未压缩的图形数据拷贝至GPU的Global Memory中,GPU的Global Memory为全局存储器,一般存放比较大的图形数据。将图形数据拷贝至Global Memory,其目的是为了后续压缩时,多线程并行处理时,频繁访问未压缩的图形数据,而Global Memory的特点是存储速度快,可提高压缩速度。
第五步,启动通用并行计算处理,CUDA启动多线程并行压缩方法,对图形数据进行压缩处理。将GPU的Global Memory图像数据细化到每个线程Thread,并使用Share Memory加速,每个线程Thread压缩的结果保存在一个字节中。其具体步骤如下:
(1)如图3所示,将图形数据的每行数据拷贝至每个块Block的共享存储区ShareMomory中,等待进行将每个线程Thread分配到指定的像素数据。
(2)每个块Block中的线程Thread根据所在块Block的数据分配指定的像素数据。
例如,针对一个位图图像数据而言,其Block0压缩第一行数据,Block1压缩第二行数据,Block2压缩第三行数据,依此类推,直至达到图像数据的高度。然后Block0中的Thread0处理第一行的0~9像素,Thread1处理第一行的10~19像素,Thread2处理第一行的20~29像素,同理,将第一行的数据均处理完,直至达到图像数据的宽度。
(3)待所有块Block和其中的线程Thread均分配完毕后,启用Block线程同步函数syncthreads(),开始并行压缩处理。
(4)并行压缩处理。每个线程Thread处理自己负责的像素点,按像素压缩规则将像素压缩的结果保存在一个字节中。为了提高压缩比,压缩的结果保存在一个字节内,即像素压缩规则,其表示在8位字节中,字节的第1位为标志位,其值为0或1,代表该字节为0或1的展示,即该字节中均为1或均为0。字节的第2位至第8位为数量位,表示字节标志位中0或1的重复数量,即该字节中0或1的数量。例如:当需表示像素位图为00000时,其按像素压缩规则的字节则表示为00000101。
第六步,压缩结果的合并。如图4所示,将每个线程Thread处理的结果进行合并,获得有效连续数据,形成由若干个字节所顺序展示的字节数据集,完成在GPU的Device端进行数据压缩工作。在压缩时,针对于图形数据非等分在每个Block中,则会有一个线程Thread压缩的图像数据较少,可以采用将其补0或人为的其他操作进行标注即可。
第七步,将压缩之后的数据拷贝至CPU的Host端。利用CUDA提供的接口函数cudaMemcpy(),拷贝GPU的Device端填充好的数据至CPU的Host端的内存区。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明的范围内。本发明要求的保护范围由所附的权利要求书及其等同物界定。
Claims (2)
1.一种基于CUDA技术的直写式光刻机图像数据按位压缩方法,其特征在于,包括以下步骤:
11)数据预处理和初始化,在CPU的Host端申请存放未压缩前图形数据的任务,获取位图图形数据,其宽度为Width,高度为Height,在GPU的Device端申请按位压缩后的压缩数据的任务;
12)GPU预处理,在GPU的Device端,根据图形数据的宽、高分配块Block和线程Thread的数量,其中,块Block的数量为图形数据的高;
13)分配内存,在GPU的Device端利用CUDA接口函数cudaMalloc()分配内存;
14)数据复制,在GPU的Device端利用CUDA接口函数cudaMemcpy()将CPU Host端的Memory中未压缩的图形数据拷贝至GPU的Global Memory中;
15)启动通用并行计算处理,CUDA启动多线程并行压缩方法,对图形数据进行压缩处理;所述的启动通用并行计算处理包括以下步骤:
151)将图形数据的每行数据拷贝至每个块Block的共享存储区Share Momory中;
152)每个块Block中的线程Thread根据所在块Block的数据分配指定的像素数据;
153)待所有块Block和其中的线程Thread均分配完毕后,启用Block线程同步函数syncthreads(),开始并行压缩处理;
154)并行压缩处理,每个线程Thread处理自己负责的像素点,按像素压缩规则将像素压缩的结果保存在一个字节中;
16)压缩结果的合并,将每个线程Thread处理的结果进行合并,获得有效连续数据;
17)将压缩之后的数据拷贝至CPU的Host端,利用CUDA提供的接口函数cudaMemcpy(),拷贝GPU的Device端填充好的数据至CPU的Host端的内存区。
2.根据权利要求1所述的一种基于CUDA技术的直写式光刻机图像数据按位压缩方法,其特征在于:
所述的像素压缩规则为:在8位字节中,字节的第1位为标志位,其值为0或1,代表该字节为0或1的展示;字节的第2位至第8位为数量位,表示字节标志位中0或1的重复数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610586053.5A CN106019858B (zh) | 2016-07-22 | 2016-07-22 | 一种基于cuda技术的直写式光刻机图像数据按位压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610586053.5A CN106019858B (zh) | 2016-07-22 | 2016-07-22 | 一种基于cuda技术的直写式光刻机图像数据按位压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106019858A CN106019858A (zh) | 2016-10-12 |
CN106019858B true CN106019858B (zh) | 2018-05-22 |
Family
ID=57117525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610586053.5A Active CN106019858B (zh) | 2016-07-22 | 2016-07-22 | 一种基于cuda技术的直写式光刻机图像数据按位压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106019858B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427238A (zh) * | 2019-01-10 | 2020-07-17 | 苏州苏大维格科技集团股份有限公司 | 激光直写*** |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108303856B (zh) * | 2018-01-22 | 2020-04-17 | 合肥芯碁微电子装备股份有限公司 | 一种基于dmd的光刻机3d灰度图像曝光优化方法 |
CN111898747B (zh) * | 2019-05-05 | 2023-06-30 | 杭州海康威视数字技术股份有限公司 | 一种特征比对方法及电子设备 |
CN110335190A (zh) * | 2019-06-20 | 2019-10-15 | 合肥芯碁微电子装备有限公司 | 基于cuda的直写式光刻机数据拓展方法 |
CN115297219B (zh) * | 2022-07-28 | 2023-06-30 | 安徽地势坤光电科技有限公司 | 直写光刻***中图像数据的压缩协议、方法及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103414901A (zh) * | 2013-08-26 | 2013-11-27 | 江苏新瑞峰信息科技有限公司 | 一种快速jpeg2000图像压缩*** |
CN103427844A (zh) * | 2013-07-26 | 2013-12-04 | 华中科技大学 | 一种基于gpu和cpu混合平台的高速无损数据压缩方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5641898B2 (ja) * | 2010-11-26 | 2014-12-17 | ルネサスエレクトロニクス株式会社 | 画像圧縮装置及び画像圧縮方法並びにプログラム |
-
2016
- 2016-07-22 CN CN201610586053.5A patent/CN106019858B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103427844A (zh) * | 2013-07-26 | 2013-12-04 | 华中科技大学 | 一种基于gpu和cpu混合平台的高速无损数据压缩方法 |
CN103414901A (zh) * | 2013-08-26 | 2013-11-27 | 江苏新瑞峰信息科技有限公司 | 一种快速jpeg2000图像压缩*** |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111427238A (zh) * | 2019-01-10 | 2020-07-17 | 苏州苏大维格科技集团股份有限公司 | 激光直写*** |
Also Published As
Publication number | Publication date |
---|---|
CN106019858A (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106019858B (zh) | 一种基于cuda技术的直写式光刻机图像数据按位压缩方法 | |
US11822491B2 (en) | Techniques for an efficient fabric attached memory | |
DE102020108218A1 (de) | Vorrichtung und Verfahren zur Konstruktion von Begrenzungsvolumenhierarchien mit reduzierter Genauigkeit | |
US11604649B2 (en) | Techniques for efficiently transferring data to a processor | |
DE102018114929B4 (de) | System und verfahren für ein rendering eines lichtfeldes | |
EP3713093A1 (en) | Data compression for a neural network | |
DE102019117585A1 (de) | Selektives Packen von Patches für immersives Video | |
DE102020115026A1 (de) | Systeme und Verfahren zur Tonabbildung von Bildern mit hohem Dynamikumfang für auf tiefem Lernen basierende Verarbeitung von hoher Qualität | |
CN1957376A (zh) | 可缩放着色器结构 | |
DE102018114286A1 (de) | Durchführen einer Traversierungs-Stack-Komprimierung | |
DE112010003750T5 (de) | Hardware für parallele Befehlslistenerzeugung | |
DE102018110607A1 (de) | Verallgemeinerte Beschleunigung von Matrix-Multiplikations-und-Akkumulations-Operationen | |
DE102020132544A1 (de) | Vorrichtung und verfahren für doppelpräzisionsstrahlquerung in einer raytracing-pipeline | |
DE102020107080A1 (de) | Grafiksysteme und Verfahren zum Beschleunigen von Synchronisation mittels feinkörniger Abhängigkeitsprüfung und Planungsoptimierungen basierend auf verfügbarem gemeinsam genutztem Speicherplatz | |
CN110675480A (zh) | 用于获取纹理操作的采样位置的方法和装置 | |
DE102020129756A1 (de) | Verwendung eines efehls einer rchitektur mit einem efehlssatz (isa) zur ektornormalisierung | |
DE102020131901A1 (de) | Vorrichtung und verfahren zum durchführen nicht lokaler mittelwertfilterung unter verwendung eines bewegungsschätzschaltkreises eines grafikprozessors | |
DE102020131852A1 (de) | Vorrichtung und verfahren zum ausführen eines stabilen sortiervorgangs mit kurzer latenz | |
US11907717B2 (en) | Techniques for efficiently transferring data to a processor | |
US9235512B2 (en) | System, method, and computer program product for graphics processing unit (GPU) demand paging | |
CN105183562B (zh) | 一种基于cuda技术对栅格化数据进行抽阶的方法 | |
JP5706754B2 (ja) | データ処理装置及びデータ処理方法 | |
CN108737830A (zh) | 基于所预测性能的智能视频帧分组 | |
DE102019117545A1 (de) | Reduzierung von registerbankkonflikten für ausführungseinheiten eines multithread-prozessors | |
DE102023105565A1 (de) | VERFAHREN UND VORRICHTUNG FÜR EFFIZIENTEN ZUGRIFF AUF MEHRDIMENSIONALE DATENSTRUKTUREN UND/ODER ANDERE GROßE DATENBLÖCKE |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 230088 the 11 level of F3 two, two innovation industrial park, No. 2800, innovation Avenue, Hi-tech Zone, Hefei, Anhui. Patentee after: Hefei Xinqi microelectronics equipment Co., Ltd Address before: Two, H2 building, No. 2800, Wangjiang Industrial Park, 230088 Wangjiang West Road, hi tech Zone, Anhui, Hefei, 533 Patentee before: HEFEI XINQI MICROELECTRONIC EQUIPMENT CO., LTD. |