[发明专利]一种利用MPI的NumPy优化方法及系统有效
申请号: | 202110062370.8 | 申请日: | 2021-01-18 |
公开(公告)号: | CN113515365B | 公开(公告)日: | 2023-10-03 |
发明(设计)人: | 梁嘉迪;杜云飞;卢宇彤;肖侬 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/38;G06F9/54;G06F15/173 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 张金福 |
地址: | 510260 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 mpi numpy 优化 方法 系统 | ||
本发明为克服现有技术中NumPy在集群和多核计算环境下的性能不理想、兼容性差的缺陷,提出一种利用MPI的NumPy优化方法及系统,其根据集群和/或主机中CPU的使用情况,对集群和/或主机中的CPU资源进行分配;采用MPI进行数据交换通信,根据当前两个进程所绑定的CPU核心的物理位置,或根据主机间连接的网络方式,选择当前两个进程之间的通信方式;确定当前计算节点需要并行实现的NumPy方法,选择当前计算节点中NumPy方法的具体实现方式,包括使用线性代数计算库IntelMKL连接NumPy进行并行计算、使用OpenBLAS连接NumPy进行并行计算,或使用Cython进行并行计算。
技术领域
本发明涉及计算机并行计算技术领域,更具体地,涉及一种利用MPI的NumPy优化方法及系统。
背景技术
NumPy(Numerical Python)是Python语言的一个矩阵及多维数组计算库。它使用C实现各算法中的核心计算部分,使得它的运行效率可以达到编译语言的水平。它还可以通过连接BLAS(Basic Linear Algebra Subprograms,基础线性代数子程序库)与LAPACK(Linear Algebra PACKage,线性数学库)以进一步提升线性代数运算的性能。NumPy的常用领域包括科学计算、机器学习、数据分析、数据可视化等,而这些领域对性能的需求日渐提高,NumPy是一个串行计算的计算库,并行计算是提升NumPy性能的一种有效思路。
目前应用于提升NumPy性能的方法有CuPy框架、GAiN框架和Dask框架。其中,CuPy是利用Nvidia公司的CUDA(Compute Unified Device Architecture)架构实现利用GPU对NumPy加速的框架,这个框架利用了GPU在矩阵计算时的性能优势,在高吞吐量的场景下获得了良好的性能。不过此框架并未对多核心CPU进行针对性优化,在沒有Nvidia的GPU的情况下并不能获得良好的加速,使用的硬件受到较大的限制。
GAiN是一个基于以C实现的分布式数组计算框架Global Arrays。由于GlobalArrays是针对通用的C数组进行设计的,额外的多层抽象为GAiN带来了大量的额外开销,使得其性能并不理想。
Dask是一个使用Master/Worker架构对数据进行并行处理的计算框架,其中提供了一组与NumPy基本一致的API(Application Programming Interface,应用程序接口),它主要针对的是数据量比內存空间还要大的应用场景。它在计算节点间只能通过TCP协议(Transmission Control Protocol,传输控制协议)进行数据交换,使得跨节点的数据访问延迟较高。它使用的Master/Worker架构虽然为应用带来了更好的可用性,但也会带来不少的额外开销,而且它并沒有对NumPy实现完整的兼容。
发明内容
本发明为克服上述现有技术中NumPy在集群和多核计算环境下的性能不理想、兼容性差的缺陷,提供一种利用MPI的NumPy优化方法,以及一种利用MPI的NumPy优化系统。
为解决上述技术问题,本发明的技术方案如下:
一种利用MPI的NumPy优化方法,包括以下步骤:
S1:根据集群和/或主机中CPU的使用情况,对集群和/或主机中的CPU资源进行分配;
S2:采用MPI进行数据交换通信,根据当前两个进程所绑定的CPU核心的物理位置,或根据主机间连接的网络方式,选择当前两个进程之间的通信方式;
S3:确定当前计算节点需要并行实现的NumPy方法,选择当前计算节点中NumPy方法的具体实现方式,包括使用线性代数计算库IntelMKL连接NumPy进行并行计算、使用OpenBLAS连接NumPy进行并行计算,或使用Cython进行并行计算。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110062370.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种车轮成型油压机垫板挡圈的堆放装置
- 下一篇:图像形成装置以及控制方法