CN111352738A - 一种在高性能服务器上运行wrf时的优化方法与系统 - Google Patents
一种在高性能服务器上运行wrf时的优化方法与系统 Download PDFInfo
- Publication number
- CN111352738A CN111352738A CN202010132545.3A CN202010132545A CN111352738A CN 111352738 A CN111352738 A CN 111352738A CN 202010132545 A CN202010132545 A CN 202010132545A CN 111352738 A CN111352738 A CN 111352738A
- Authority
- CN
- China
- Prior art keywords
- wrf
- optimization
- library
- decomposition
- omp
- 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.)
- Granted
Links
- 238000005457 optimization Methods 0.000 title claims abstract description 111
- 238000000034 method Methods 0.000 title claims abstract description 94
- 230000008569 process Effects 0.000 claims abstract description 54
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 50
- 238000009434 installation Methods 0.000 claims abstract description 34
- 230000001419 dependent effect Effects 0.000 claims abstract description 21
- 238000004590 computer program Methods 0.000 claims description 12
- 230000001133 acceleration Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 abstract description 14
- 230000008901 benefit Effects 0.000 abstract description 6
- 238000011160 research Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Images
Classifications
-
- 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
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种在高性能服务器上运行WRF时的优化方法与系统,本发明使用模块化自动安装WRF依赖库,可以在安装时自主选择所需要的编译器及需要安装的依赖库,解决了在WRF编译安装中经常出现的依赖库出错问题;使用进程与线程相结合的方法,同时进行并行计算,充分利用了高性能运算的优势;为了加快运算速度,在区域分解优化方法时,使用python程序找到更适合的区域分解最优解,从而很大程度上提升了工作效率。本发明可令该程序能够在相应的平台下充分发挥多核处理器的计算性能,为天气预报中数值模式预报提供了新的解决方案和有效的技术支持。
Description
技术领域
本发明涉及高性能计算技术领域,特别是一种在高性能服务器上运行WRF时的优化方法与系统。
背景技术
高性能计算通过应用超级计算机与并行处理技术解决复杂的计算问题,是信息技术发展比较迅猛的领域之一。气象应用始终是高性能计算的重要领域,高性能计算技术有效解决了高分辨率、高精度气象数值预报模式发展限制,在气象预报预测业务中发挥着核心支撑作用。数十年以来,由于数值天气模式研究和业务运行对计算资源的强烈需求,国内外气象领域高性能计算机及应用迅速发展起来。气象领域对于高性能计算能力以及系统的可靠性需求日益提升。高性能计算技术将与气象预报应用日益融合,相互影响促进,不断创新发展。为满足气象预报预测业务和科研工作需求,中国气象部分将进一步提升高性能计算能力,并致力于优化集约高性能计算系统布局,高校管理计算资源,发挥最大效益。
中尺度大气模式WRF(Weather Researh and Forecasting model,天气预报模式)是由美国大气研究中心(NCAR)、美国大气海洋局(NOAA)和美国空间气象局(AFWA)等共同开发的是新一代中尺度数值预报系统,它的设计目的是用于业务天气预报和大气研究需要。WRF模式可应用于数值天气预报的研究与业务化、物理参数化方案研究、数据同化、驱动空气质量模式、中小尺度气候模拟以及海洋大气模式的耦合等。在天气预报业务化研究和科学研究的过程中,能够快速、高效的对WRF模式选择最优化的设置,对于提高数值预报的效率有很重要的研究意义。
目前关于WRF一般都是在高性能计算集群上进行预报,因此在预报过程中我们需要考虑到IO、计算节点的通讯、CPU、内存带宽等情况来进行计算效率的分析和优化。对于WRF可以进行的优化方法有很多,有基于模式本身的一些参数化方案(物理参数)的优化,有的物理模块甚至提供了GPU加速的支持,有基于计算算法的优化研究,有一些基于高性能集群本身的一些IO优化、通讯优化、线程优化等。在众多优化方法中,有研究曾经指出,在namelist文件中,有一个nproc参数,对于WRF的效率有很重要的影响。当区域分解时(nproc=nproc_x*nproc_y),nproc_x参数(区域分解时,指定x方向上的线程数)较小时,WRF效率最高。并指明,当核数确定时,可以从nproc_x较小的尝试,最终选择出效率最高的一个。
但上述方法存在的缺点是:随着科学技术的发展,当现在的服务器出现双路、四路,甚至八路以及之后CPU数量更多的服务器时,可以选择的CPU核数会越来越多。以一台Intel AP系列的服务器为例,Intel AP服务器96个核,即使从nproc_x较小的进行尝试,要找出最优的分解方案也会花费很长时间。更何况,还需要结合OMP(OpenMP,一种用于共享内存并行系统的多线程程序设计方案)线程加速,当OMP选择不同的值时,都要进行最优分解方案的选择。
发明内容
本发明的目的是提供一种在高性能服务器上运行WRF时的优化方法与系统,旨在解决现有技术中WRF运行效率低的问题,实现大幅提高优化的工作效率,能够在相应的平台下充分发挥多核处理器的计算性能。
为达到上述技术目的,本发明提供了一种在高性能服务器上运行WRF时的优化方法,所述方法包括以下操作:
编译前优化,对编译选项以及IO进行优化;所述编译选项的优化具体为在编译时选择dm+sm方式,并在执行配置命令后,根据平台和编译器中的设置,在CFLAGS_LOCAL选项和FCOPTIM选项中设置添加优化加速的参数;所述IO的优化具体为使用模块化自动安装WRF依赖库;
编译后优化,对线程和进程区域分解进行优化;所述线程优化具体为设置支持OMP,并设置OMP的线程数;所述进程区域分解优化具体为根据进程数确定最优的进程区域分解。
优选地,所述WRF运行时使用的库为pnetcdf库。
所述使用模块化自动安装WRF依赖库具体为:
提供WRF安装所需要库的各个安装包,与WRF在同一目录下;
提供安装各个库的脚本文件,该脚本文件提供选择pnetcdf还是netcdf库,并提供与WRF相同的编译器选择设置;
在编译WRF之前,先运行该脚本文件,安装相应的依赖库。
优选地,所述进程区域分解在确定时需满足以下条件:
NP=OMP_NUM_THREADS*TASK
TASK=nprocx*nprocy
nprocx<nprocy
e_we/nproc_x>10
e_sn/nproc_y>10
其中,NP为进程数,OMP_NUM_THREADS为线程数,nprocx和nprocy分别为进程区域分解,e_we/nproc_x为X方向最小分解尺寸,e_sn/nproc_y为Y方向最小分解尺寸。
本发明还提供了一种在高性能服务器上运行WRF时的优化系统,所述系统包括:
编译前优化模块,用于对编译选项以及IO进行优化;所述编译选项的优化具体为在编译时选择dm+sm方式,并在执行配置命令后,根据平台和编译器中的设置,在CFLAGS_LOCAL选项和FCOPTIM选项中设置添加优化加速的参数;所述IO的优化具体为使用模块化自动安装WRF依赖库;
编译后优化模块,用于对线程和进程区域分解进行优化;所述线程优化具体为设置支持OMP,并设置OMP的线程数;所述进程区域分解优化具体为根据进程数确定最优的进程区域分解。
优选地,所述WRF运行时使用的库为pnetcdf库。
优选地,所述进程区域分解在确定时需满足以下条件:
NP=OMP_NUM_THREADS*TASK
TASK=nprocx*nprocy
nprocx<nprocy
e_we/nproc_x>10
e_sn/nproc_y>10
其中,NP为进程数,OMP_NUM_THREADS为线程数,nprocx和nprocy分别为进程区域分解,e_we/nproc_x为X方向最小分解尺寸,e_sn/nproc_y为Y方向最小分解尺寸。
本发明还提供了一种在高性能服务器上运行WRF时的优化设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现所述的在高性能服务器上运行WRF时的优化方法。
本发明还提供了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现所述的在高性能服务器上运行WRF时的优化方法。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
与现有技术相比,本发明使用模块化自动安装WRF依赖库,可以在安装时自主选择所需要的编译器及需要安装的依赖库,解决了在WRF编译安装中经常出现的依赖库出错问题;使用进程与线程相结合的方法,同时进行并行计算,充分利用了高性能运算的优势;为了加快运算速度,在区域分解优化方法时,使用python程序找到更适合的区域分解最优解,从而很大程度上提升了工作效率。本发明可令该程序能够在相应的平台下充分发挥多核处理器的计算性能,为天气预报中数值模式预报提供了新的解决方案和有效的技术支持。
附图说明
图1为本发明实施例中所提供的一种在高性能服务器上运行WRF时的优化方法流程图;
图2为本发明实施例中所提供的一种WRF优化的主要工作流程图;
图3为本发明实施例中所提供的一种寻找最优解的python程序流程图;
图4为本发明实施例中所提供的一种在高性能服务器上运行WRF时的优化系统框图。
具体实施方式
为了能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
下面结合附图对本发明实施例所提供的一种在高性能服务器上运行WRF时的优化方法与系统进行详细说明。
如图1、2所示,本发明公开了一种在高性能服务器上运行WRF时的优化方法,所述方法包括以下操作:
编译前优化,对编译选项以及IO进行优化;所述编译选项的优化具体为在编译时选择dm+sm方式,并在执行configure命令后,根据平台和编译器中的设置,在CFLAGS_LOCAL和FCOPTIM中设置添加优化加速的参数;所述IO的优化具体为使用模块化自动安装WRF依赖库;
编译后优化,对线程和进程区域分解进行优化;所述线程优化具体为设置支持OMP,并设置OMP的线程数;所述进程区域分解优化具体为根据进程数确定最优的进程区域分解。
本发明实施例通过选择出WRF的各个优化方法,并根据优化方法将其按照编译前后的操作顺序分为编译前优化和编译后优化,分别对编译前的优化进行模块化设置,在编译后优化的线程加速和进程区域分解优化时,给定算法设计,使得只需要输入最终需要的CPU核心数,就能确定1到2个最优解,再使用确定的1到2个最优解运行测试,选择出最终的最优解。
对于编译前优化,包括编译选项以及IO的优化,编译选项的优化主要涉及对不同平台的优化,IO的优化主要为pnetcdf库的优化。
对于编译选项的优化,目前WRF对每个编译器和平台都给出了合适的参数设计,但是选择使用的平台并不一定与所给定的一直,因此需要进行适当的修改。由于需要在后期使用OMP的优化,因此不管哪种平台以及哪种编译器,在编译时都要选择dm+sm的方式,即支持OMP和线程的方式来进行编译,才会在编译参数中自动添加OMP的支持。当执行configure命令后,在configure.wrf中根据平台和编译器中的设置,在CFLAGS_LOCAL和FCOPTIM中设置添加可以进行优化加速的参数,从而达到平台和编译器优化的效果。
对于IO的优化,正常情况下,WRF的运行使用的是netcdf库,但是当使用netcdf库时,会发现当WRF计算结束,进行读写文件时,不能并行读写文件,因此读写文件会耗费很多的时间,因此在本发明实施例中使用pnetcdf的库可以较大的缩短IO的时间,从而进行了IO的优化。Pnetcdf库的安装会涉及到很多的软件库,同时需要安装zlib库、hdf5、netcdf4-c和netcdf4-fortran,并且在安装时需要hdf5、netcdf-c和netcdf-fortran库都需要支持并行服务,即hdf5在编译时需要加参数--enable-parallel,而netcdf-c和netcdf-fortran在编译时则需要添加参数--enable-pnetcdf--enable-parallel-tests。除了这些参数之外,还有很多netcdf库安装时的参数设置,并且各个库之间都存在着依赖关系。在本发明实施例中使用模块化自动安装WRF依赖库,可以在安装时自主选择所需要的编译器及需要安装的依赖库。通过提供WRF安装所需要库的各个安装包,与WRF在同一目录下,命名为src_external文件,并提供了安装各个库的脚本文件netcdf.sh,该脚本文件提供了选择pnetcdf还是netcdf库,并提供了与WRF相同的编译器选择设置。在编译WRF之前,先运行该脚本文件(netcdf.h),安装好适合的pnetcdf库,为WRF的编译运行做好准备工作。
对于编译后优化,主要包括线程优化和进程区域分解优化。
对于线程优化,必须在编译前优化阶段就要设置支持OMP,即使用dm+sm模式来进行编译。在运行之前,设置OMP的线程数OMP_NUM_THREADS,一般设置为1、2、4、8。由于进程和线程数需要满足NP=OMP_NUM_THREADS*TASK,因此,当使用核心数确定为NP时,相应的进程数也就可以确定了。
对于进程区域分解优化,在确定进程数后,就可以进行进程数区域分解,需满足以下条件:
NP=OMP_NUM_THREADS*TASK
TASK=nprocx*nprocy
nprocx<nprocy
e_we/nproc_x>10
e_sn/nproc_y>10
由此得到nprocx以及nprocy的最优解,可通过python程序来寻找最优解,如图3所示。
在namelist文件中,需要修改一些参数设置,将其中的一些IO的设置改为11,即支持pnetcdf库,另外添加上述计算所得nprocx以及nprocy的设置。
在有些情况下由上一步的计算可能并不能得到唯一解,但是可以排除掉一些选项,不需要再单独的对每一种可能都进行测试,这时可以通过运行WRF,看运行时间再进行进一步的排除,从而得到最佳优化方案。
本发明实施例使用模块化自动安装WRF依赖库,可以在安装时自主选择所需要的编译器及需要安装的依赖库,解决了在WRF编译安装中经常出现的依赖库出错问题;使用进程与线程相结合的方法,同时进行并行计算,充分利用了高性能运算的优势;为了加快运算速度,在区域分解优化方法时,使用python程序找到更适合的区域分解最优解,从而很大程度上提升了工作效率。本发明可令该程序能够在相应的平台下充分发挥多核处理器的计算性能,为天气预报中数值模式预报提供了新的解决方案和有效的技术支持。
如图4所示,本发明实施例还公开了一种在高性能服务器上运行WRF时的优化系统,所述系统包括:
编译前优化模块,用于对编译选项以及IO进行优化;所述编译选项的优化具体为在编译时选择dm+sm方式,并在执行configure命令后,根据平台和编译器中的设置,在CFLAGS_LOCAL和FCOPTIM中设置添加优化加速的参数;所述IO的优化具体为使用模块化自动安装WRF依赖库;
编译后优化模块,用于对线程和进程区域分解进行优化;所述线程优化具体为设置支持OMP,并设置OMP的线程数;所述进程区域分解优化具体为根据进程数确定最优的进程区域分解。
对于编译前优化,包括编译选项以及IO的优化,编译选项的优化主要涉及对不同平台的优化,IO的优化主要为pnetcdf库的优化。
对于编译选项的优化,目前WRF对每个编译器和平台都给出了合适的参数设计,但是选择使用的平台并不一定与所给定的一直,因此需要进行适当的修改。由于需要在后期使用OMP的优化,因此不管哪种平台以及哪种编译器,在编译时都要选择dm+sm的方式,即支持OMP和线程的方式来进行编译,才会在编译参数中自动添加OMP的支持。当执行configure命令后,在configure.wrf中根据平台和编译器中的设置,在CFLAGS_LOCAL和FCOPTIM中设置添加可以进行优化加速的参数,从而达到平台和编译器优化的效果。
对于IO的优化,正常情况下,WRF的运行使用的是netcdf库,但是当使用netcdf库时,会发现当WRF计算结束,进行读写文件时,不能并行读写文件,因此读写文件会耗费很多的时间,因此在本发明实施例中使用pnetcdf的库可以较大的缩短IO的时间,从而进行了IO的优化。Pnetcdf库的安装会涉及到很多的软件库,同时需要安装zlib库、hdf5、netcdf4-c和netcdf4-fortran,并且在安装时需要hdf5、netcdf-c和netcdf-fortran库都需要支持并行服务,即hdf5在编译时需要加参数--enable-parallel,而netcdf-c和netcdf-fortran在编译时则需要添加参数--enable-pnetcdf--enable-parallel-tests。除了这些参数之外,还有很多netcdf库安装时的参数设置,并且各个库之间都存在着依赖关系。在本发明实施例中使用模块化自动安装WRF依赖库,可以在安装时自主选择所需要的编译器及需要安装的依赖库。通过提供WRF安装所需要库的各个安装包,与WRF在同一目录下,命名为src_external文件,并提供了安装各个库的脚本文件netcdf.sh,该脚本文件提供了选择pnetcdf还是netcdf库,并提供了与WRF相同的编译器选择设置。在编译WRF之前,先运行该脚本文件(netcdf.h),安装好适合的pnetcdf库,为WRF的编译运行做好准备工作。
对于编译后优化,主要包括线程优化和进程区域分解优化。
对于线程优化,必须在编译前优化阶段就要设置支持OMP,即使用dm+sm模式来进行编译。在运行之前,设置OMP的线程数OMP_NUM_THREADS,一般设置为1、2、4、8。由于进程和线程数需要满足NP=OMP_NUM_THREADS*TASK,因此,当使用核心数确定为NP时,相应的进程数也就可以确定了。
对于进程区域分解优化,在确定进程数后,就可以进行进程数区域分解,需满足以下条件:
NP=OMP_NUM_THREADS*TASK
TASK=nprocx*nprocy
nprocx<nprocy
e_we/nproc_x>10
e_sn/nproc_y>10
由此得到nprocx以及nprocy的最优解,可通过python程序来寻找最优解。
在namelist文件中,需要修改一些参数设置,将其中的一些IO的设置改为11,即支持pnetcdf库,另外添加上述计算所得nprocx以及nprocy的设置。
在有些情况下由上一步的计算可能并不能得到唯一解,但是可以排除掉一些选项,不需要再单独的对每一种可能都进行测试,这时可以通过运行WRF,看运行时间再进行进一步的排除,从而得到最佳优化方案。
本发明实施例还公开了一种在高性能服务器上运行WRF时的优化设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现所述的在高性能服务器上运行WRF时的优化方法。
本发明实施例还公开了一种可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现所述的在高性能服务器上运行WRF时的优化方法。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种在高性能服务器上运行WRF时的优化方法,其特征在于,所述方法包括以下操作:
编译前优化,对编译选项以及IO进行优化;所述编译选项的优化具体为在编译时选择dm+sm方式,并在执行配置命令后,根据平台和编译器中的设置,在CFLAGS_LOCAL选项和FCOPTIM选项中设置添加优化加速的参数;所述IO的优化具体为使用模块化自动安装WRF依赖库;
编译后优化,对线程和进程区域分解进行优化;所述线程优化具体为设置支持OMP,并设置OMP的线程数;所述进程区域分解优化具体为根据进程数确定最优的进程区域分解。
2.根据权利要求1所述的一种在高性能服务器上运行WRF时的优化方法,其特征在于,所述WRF运行时使用的库为pnetcdf库。
3.根据权利要求1所述的一种在高性能服务器上运行WRF时的优化方法,其特征在于,所述使用模块化自动安装WRF依赖库具体为:
提供WRF安装所需要库的各个安装包,与WRF在同一目录下;
提供安装各个库的脚本文件,该脚本文件提供选择pnetcdf还是netcdf库,并提供与WRF相同的编译器选择设置;
在编译WRF之前,先运行该脚本文件,安装相应的依赖库。
4.根据权利要求1所述的一种在高性能服务器上运行WRF时的优化方法,其特征在于,所述进程区域分解在确定时需满足以下条件:
NP=OMP_NUM_THREADS*TASK
TASK=nprocx*nprocy
nprocx<nprocy
e_we/nproc_x>10
e_sn/nproc_y>10
其中,NP为进程数,OMP_NUM_THREADS为线程数,nprocx和nprocy分别为进程区域分解,e_we/nproc_x为X方向最小分解尺寸,e_sn/nproc_y为Y方向最小分解尺寸。
5.一种在高性能服务器上运行WRF时的优化系统,其特征在于,所述系统包括:
编译前优化模块,用于对编译选项以及IO进行优化;所述编译选项的优化具体为在编译时选择dm+sm方式,并在执行配置命令后,根据平台和编译器中的设置,在CFLAGS_LOCAL选项和FCOPTIM选项中设置添加优化加速的参数;所述IO的优化具体为使用模块化自动安装WRF依赖库;
编译后优化模块,用于对线程和进程区域分解进行优化;所述线程优化具体为设置支持OMP,并设置OMP的线程数;所述进程区域分解优化具体为根据进程数确定最优的进程区域分解。
6.根据权利要求5所述的一种在高性能服务器上运行WRF时的优化系统,其特征在于,所述WRF运行时使用的库为pnetcdf库。
7.根据权利要求5所述的一种在高性能服务器上运行WRF时的优化系统,其特征在于,所述进程区域分解在确定时需满足以下条件:
NP=OMP_NUM_THREADS*TASK
TASK=nprocx*nprocy
nprocx<nprocy
e_we/nproc_x>10
e_sn/nproc_y>10
其中,NP为进程数,OMP_NUM_THREADS为线程数,nprocx和nprocy分别为进程区域分解,e_we/nproc_x为X方向最小分解尺寸,e_sn/nproc_y为Y方向最小分解尺寸。
8.一种在高性能服务器上运行WRF时的优化设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序,以实现根据权利要求1至3任一项所述的在高性能服务器上运行WRF时的优化方法。
9.一种可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现根据权利要求1至3任一项所述的在高性能服务器上运行WRF时的优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010132545.3A CN111352738B (zh) | 2020-02-29 | 2020-02-29 | 一种在高性能服务器上运行wrf时的优化方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010132545.3A CN111352738B (zh) | 2020-02-29 | 2020-02-29 | 一种在高性能服务器上运行wrf时的优化方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111352738A true CN111352738A (zh) | 2020-06-30 |
CN111352738B CN111352738B (zh) | 2022-08-12 |
Family
ID=71192430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010132545.3A Active CN111352738B (zh) | 2020-02-29 | 2020-02-29 | 一种在高性能服务器上运行wrf时的优化方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111352738B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049245A (zh) * | 2012-10-25 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种基于cpu多核平台的软件性能优化方法 |
US9274771B1 (en) * | 2014-09-22 | 2016-03-01 | Oracle International Corporation | Automated adaptive compiler optimization |
CN110648768A (zh) * | 2019-08-21 | 2020-01-03 | 成都信息工程大学 | 一种pom海洋模式优化方法及装置 |
-
2020
- 2020-02-29 CN CN202010132545.3A patent/CN111352738B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049245A (zh) * | 2012-10-25 | 2013-04-17 | 浪潮电子信息产业股份有限公司 | 一种基于cpu多核平台的软件性能优化方法 |
US9274771B1 (en) * | 2014-09-22 | 2016-03-01 | Oracle International Corporation | Automated adaptive compiler optimization |
CN110648768A (zh) * | 2019-08-21 | 2020-01-03 | 成都信息工程大学 | 一种pom海洋模式优化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111352738B (zh) | 2022-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190325307A1 (en) | Estimation of resources utilized by deep learning applications | |
US11061731B2 (en) | Method, device and computer readable medium for scheduling dedicated processing resource | |
US20180095738A1 (en) | Method, device, and system for creating a massively parallilized executable object | |
CN108509270B (zh) | 一种国产申威26010众核处理器上K-means算法的高性能并行实现方法 | |
KR20120123127A (ko) | 이종 플랫폼에서 포인터를 공유시키는 방법 및 장치 | |
CN107451062B (zh) | 一种用户界面遍历测试方法、装置、服务器、存储介质 | |
CN108920412B (zh) | 针对异构计算机体系结构的算法自动调优方法 | |
US20140068581A1 (en) | Optimized division of work among processors in a heterogeneous processing system | |
CN109978171B (zh) | 一种基于云计算的Grover量子仿真算法优化方法 | |
CN111625289B (zh) | 应用程序快速启动方法、装置和电子设备 | |
US20110131554A1 (en) | Application generation system, method, and program product | |
CN111338657A (zh) | 一种基于模板的helm参数批量配置方法 | |
CN111352738B (zh) | 一种在高性能服务器上运行wrf时的优化方法与系统 | |
CN106844024B (zh) | 一种自学习运行时间预测模型的gpu/cpu调度方法及系统 | |
CN110928659B (zh) | 一种具有自适应功能的数值水池系统远程多平台接入方法 | |
He et al. | HOME: A holistic GPU memory management framework for deep learning | |
CN117093335A (zh) | 分布式存储系统的任务调度方法及装置 | |
Neelima et al. | Communication and computation optimization of concurrent kernels using kernel coalesce on a GPU | |
CN114020454A (zh) | 一种内存管理方法、装置、设备及介质 | |
CN110046132B (zh) | 一种元数据请求处理方法、装置、设备及可读存储介质 | |
CN102981805B (zh) | 串行软件的响应方法和系统 | |
US20240045692A1 (en) | Instruction set architecture for data processing array control | |
CN111026463A (zh) | 一种页面加载方法、装置、设备和存储介质 | |
CN113110879B (zh) | 指令处理方法及装置 | |
CN116980423B (zh) | 模型调度方法、装置、计算系统、设备及可读存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |