The invention discloses a data processing method and device based on multithreaded parallel astronomy software Gridding, which is applied to KNL platform. The method includes: sorting processing arrays; dividing sorted processing arrays into preset number of sub-arrays, and allocating each sub-array to its corresponding one through OpenMP. One thread; each thread calculates its respective subarrays and stores the calculation results in its respective local grid arrays; all threads are used to serially combine their respective local grid numbers into the image grid arrays; the invention combines OpenM with the existing MPI multi-processes. P realizes the parallel computation of multi-process and multi-threading on the KNL platform by the Gridding program, which improves the computing performance, solves the write conflict problem of multi-threading data processing in the Gridding program, and improves the user experience.
【技术实现步骤摘要】
一种天文学软件Gridding的数据处理方法及装置
本专利技术涉及计算机信息
,特别涉及一种基于多线程并行的天文学软件Gridding的数据处理方法及装置。
技术介绍
Gridding程序是SKA(SquareKilometerArray,平方公里阵列)项目中科学数据处理模块中的重要一环,是此模块中计算量最大的应用之一。作为FFT(FastFourierTransformation,快速傅里叶变换)执行前的环节,Gridding程序需要将待处理数组(Samples)的数据点转换到规则的网格点上。其实现方式是:首先将(u,v)平面的离散成像点取样,这一过程就形成了由一系列Diracdelta方程组成的成像函数,将这一函数与一个有限长度的内核做卷积,此函数就转变成为一个过滤函数,从而将离散的点转换到规则的网格点上。Gridding程序的计算量随着Samples的数据点个数的增加而增加,同时也与卷积内核函数的长度成正比。现有技术中,Gridding程序是基于MPI(MessagePassingInterface,消息传递接口)多进程实现的,并且主要是针对CPU平台实现的并行程序设计,使得Gridding程序只针对CPU平台实现了并行程度设计,且每个进程只有一个线程进行数据处理,没有充分利用处理器多线程功能。因此,在众核处理器计算性能得到高速的发展的今天,如何使Gridding程序在KNL(KnightsLanding,Intel发布的一款众核处理器代号)平台上进行多进程+多线程的并行化计算,是现今急需解决的问题。
技术实现思路
本专利技术的目的是提供一种基于多 ...
【技术保护点】
1.一种基于多线程并行的天文学软件Gridding的数据处理方法,应用于KNL平台,其特征在于,包括:对待处理数组进行排序;将排序后的待处理数组分割成预设数量的子数组,并通过OpenMP将每个所述子数组分配到各自对应的一个线程;利用每个所述线程对各自对应的子数组进行计算,并将计算结果存储在各自对应的局部网格数组中;利用全部所述线程以串行方式将各自对应的局部网格数组合并到图像网格数组中。
【技术特征摘要】
1.一种基于多线程并行的天文学软件Gridding的数据处理方法,应用于KNL平台,其特征在于,包括:对待处理数组进行排序;将排序后的待处理数组分割成预设数量的子数组,并通过OpenMP将每个所述子数组分配到各自对应的一个线程;利用每个所述线程对各自对应的子数组进行计算,并将计算结果存储在各自对应的局部网格数组中;利用全部所述线程以串行方式将各自对应的局部网格数组合并到图像网格数组中。2.根据权利要求1所述的基于多线程并行的天文学软件Gridding的数据处理方法,其特征在于,所述对待处理数组进行排序,包括:按照所述待处理数组中的每个数据点的坐标大小,对所述待处理数组进行排序。3.根据权利要求2所述的基于多线程并行的天文学软件Gridding的数据处理方法,其特征在于,所述利用每个所述线程对各自对应的子数组进行计算,并将计算结果存储在各自对应的局部网格数组中之前,还包括:利用每个所述线程根据各自对应的子数组中第一个数据点和最后一个数据点的垂直坐标,确定各自对应的局部网格数组的内存空间;在所述KNL平台上的MCDRAM上开辟所述内存空间。4.根据权利要求3所述的基于多线程并行的天文学软件Gridding的数据处理方法,其特征在于,所述利用每个所述线程对各自对应的子数组进行计算,包括:利用每个所述线程利用所述KNL平台上的AVX512指令集进行向量化操作。5.根据权利要求1至4任一项所述的基于多线程并行的天文学软件Gridding的数据处理方法,其特征在于,所述利用每个所述线程对各自对应的子数组进行计算,包括:利用每个所述线程计算各自对应的子数组中的当前数据点之前,在内存中预取计算所述当前数据点之后...
【专利技术属性】
技术研发人员:赵旭东,景璐,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。