CN102682138B - 一种数据处理方法 - Google Patents
一种数据处理方法 Download PDFInfo
- Publication number
- CN102682138B CN102682138B CN201110061796.8A CN201110061796A CN102682138B CN 102682138 B CN102682138 B CN 102682138B CN 201110061796 A CN201110061796 A CN 201110061796A CN 102682138 B CN102682138 B CN 102682138B
- Authority
- CN
- China
- Prior art keywords
- data
- cpu
- gpu
- memory
- meta materials
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据处理方法,方法包括以下步骤:S1:在CPU端,获取待处理的超材料参数数据;S2:在CPU端,将超材料参数数据存入固定内存;S3:在GPU端内存中声明超材料单元结构的指针,指针映射到CPU端的固定内存;S4:CPU控制GPU内核函数调用指针,将多个超材料参数数据并行转换成相应的超材料单元结构。同时本发明还提供一种数据处理系统实现上述方法。利用图形处理单元GPU强大的图形计算能力,实现真正意义上多线程并行转换的方法,从根本上解决了现有方法存在的系统内存不足的问题,极大地减少了系统内存的消耗,提高了数据转换速度。本发明常运用于超材料领域。
Description
【技术领域】
本发明涉及一种数据处理方法,特别涉及一种大规模数据处理方法。
【背景技术】
超材料的设计与应用远超出一般材料,其复杂性和大规模数据的级别比一般材料高出几个数量级。如何快速地将超大规模的超材料单元结构的设计数据转化成工业标准的dxf或gerber文件,对超材料设计生产有着重大作用。
由于超材料的加工制作涉及电路板加工技术,电路板生产制造行业在加工制造中使用最通用最广泛的电路板加工文件的格式包括dxf-DrawingExchange File(图形交换文件)和gerber文件。dxf是Autodesk公司开发的用于AutoCAD与其它软件之间进行CAD数据交换的CAD数据文件格式,是一种基于矢量的ASCII文本格式,因此不同类型的计算机可通过交换dxf文件来达到交换图形的目的,由于dxf文件可读性好,用户可方便地对它进行修改,编程,达到从外部图形进行编辑,修改的目的。其作为基于CAD系统的加工信息文件而得到行业的广泛应用。gerber文件是一种国际标准的光绘格式文件,它包含RS-274-D和RS-274-X两种格式,它能够控制用于绘图的光束的状态,形状,粗细及在感光膜上具体的X,Y坐标感光,从而产生图像。
目前,生成超大规模的dxf或gerber文件的方法是采用多线程技术。多线程技术是一种同时对多个任务进行控制的技术,可以同时进行多个转换任务,从而缩短转换设计数据所需时间。现有的采用多线程技术的转换方法正是将数据转换环节划分成多个子任务来完成,每个线程独立处理一个单元结构体,完成转换后将数据存入相应的数组,最后,再调用文件的IO函数将数组按dxf或gerber文件的标准写入一个文件。
基于CPU(中央处理器,Central Processing Unit)的多线程虽然使得生成文件速度有一定提高,但对于CPU这种串行模拟并行的体系结构,要实现更大的加速是不太可能的,并行线程是由多个不同的CPU时间片模拟并执行的,不是真正意义上的并行执行,虽然多核处理器中可以做到真正的并行,但由于CPU核心数有限,加速效果相比多线程没有太多提高,从而限制了超材料设计的规模。这是由于CPU的特殊架构决定的。
以往专注于3D图形处理的GPU(图形处理器,Graphic Processing Unit),由于其在浮点运算、并行计算等通用计算方面,可以提供数十倍乃至于上百倍于CPU的性能而越来越受到通用计算与科学计算领域的重视。GPU加速的优势来自于GPU自身的硬件结构设计,如一定的并行性;高密集,高带宽的计算能力;同时减少GPU与CPU之间的数据通信。GPU计算的模式就是,在异构协同处理计算模型中将CPU与GPU结合起来加以利用。应用程序的串行部分在CPU上运行,而计算任务繁重的部分则由GPU来加速。从用户的角度来看,应用程序只是运行得更快了。因为应用程序利用了GPU的高性能来提升性能。
根据图1以及图2所示,可以根据CPU与GPU(图形处理器,GraphicProcessing Unit)的结构进行对比,GPU作为图形处理器,如图2所示,每一行结构中,第一列均为控制器和缓冲器,紧跟后面所有列为算术逻辑单元。可以得出GPU具有高度的并行性,相比CPU具有更多的算术逻辑单元,具有强大的单一运算能力。
目前,如何利用计算机技术提高dxf和gerber文件的生成速度成了超材料设计生产环节中一个重要指标,对提高超材料设计效率有着至关重要的意义。
【发明内容】
本发明针对现有技术只能对小规模数据量进行转化,无法做到对大规模数据量处理,提供一种可以进行大规模数据转化的方法。
本发明提供一种数据处理方法,方法包括以下步骤:
S1:在CPU端,获取待处理的超材料参数数据;
S2:将超材料参数数据存入CPU端的固定内存;
S3:在GPU端内存中声明超材料单元结构的指针,该指针映射到CPU端的固定内存;
S4:CPU控制GPU内核函数使其调用指针,将多个超材料参数数据并行转换成相应的超材料单元结构。
在本发明的优选实施方式中,还包括步骤S5:将S4中得到的超材料单元结构保存至实体数组。
在本发明的优选实施方式中,还包括步骤S6:将实体数组输出至一个或多个标准文件中。
在本发明的优选实施方式中,固定内存始终存在于物理内存中。
在本发明的优选实施方式中,超材料参数数据为结构体,结构体的数据结构包括:超材料单元结构的参数信息,以及超材料坐标信息。
在本发明的优选实施方式中,标准文件为工业标准的dxf或gerber文件。
在本发明的优选实施方式中,dxf文件为AC1006、AC1009、AC1012、AC1015、AC1018、AC1021、AC1024格式中的一种或几种。
在本发明的优选实施方式中,gerber文件为RS-274-X格式或RS-274-D格式。
本发明还涉及一种生成超材料单元结构的系统,包括以下模块:
数据获取模块:用于在CPU端,获取待处理的多个超材料参数数据;
数据载入模块:与数据获取模块连接,用于将超材料参数数据存入CPU端的固定内存;
数据映射模块:与数据载入模块连接,用于在GPU端内存中声明超材料单元结构的指针,该指针映射到CPU端的固定内存;
数据转换模块:与数据映射模块连接,实现CPU控制GPU内核函数使其调用指针,将多个超材料参数数据并行转换成相应的超材料单元结构。
本发明针对现有技术的不足,利用图形处理单元GPU强大的图形计算能力实现真正意义上多线程并行转换的方法,从根本上解决了现有方法存在的系统内存不足的问题,极大地减少了系统内存的消耗,和提高了数据转换速度。
【附图说明】
图1为CPU的结构示意图;
图2为GPU的结构示意图;
图3是本发明数据处理方法的数据转换关系图;
图4是本发明数据处理方法的具体流程图;
图5是本发明单个超材料参数数据的数据结构示意图。
【具体实施方式】
下面结合附图和实施例对本发明进行详细说明。
图3、4是本发明数据处理方法的流程图;
图3、4所示的数据处理方法包括以下步骤:
S1:在CPU端,获取待处理的超材料参数数据;
在步骤S1中,超材料参数数据包括参数长,宽,高,介电常数以及磁导率也不仅仅限于上述参数,超材料参数数据的数据结构示意图如图5所示,本发明的创新点在于设计了一种便于转换的超材料数据结构,较现有方法,更有效的对超材料参数数据进行管理,减少了不同单元结构数据的出错率。
S2:在CPU端,将超材料参数数据存入固定内存;
在步骤S2中,固定内存(pinned memory)始终存在于物理内存中。
S3:在GPU端内存中声明超材料单元结构的指针,指针映射到CPU端的固定内存;
S4:CPU控制GPU内核函数调用指针,将多个超材料参数数据并行转换成相应的超材料单元结构。
本发明的创新点在于,使用CPU端的分页内存,并设置与GPU内存映射,避免了GPU内存不足的缺点,使得转换超大超材料单元结构也能顺利完成;在GPU端,声明超材料结构单元的指针,并调用GPU的内核函数设置GPU内存与CPU内存的映射关系。接着,利用GPU的低开销线程对每个单元结构进行一一转换。例如,假设GPU可以一次处理10组超材料参数数据,倘若在CPU中运行,为串行运行一次只能处理一组超材料参数数据,即串行处理时间约为10个单位时间,而致使效率低下。倘若在在GPU中运行,预设GPU端内存至CPU端内存的映射,GPU端内存存储超材料参数数据在CPU端内存的物理位置,GPU调用内核函数,可并行的对10组超材料参数数据进行运算,大大减低了处理时间。
转换过程结束后,将所得的超材料单元结构保存至实体数组。将实体数组输出至一个或多个工业标准文件中。工业标准文件可以按照dxf或gerber文件的标准生成,但也不仅仅限于上述文件。
其中,可生成不同版本的标准dxf文件,dxf文件为AC1006、AC1009、AC1012、AC1015、AC1018、AC1021、AC1024格式中的一种或几种;也可生成标准gerber文件如RS-274-X格式或RS-274-D格式,但也不仅仅限于上述格式。
本发明还涉及一种生成超材料单元结构的系统,包括以下模块:
数据获取模块:用于在CPU端,获取待处理的多个超材料参数数据;超材料参数数据的数据结构示意图如图5所示,超材料参数数据包括参数长,宽,高,介电常数以及磁导率也不仅仅限于上述参数;
数据载入模块:与数据获取模块连接,用于在CPU端,将超材料参数数组存入固定内存;固定内存始终存在于物理内存中;
数据映射模块:与数据载入模块连接,用于在GPU端内存中声明超材料单元结构的指针,指针映射到CPU端的固定内存;运用这种映射方法,可以将参数数据存入CPU内存中,而GPU内存只需存入映射的指针即可,也可以达到调用GPU内核函数来进行并行转换超材料参数数据的效果。
数据转换模块:与所属数据映射模块连接,用于控制GPU将超材料参数数组转换成相应的超材料单元结构。
数据存储模块:与数据转换模块连接,用于将从数据转换模块得到的超材料单元结构保存至实体数组;
数据输出模块:与数据存储模块连接,用于将将实体数组输出至一个或多个工业标准文件中。工业标准文件可以为dxf或gerber文件,也不仅仅限于上述类型文件。
本发明针对现有技术的不足,利用图形处理单元GPU强大的图形计算能力实现真正意义上多线程并行转换的方法,从根本上解决了现有方法存在的系统内存不足的问题,极大地减少了系统内存的消耗,和提高了数据转换速度。填补了市场上没有任何一款软件产品能够生成超大规模的dxf和gerber文件的空白,极具应用意义。
在上述实施例中,仅对本发明进行了示范性描述,但是本领域技术人员在阅读本专利申请后可以在不脱离本发明的精神和范围的情况下对本发明进行各种修改。
Claims (6)
1.一种数据处理方法,其特征在于,所述方法包括以下步骤:
S1:在CPU端,获取待处理的超材料参数数据,包括长,宽,高,介电常数以及磁导率;
S2:将所述超材料参数数据存入CPU端的固定内存;
S3:在GPU端内存中声明超材料单元结构的指针,所述指针映射到所述CPU端的所述固定内存;
S4:CPU控制GPU内核函数使其调用所述指针,利用GPU的低开销线程将所述超材料参数数据并行转换成相应的超材料单元结构;
S5:将S4中得到的所述超材料单元结构保存至实体数组;
S6:将所述实体数组输出至一种或多种格式的标准文件中,该标准文件为工业标准的dxf或gerber文件。
2.根据权利要求1所述的数据处理方法,其特征在于,所述固定内存始终存在于物理内存中。
3.根据权利要求1所述的数据处理方法,其特征在于,所述超材料参数数据为结构体,所述结构体的数据结构包括:超材料单元结构的参数信息,以及超材料单元结构的坐标信息。
4.根据权利要求1所述的数据处理方法,其特征在于,所述dxf文件为AC1006、AC1009、AC1012、AC1015、AC1018、AC1021、AC1024格式中的一种或几种。
5.根据权利要求1所述的数据处理方法,其特征在于,所述gerber文件为RS-274-X格式或RS-274-D格式。
6.一种数据处理系统,其特征在于,所述系统包括:
数据获取模块:用于在CPU端,获取待处理的超材料参数数据,包括长,宽,高,介电常数以及磁导率;
数据载入模块:与所述数据获取模块连接,用于将所述超材料参数数据存入CPU端的固定内存;
数据映射模块:与所述数据载入模块连接,用于在GPU端内存中声明超材料单元结构的指针,所述指针映射到所述CPU端的所述固定内存;
数据转换模块:与所述数据映射模块连接,实现CPU控制GPU内核函数使其调用所述指针,利用GPU的低开销线程将所述超材料参数数据并行转换成相应的超材料单元结构;
数据存储模块:与数据转换模块连接,用于将从数据转换模块得到的超材料单元结构保存至实体数组;
数据输出模块:与数据存储模块连接,用于将将实体数组输出至一个或多个工业标准文件中,工业标准文件为dxf或gerber文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110061796.8A CN102682138B (zh) | 2011-03-15 | 2011-03-15 | 一种数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110061796.8A CN102682138B (zh) | 2011-03-15 | 2011-03-15 | 一种数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102682138A CN102682138A (zh) | 2012-09-19 |
CN102682138B true CN102682138B (zh) | 2015-03-11 |
Family
ID=46814062
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110061796.8A Active CN102682138B (zh) | 2011-03-15 | 2011-03-15 | 一种数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102682138B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104615583B (zh) * | 2015-01-27 | 2017-11-28 | 上海联影医疗科技有限公司 | 基于gpu平台实现数据处理的方法和装置 |
CN111292223B (zh) | 2020-01-22 | 2023-07-25 | 北京百度网讯科技有限公司 | 图计算的处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1498824A2 (en) * | 2003-06-30 | 2005-01-19 | Microsoft Corporation | System and method for parallel execution of data generation tasks |
CN101526934A (zh) * | 2009-04-21 | 2009-09-09 | 浪潮电子信息产业股份有限公司 | 一种gpu与cpu复合处理器的组建方法 |
CN101664583A (zh) * | 2009-09-09 | 2010-03-10 | 深圳市海博科技有限公司 | 基于cuda的剂量计算优化方法和系统 |
CN101727653A (zh) * | 2008-10-31 | 2010-06-09 | 中国科学院过程工程研究所 | 一种基于图形处理器的多组分系统离散模拟计算方法 |
CN201681385U (zh) * | 2010-04-22 | 2010-12-22 | 周晓辉 | 一种基于gpu的文本数据挖掘系统 |
-
2011
- 2011-03-15 CN CN201110061796.8A patent/CN102682138B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1498824A2 (en) * | 2003-06-30 | 2005-01-19 | Microsoft Corporation | System and method for parallel execution of data generation tasks |
CN101727653A (zh) * | 2008-10-31 | 2010-06-09 | 中国科学院过程工程研究所 | 一种基于图形处理器的多组分系统离散模拟计算方法 |
CN101526934A (zh) * | 2009-04-21 | 2009-09-09 | 浪潮电子信息产业股份有限公司 | 一种gpu与cpu复合处理器的组建方法 |
CN101664583A (zh) * | 2009-09-09 | 2010-03-10 | 深圳市海博科技有限公司 | 基于cuda的剂量计算优化方法和系统 |
CN201681385U (zh) * | 2010-04-22 | 2010-12-22 | 周晓辉 | 一种基于gpu的文本数据挖掘系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102682138A (zh) | 2012-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Hong-Tao et al. | K-means on commodity GPUs with CUDA | |
CN101901042B (zh) | 多gpu系统中基于动态任务迁移技术的降功耗方法 | |
CN101894358A (zh) | 图像形成技术 | |
CN104182571B (zh) | 基于Delaunay和GPU的Kriging插值方法 | |
CN109159425A (zh) | 三维模型的切片方法及三维打印装置 | |
CN109191364A (zh) | 加速人工智能处理器的硬件架构 | |
CN103439743A (zh) | 一种地震数据剖面图形绘制方法 | |
CN102853763A (zh) | 一种不规则表面文物体积的测量方法 | |
CN102682138B (zh) | 一种数据处理方法 | |
CN108319224A (zh) | 一种基于径向曲线插值的多轴数控加工螺旋路径生成方法 | |
CN102880509A (zh) | 基于cuda的格网数字高程模型邻域分析的系统和方法 | |
CN109416755A (zh) | 人工智能并行处理方法、装置、可读存储介质、及终端 | |
CN105447284B (zh) | 一种工艺余量的添加方法 | |
CN101877145B (zh) | 基于质量因子的复杂平表面网格预剖分方法 | |
CN109472734B (zh) | 一种基于fpga的目标检测网络及其实现方法 | |
CN109767492A (zh) | 一种变电站三维模型的间距计算方法 | |
CN109313723A (zh) | 人工智能卷积处理方法、装置、可读存储介质、及终端 | |
CN103745020A (zh) | 一种处理数据系统 | |
CN105447848A (zh) | 地块面状空间数据按照设定面积和示意线平行分割的方法 | |
KR20110073361A (ko) | 병렬의 벡터화된 gjk 그래픽 처리 | |
CN102681903B (zh) | 一种数据处理方法和系统 | |
CN115756605A (zh) | 一种基于多gpu的浅积云对流参数化方案异构计算方法 | |
CN103543694A (zh) | 一种基于嵌入式智能终端的数控车削加工仿真方法 | |
CN102467233A (zh) | 电脑输入装置的三维控制装置及其方法 | |
CN102955686B (zh) | 一种N‑body问题近程作用计算在GPU结构的优化映射方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |