CN107122243B - 用于cfd仿真计算的异构集群系统及计算cfd任务的方法 - Google Patents

用于cfd仿真计算的异构集群系统及计算cfd任务的方法 Download PDF

Info

Publication number
CN107122243B
CN107122243B CN201710237699.7A CN201710237699A CN107122243B CN 107122243 B CN107122243 B CN 107122243B CN 201710237699 A CN201710237699 A CN 201710237699A CN 107122243 B CN107122243 B CN 107122243B
Authority
CN
China
Prior art keywords
cfd
tasks
hardware accelerator
task
task block
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
Application number
CN201710237699.7A
Other languages
English (en)
Other versions
CN107122243A (zh
Inventor
朱兆生
吴健明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Yuansuan Technology Co ltd
Original Assignee
Hangzhou Far Count Technology Co Ltd
Zhejiang Far Count Cloud Computing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Far Count Technology Co Ltd, Zhejiang Far Count Cloud Computing Co Ltd filed Critical Hangzhou Far Count Technology Co Ltd
Priority to CN201710237699.7A priority Critical patent/CN107122243B/zh
Publication of CN107122243A publication Critical patent/CN107122243A/zh
Application granted granted Critical
Publication of CN107122243B publication Critical patent/CN107122243B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供了一种用于CFD仿真计算的异构集群系统及CFD计算方法,其中所述用于CFD仿真计算的异构集群系统包括:中央处理器(CPU)和硬件加速器,其中:所述CPU,用于将接收到的CFD任务划分为任务块,根据所述CFD任务的属性、CFD边界条件以及所述硬件加速器的性能参数确定计算所述任务块的硬件加速器,并将所述任务块发送给所述硬件加速器;所述硬件加速器,用于接收并计算所述CPU发送的任务块,并将计算结果发送给所述CPU。通过构建集成CPU、GPU和FPGA的异构集群系统,根据CFD任务的属性智能化的调配计算资源,解决了目前CFD仿真的运算瓶颈问题,提高了CFD应用的运行效率。

Description

用于CFD仿真计算的异构集群系统及计算CFD任务的方法
技术领域
本发明涉及仿真技术领域,尤其涉及一种用于计算流体力学(ComputationalFluid Dynamics,CFD)仿真计算的异构集群系统及计算CFD任务的方法。
背景技术
计算流体力学(Computational Fluid Dynamics,CFD)是使用计算机和离散化的数值方法对流体力学问题进行数值模拟和分析的科学技术,是流体力学当代新兴的一个分支学科。随着计算技术与计算机技术的迅猛发展,CFD技术已经应用到国民生产的各个方面,尤其是在航空航天、汽车、船舶、水利等领域应用十分广泛,是工程应用和产品设计中非常重要的辅助工具。
工业仿真技术作为工业生产和制造中必不可少的首要环节,已经被广泛地应用到工业各个领域中。随着智能制造、工业4.0和工业互联网等新一轮工业革命的兴起,工业仿真的需求日益强烈,工程师与设计师们对仿真的精密度要求也越来越高,这对CFD仿真的效率和性能提出了更高的要求。
目前,CFD应用普遍运行在基于X86架构的因特尔(intel)中央处理器(CentralProcessing Unit,CPU)上,而CPU虽然功能强大,可以完成大部分计算任务,但是其浮点计算能力受到摩尔定律的限制,计算速度较慢,进而耽误研发进程,导致CFD应用的运行效率低下,无法满足工业仿真的要求。
发明内容
本发明提供了一种用于CFD仿真计算的异构集群系统及计算CFD任务的方法,通过构建包括CPU及硬件加速器在内的集成平台,根据任务属性智能化地分配计算任务,解决了目前CFD仿真的运算能力瓶颈问题,提高了CFD应用的运行效率。
本发明实施例提供了一种用于CFD仿真计算的异构集群系统,所述系统包括CPU和硬件加速器,其中:
所述CPU,用于将接收到的CFD任务划分为任务块,根据CFD任务的属性、CFD边界条件以及所述硬件加速器的性能参数确定计算所述任务块的硬件加速器,并将所述任务块发送给所述硬件加速器;所述CFD任务的属性包括优先计算性能或者优先能耗性能,所述CPU根据所述CFD任务的属性使用局部贪心算法为所述任务块调用硬件加速器进行计算;
所述硬件加速器,用于接收并计算所述CPU发送的任务块,并将计算结果发送给所述CPU;所述硬件加速器包括至少一个GPU和至少一个FPGA;所述CFD任务包括高级别任务和普通任务,所述高级别任务优先使用所述GPU进行计算,所述普通任务优先使用所述FPGA进行计算;
若所述CFD任务的属性是优先计算性能,则所述CFD任务的优化目标是计算时间,所述CPU根据CFD边界条件及GPU的性能参数,在所述硬件加速器中优先选择计算时间较短的GPU来计算CFD任务中的任务块;或者,若所述CFD任务的属性是优先能耗性能,则所述CFD任务的优化目标是计算能耗,则CPU根据CFD边界条件及FPGA的性能参数,在所述硬件加速器中优先选择计算能耗较低的FPGA来计算CFD任务中的任务块。
本发明实施例另外一个方案中,所述CPU和所述硬件加速器集成设置。
本发明实施例另外一个方案中,所述根据CFD任务的属性、CFD边界条件以及所述硬件加速器的性能参数确定计算所述任务块的硬件加速器,具体包括:
根据所述CFD边界条件以及所述任务块的点、面和网格数量确定所述任务块的计算量,所述计算量包括计算所述任务块的时间和/或能耗;
根据所述CFD任务的属性、所述任务块计算量以及所述硬件加速器的性能参数确定计算所述任务块的硬件加速器。
本发明实施例另外一个方案中,所述CPU接收所述硬件加速器发送的任务块计算结果,并将所述任务块的计算结果合并后发送给NFS服务器进行存储。
本发明实施例另外一个方案中,所述CPU还用于向所述NFS服务器获取CFD前处理工具,并使用所述CFD前处理工具将所述CFD任务划分为任务块。
本发明实施例另外一个方案中,所述CPU还用于向所述NFS服务器获取CFD任务求解应用程序,并将所述CFD任务求解应用程序与所任务块一并发送给所述硬件加速器,以使所述硬件加速器根据所述CFD任务求解应用程序对所述任务块进行计算。
本发明实施例另外一个方案中,所述NFS服务器中存储所述硬件加速器的性能参数,所述CPU还用于向所述NFS服务器读取硬件加速器的性能参数,并存储在所述CPU的内存中。
本发明实施例另外一个方案中,所述CPU包括PBS模块,所述PBS模块用于实现硬件加速器资源的智能调度和任务分发逻辑。
本发明实施例还提供了一种使用前述任一用于CFD仿真计算的异构集群系统计算CFD任务的方法,该方法包括:
接收CFD任务,并将所述CFD任务划分为任务块;
根据CFD任务的属性、CFD边界条件以及硬件加速器的性能参数为所述任务块选择硬件加速器,并将所述任务块发送给所述硬件加速器进行计算;所述CFD任务的属性为优先计算性能或者优先能耗性能,根据所述CFD任务的属性使用局部贪心算法为所述任务块调用硬件加速器进行计算;
接收所述硬件加速器发送的任务块计算结果,并将所述计算结果进行合并。
本发明实施例另外一个方案中,所述根据CFD任务的属性、CFD边界条件以及硬件加速器的性能参数为所述任务块选择硬件加速器包括:
根据所述CFD边界条件以及所述任务块的点、面和网格数量确定所述任务块的计算量,所述计算量包括计算所述任务块的时间和/或能耗;
根据所述CFD任务的属性、所述任务块计算量以及所述硬件加速器的性能参数确定计算所述任务块的硬件加速器。
本发明实施例另外一个方案中,所述方法还包括:从NFS服务器中获取CFD前处理工具,使用所述CFD前处理工具将所述CFD任务划分为所述任务块。
本发明实施例另外一个方案中,所述方法还包括:从所述NFS服务器中获取所述CFD任务的属性、所述CFD边界条件、所述硬件加速器的性能参数,并根据所述CFD任务的属性、所述CFD边界条件以及所述硬件加速器的性能参数为所述任务块选择硬件加速器。
本发明实施例另外一个方案中,将所述合并后的计算结果发送所述NFS服务器进行存储。
本发明实施例另外一个方案中,所述方法还包括:从所述NFS服务器中获取CFD任务求解应用程序,并将所述CFD求解任务程序与所述任务块一并发送给所述硬件加速器,以使所述硬件加速器根据所述CFD任务求解应用程序对所述任务块进行计算。
本发明实施例另外一个方案中,所述硬件加速器包括至少一个GPU和/或至少一个FPGA。
本发明实施例还提供了一种用于CFD仿真计算的异构集群系统,所述系统包括存储器和处理器,其中:
所述存储器,用于存储代码;
所述处理器,用于执行所述存储器中的代码,执行所述存储器中的代码能实施前述计算CFD任务的方法中任一所述的方法步骤。
本发明实施例所提供的用于CFD仿真计算的异构集群系统及计算CFD任务的方法,具有以下有益效果:
(1)系统将中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)和现场可编程门阵列(Field-Programmable Gate Array,FPGA)集成在一起,根据CPU、GPU和FPGA的各自特点与优势,采用便携式批处理系统(PortableBatch System,PBS)模块调度系统根据CFD任务的属性执行不同的调度策略,分配计算任务,并且兼顾GPU和FPGA的性能和能耗,提高计算效率;
(2)系统利用GPU和FPGA强大的运算能力使得CFD性能得到数量级的改进,为用户减少时间成本以及提高生产效率;
(3)在系统中,CPU主要负责CFD任务智能调度以及相关流程的执行,绝大部分浮点运算任务分发给了GPU和FPGA,使得业务逻辑模块和浮点运算模块的分离,让程序计算拥有更强大的拓展性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述汇总所需要使用的附图作简单介绍,显而易见地,下面描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A是本发明实施例所提供用于CFD仿真计算的异构集群系统的第一结构示意图;
图1B是本发明实施例所提供用于CFD仿真计算的异构集群系统的第二结构示意图;
图2是本发明实施例所提供CFD计算方法的第一流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
本发明实施例提供了一种用于CFD仿真计算的异构集群系统,如图1A、图1B所示,包括中央处理器(Central Processing Unit,CPU)1和硬件加速器2,其中硬件加速器2和CPU 1可以集成设置;硬件加速器2可以包括至少一个图形处理器(Graphics ProcessingUnit,GPU)和/或至少一个现场可编程门阵列(Field-Programmable Gate Array,FPGA)。
在本发明实施例中,作为硬件加速器的GPU拥有强大的批处理运算能力、良好的运算性能和处理庞大的运算量的能力,能快速地处理复杂的运算任务;作为硬件加速器的FPGA在绝对计算性能上虽然不如GPU,但是具有低能耗的优点。
在本发明实施例中,由于GPU和FPGA在浮点运算性能方面都要远胜于CPU,因此CPU可以作为逻辑处理单元,仅负责业务的逻辑处理,而不负责具体的计算任务,而GPU和FPGA则作为具体的计算单元,处理具体复杂的计算任务,能大幅提升CFD的运算效率。
在本发明实施例中,CPU具体负责任务计算中的逻辑处理功能,因此可在CPU上集成便携式批处理系统(Portable Batch System,PBS)模块(例如在CPU上烧入PBS软件程序),PBS模块可以看做是一个进行批处理作业和计算机系统资源管理的软件包,可以协助CPU调度硬件加速器的资源。在本发明实施例一个优选的方案中,用于CFD仿真计算的异构集群系统可以看做是基于PBS的一个分支作业系统Torque,从而实现对用于CFD仿真计算的异构集群系统的资源调度。
在本发明实施例中,用于CFD仿真计算的异构集群系统可以基于GPU和FPGA的计算特点和优势,以PBS模块为资源调配系统,搭建CPU、GPU和FPGA三者于一体的软硬件平台,在此平台上还可以部署多区结构网格CFD应用软件,将GPU和FPGA这两种技术引入CFD的运算体系中,构建高性能异构集群系统,具体的:
CPU作为用于CFD仿真计算的异构集群系统的主处理器,而GPU和FPGA则作为加速器;用于CFD仿真计算的异构集群系统的软硬件资源统一由集成在CPU上的PBS模块负责调度管理。进一步的,用于CFD仿真计算的异构集群系统还可以包括系统资源服务器4和网络文件系统(Network File System,NFS)服务器3,其中系统资源服务器4上还可以安装编译器、GPU和FPGA的驱动以及开发环境;在NFS服务器3上还可以设置CFD任务求解应用程序、CFD前处理工具和存储系统空间,其中CFD求解应用程序用来提供CFD计算公式;CFD前处理工具用来对CFD任务进行网格划分;存储系统空间用来存储网络文件,例如CFD任务的计算结果文件、硬件加速器的性能参数等。系统资源服务器4和NFS服务器3可以作为独立的硬件设备设置在网络系统中,也可以与其他设备进行集成。
在本发明实施例中,不同计算节点通过InfiniBand技术连接;计算节点与PBS模块智能资源调配器之间也是通过InfiniBand技术连接;PBS模块作为主节点,负责维护计算资源池、以及根据每个运算资源的浮点计算能力实现资源调配。
在本发明实施例中,PBS模块在执行资源调度任务时,逻辑上可以分为PBS主节点(master)和PBS代理(Agent)功能,每个PBS主节点对应至少一个PBS代理,而每个PBS代理则对应至少一组硬件加速器资源,(至少一个GPU和/或至少一个FPGA),PBS主节点执行PBS模块的主要功能,PBS主节点通过PBS代理调用硬件加速器资源。在本发明实施例一个优选的方案中,PBS模块可以根据CFD任务所被划分的任务块个数通过PBS代理选择一组硬件加速器资源进行计算,例如CFD任务被划分为n个任务块,则选择至少包含n个硬件加速器的PBS代理。在另外一个实施例中,PBS模块也可以通过两个或者两个以上的PBS代理调用至少两组硬件加速器资源来进行计算。
在本发明实施例中,用于CFD仿真计算的异构集群系统包括CPU 1和硬件加速器2,其中:
所述CPU,用于将CFD任务划分为任务块(block),根据所述CFD任务的属性、CFD边界条件以及所述硬件加速器的性能参数确定计算所述任务块的硬件加速器,并将所述任务块发送给所述硬件加速器;
所述硬件加速器,用于接收并计算所述CPU发送的任务块,并将计算结果反馈给所述CPU。
在本发明实施例中,CFD任务是指对指定的模型进行CFD仿真计算,例如对处于风洞中的车辆模型、物体的运动轨迹等。
在本发明实施例中,CFD边界条件是指CFD任务的具体计算指标,例如各项参数,如时间、速度、温度、压强等。
在本发明实施例中,根据所述CFD任务的属性、CFD边界条件以及所述硬件加速器的性能参数确定计算所述任务块的硬件加速器,具体包括:
根据所述CFD边界条件以及所述任务块的点、面和网格数量确定所述任务块的计算量,所述计算量包括计算该任务块所需要的计算和/或能耗;
根据所述CFD任务的属性、所述任务块计算量以及所述硬件加速器的性能参数确定计算所述任务块的硬件加速器。
在本发明实施例中,计算任务块的计算量时还可以参照任务块的其他几何属性,如形状、面积等。进一步的,还可以参照CFD任务的历史参数。
在本发明实施例中,所述CPU和所述硬件加速器可以集成设置,所述硬件加速器包括至少一个GPU和/或至少一个FPGA。
在本发明实施例中,可以将CFD任务分成两类,高级别任务以及普通任务,此任务属性可以由系统设定。对于高级别任务,在算法中会优先使用GPU进行计算;对于普通任务,会优先使用FPGA进行计算。对CFD任务的分类可以有系统预先进行配置。
在本发明实施例中,所述CFD任务的属性包括优先计算性能或者优先能耗性能,根据CFD任务的属性使用调度算法调用硬件加速器进行计算。具体的,若所述CFD任务的属性是优先计算性能,则该CFD任务的优化目标是计算时间,CPU根据CFD边界条件及GPU的性能参数,在所述硬件加速器中优先选择计算时间较短的GPU来计算CFD任务中的任务块;或者,若所述CFD任务的属性是优先能耗性能,则CFD任务的优化目标是计算能耗,则CPU根据CFD边界条件及FPGA的性能参数,在所述硬件加速器中优先选择计算能耗较低的FPGA来计算CFD任务中的任务块。所述GPU的性能参数包括GPU计算任务块所需的计算时间、计算能耗等,所述FPGA的性能参数包括FPGA计算任务块所需的计算时间、计算能耗等。
在本发明实施例中,对于优化目标是计算时间的CFD任务,其划分后的任务块可以优先调用GPU来进行计算,当系统内的GPU全部处于忙碌状态,或者存在其他不能计算的情形时,也可以选用FPGA来对该任务块进行计算;同样的,对于优化目标是计算能耗的的CFD任务,其划分后的任务块可以优先调用FPGA来进行计算,当系统内的FPGA全部处于忙碌状态,或者存在其他不能完成计算任务的情形时,也可以选用GPU来对该任务块进行计算。
需要强调的是:在本发明全部实施例中,PBS模块在为任务块选择硬件加速器资源时,可以使用调度算法,例如局部贪心算法等,为任务块选择合适的硬件加速器。进一步的,在选择时,也可以使用调度算法进行优先选择或者差异化选择,并不局限于某种特定的者选择方式,系统可以根据CFD仿真计算的需要自定义设置。
在本发明实施例中,所述CPU接收所述硬件加速器反馈的任务块计算结果,将所述任务块的计算结果合并后发送给网络文件系统NFS服务器进行存储。
在本发明实施例中,所述CPU还用于向所述NFS服务器获取CFD前处理工具,并使用所述CFD前处理工具将CFD任务划分为任务块,如任务块1、任务块2、……、任务块n,统计每个任务块的点、面、网格、及几何属性。
在本发明实施例中,所述CPU还用于向所述NFS服务器获取任务求解应用程序,并将任务块及任务求解应用程序发送给硬件加速器。
在本发明实施例中,所述NFS服务器中存储所述硬件加速器的性能参数,所述CPU还用于向所述NFS服务器读取硬件加速器的性能参数,并存储在所述CPU的内存中。
在本发明实施例中,所述CPU使用PBS模块为所述任务块选择硬件加速器。
在本发明实施例中,CPU可以获知硬件加速器的负载情况,以及是否处于空闲状态,CPU还可以依据硬件加速器的负载情况以及是否处于空闲状态,为任务块选定最优的硬件加速器。
本发明实施例所提供的用于CFD仿真计算的异构集群系统,不仅仅能处理CFD算法,而且还能处理其他复杂算法。
在本发明实施例中,硬件加速器还可以是能执行计算任务的其他类型的设备。
本发明实施例所提供的用于CFD仿真计算的异构集群系统,根据GPU和FPGA的优势与特点,在边界处理环节加入计算任务的属性判断与逻辑分发功能,智能地根据任务的级别属性将相应任务进行调度,分发给选中的硬件加速器进行计算,使得计算效率得到大幅提升,而且也相应地降低了计算的成本。
实施例二:
如图2所示,本发明实施例所提供的用于CFD仿真计算的异构集群系统在计算CFD任务时,具体包括如下步骤:
S200、预先设置CFD任务计算所需的各项参数及计算条件;
在本步骤中,预先设置CFD计算任务的属性;统计并存储作为硬件加速器的GPU和FPGA的性能参数,所述性能参数包括计算时间、计算能耗等;为不同的CFD任务设置边界条件,例如CFD任务的计算时间,或者CFD任务的计算能耗等。
具体的,CFD计算任务的属性、GPU/FPGA的性能参数以及CFD任务块的边界条件可以存储在NFS服务器中,也可以存储在CPU上。
S201、CPU接收CFD任务计算请求,所述计算请求中包含待处理的CFD任务;
具体的,CPU上集成的PBS模块接收CFD任务计算请求。
S202、CPU从NFS服务器中获取CFD前处理工具,并对CFD任务进行网格划分,得到新的任务块(block):任务块1、任务块2、……、任务块n,根据预先配置的CFD任务的属性映射表确定该CFD任务的属性;
具体的:CPU中的PBS模块可以与NFS服务器进行信息交互,从NFS服务器中获取CFD前处理工具,使用CFD前处理工具对CFD任务进行网格划分,形成新的任务块:任务块1、任务块2、……、任务块n;CPU中预设不同CFD任务的属性的映射表,例如:预设CFD任务1的属性为优先计算性能,CFD任务1的优化目标是计算时间,因此可以优先分配给GPU计算;预设CFD任务2的属性为优先能耗属性,CFD任务2的优化目标是计算能耗,因此可以优先分配给FPGA计算。
在本发明实施例中,PBS模块在为任务块选择硬件加速器资源时,可以使用调度算法,例如局部贪心算法等,为任务块选择合适的硬件加速器。进一步的,在选择时,也可以使用调度算法进行优先选择或者差异化选择,并不局限于某种特定选择方式,系统可以根据CFD仿真计算的需要自定义设置。
CPU可以根据在CFD任务的属性映射表中查找对应CFD任务的属性;CFD前处理工具可以预先配置在系统中,并存储在NFS服务器上。
S203、PBS模块根据确定的CFD任务的属性、CFD边界条件以及GPU或FPGA的性能参数,使用局部最优算法为任务块选择合适的GPU或FPGA,并将任务块及CFD求解应用程序发送给选定的硬件加速器,其中:
PBS模块根据CFD任务1的属性确定CFD任务1的优化目标是计算时间,则为CFD任务1所划分的全部任务块:任务块1、任务块2、……、任务块m,优先选择GPU进行计算,具体的:根据CFD的边界条件(例如:对计算时间或能耗的要求),以及硬件加速器中处于空闲状态的GPU的性能参数来为任务块1、任务块2、……、任务块m选择合适的GPU。
PBS模块统计任务块1、任务块2、……、任务块m的点、面、网格及其他几何属性,并根据历史数据确定计算任务,如具体的计算时间或者计算能耗。CPU可以根据CFD任务的属性、CFD边界条件以及GPU、FPGA的性能参数使用局部贪心算法智能调度硬件加速器资源,为任务块1、任务块2、……、任务块m分配具体硬件加速器。
需要说明的是:在对不同的CFD任务进行划分时,可以根据CFD前处理工具将不同的CFD任务划分为不同或者相同的任务块,具体划分为多少个任务块,可以根据CFD任务及CFD前置处理工具进行确定。
在本步骤中,GPU/FPGA的性能参数(如计算时间或者计算能耗)是已知的,在硬件加速器配置完成后,硬件加速器中全部GPU/FPGA的性能参数可以存储在NFS服务器中,PBS模块还以从NFS服务器中将GPU/FPGA的性能参数读取出来,存储在CPU的内存中。
在本步骤中,CFD边界条件在启动CFD任务时也已经预设好,可以存储在NFS服务器中,在具体计算时,可以从NFS服务器中获取CFD边界条件。CFD边界条件包括CFD任务在计算时所需要的收敛时间、效能、计算步数等。CFD的边界条件也可以根据历史数据进行设置。
在本步骤中,PBS模块还可以从NFS服务器中获取CFD任务求解应用程序,并将该CFD求解应用程序发送给硬件加速器,其中,硬件加速器可以包括至少一个GPU和/或至少一个FPGA。
在本步骤中,PBS模块为任务块选择合适的硬件加速器的过程即为PBS模块执行智能调度硬件加速器资源的过程,也可以称为PBS智能调度算法或者局部贪心算法;PBS模块执行智能调度算法所涉及到的软硬件模块可以统简称为PBS智能调度系统。
在本发明实施例中,PBS模块在为任务块选择硬件加速器资源时,可以使用调度算法,例如局部贪心算法等,为任务块选择合适的硬件加速器。进一步的,在选择时,也可以使用调度算法进行优先选择或者差异化选择,并不局限于某种特定的选择方式,系统可以根据CFD仿真计算的需要自定义设置。
S204、硬件加速器根据接收到的任务块以及CFD任务求解应用程序对任务块进行计算,并将结算结果反馈给PBS模块;
具体的:GPU/FPGA在接收到任务块及CFD求解应用程序后,根据CFD求解应用程序来对任务块进行计算,并将结算结果发送给PBS模块。
S205、所述PBS模块接收并合并硬件加速器反馈的计算结果,并将合并后的计算结果发送给NFS服务器进行存储。
在本发明实施例中,通过PBS智能调度系统,将CFD任务划分后通过局部贪心算法为每个任务块寻找最优的硬件加速器进行计算,提高了计算效率。
实施例三:
本发明实施例还提供了一种使用用于CFD仿真计算的异构集群系统来计算CFD的方法,包括:
S300、构建集成CPU、GPU和FPGA于一体的综合软硬件平台(也即本发明实施例中的“用于CFD仿真计算的异构集群系统”),在该平台上部署CFD应用软件以及相关求解器,所有计算资源可以通过集成在CPU上的PBS模块进行维护和调度;
S301、初始化相关参数,根据输入的数据,PBS模块将CFD任务进行网格划分以及任务分解,通过边界条件处理,设置CFD的时间迭代步数和收敛条件。
具体的:在本步骤中,CPU上的PBS模块根据CFD前处理工具对CFD任务进行网格划分,并根据预设的CFD任务的属性,确定该CFD任务的优化目标,例如优先选择GPU或者优先选择FPGA计算。如预先在CPU上设置,对于高级别的CFD任务,其优化目标是计算时间,因此优先选用GPU进行计算,而对于低级别的CFD任务,其优化目标是计算能耗,因此优先选用FPGA进行计算。
S302、CPU仅负责CFD业务逻辑的执行,计算任务交由GPU和FPGA来完成,PBS模块根据CFD任务的属性、设置的边界条件以及硬件加速器(GPU/FPGA)的性能参数,自动优化不同的目标函数,从剩余可取得的计算资源池中分配相应的GPU和FPGA计算资源来执行不同的任务块计算。PBS模块使用局部贪心算法来选择任务块所需要的GPU/FPGA,也即PBS模块根据CFD任务的属性,在现有约束条件下选择优化不同目标,也即选用一组Cs,k的集合达到目标函数的最优值。具体优化过程如下:
S3021、对于高级别任务,尽量减少任务执行时间,即优化的目标函数为:
T=Twait+max{Tk(blockk,Cs,k)}………………………………(1)
式中:
Ci——为每个计算运算资源的运算能力,i∈[0,n),n为所有的计算资源数目
Twait——表示等待时间
blockk——第K个任务分块,假设任务分为m块,k∈[0,m)
Cs,k——表示选中执行第K个任务分块的计算资源;
Tk——表示在blockk的预估执行时间,由blockk和Cs,k两者决定。
根据公式(1)即可预估出每个GPU计算任务块K的大致时间,根据设置的边界条件(任务块K所要求的计算时间)以及预估的计算时间,为任务块K选择合适的硬件加速设备进行计算。
S3022、对于普通任务,尽量减低能耗,也即优化的目标函数为:
E=Σ{Ek(blockk,Cs,k,Es,k)}……………………(2)
式中:
E——表示任务需要消耗的能量;
Es,k——表示选中的执行的第K个任务分块的计算资源的能耗;
Ek——完成第K个任务分块需要的能量,由blockk,Cs,k以及Es,k决定。
根据公式(2)即可预估出每个FPGA计算任务块K的大致能耗,根据设置的边界条件(计算任务块K所需要的能耗)以及预估的能耗,为任务块K选择合适的硬件加速设备。
S303、启动数据存储管理,CPU负责执行过程中的数据交换、数据合并、数据缓存以及数据结果的输出;
在本步骤中,CPU负责执行逻辑算法,即负责调用不同的模块、与其他模块之间进行数据交换,并进行数据缓存及数据结果的输出等操作。
S304、执行CFD时间步推进模块,根据时间步推进模块的收敛条件,判断运算是否完成,完成则继续进入步骤S305,未完成则回到步骤S302;
在本步骤中,根据预设的收敛条件及执行的运算结果,判断运算结果是否收敛,如果收敛,则执行步骤S305,否则继续转到步骤S302继续执行。
S305、CPU合并所有结果并且发送到存储系统(例如NFS服务器)中进行存储;
在本步骤中,CPU接收硬件加速器的计算结果,并将计算结果合并后发送给NFS服务器进行存储。
S306、结束CFD软件的运行。
需要说明的是,在本发明实施例中,CPU所实现的逻辑处理功能可以由集成在CPU上的PBS模块完成的,即CPU调用PBS程序即可实现前述逻辑处理功能。
本发明实施例中所提供的CFD计算方法,使用用于CFD仿真计算的异构集群系统实现了GPU和FPGA的资源动态调配,将CFD任务进行分块,并根据CFD任务的属性动态地把CFD任务中的任务块分配给GPU或者FPGA加速硬件,从而最大化地实现了计算资源的合理利用,节省运行时间,并提高运行效率。同时,利用GPU和FPGA等新型硬件的强大运算能力,将CFD运算中的瓶颈部分转换成GPU或FPGA可执行的格式进行运算,从而在性能上达到了一个数量级的提升。此外,本发明实施例将CFD工作流程进行科学地分解,采用分布式部署的方式,通过PBS模块进行统一调度,有利于提高运维管理效率,降低研发成本。
实施例四:
本发明实施例还提供了一种用于CFD仿真计算的异构集群系统,以模拟指定摩托车模型在自定义风速的风洞中各种物理量(例如压强、速度、流场等)的变化为例进行描述,具体的:
S400、为了模拟指定型号的摩托车在时速20M/s(72km/s)时各物理场的分布情况,摩托车模型被静置于风洞中。
在仿真过程中,速度初始条件设置为摩托车入口风速20m/s、初始压强场设置为0Pa(相对于标准压强)。速度边界条件设置为:入口速度20m/s;出口速度设置为:当空气流出时速度为零梯度,回流时速度为0m/s;风洞底面速度设置为匀速20m/s,其他侧面设置为滑移;摩托车表面速度考虑了粘性条件,设置为无滑移。压强边界条件除了压强出口设置为0Pa(相对于标准压强),其他边界均设置为零梯度压强。
本发明实施例所提供的硬件加速器中包括若干英伟达K40、K20系列的GPU,以及intel Altera Arria 10系列的FPGA,其中K40型号的GPU单精度性能是4.5T FLOPs,能耗在18.25GFLOPS/Watt;K20型号的GPU单精度性能是3.5TFlops,能耗在16.80GFLOPS/Watt;Altera Arria 10型号的FPGA的单精度性能是1.5TFLOPS,能耗在50GFLOPS/Watt。
S401、CPU接收摩托车模型的仿真请求,使用CFD前处理工具对摩托车模型进行网格划分,将摩托车模型划分为任务块A和任务块B,统计任务块A和任务块B的点、面及网格的数目,以及其他几何属性;根据任务块A和任务块B的点、面及网格的数目、其他几何属性,以及摩托车模型的CFD边界条件,以及历史数据预估任务块A和任务块B的计算量,例如计算时间及计算能耗;
S402、CPU根据任务块A和任务块B的计算量、CFD任务(摩托车模型)的属性以及GPU和FPGA的参数来选择计算资源;
在本发明实施例中,如果该CFD任务(摩托车模型)的属性是优先计算性能,则该CFD任务(摩托车模型)的优化目标是运算时间,因此通过调度算法为任务块A和任务块B选择运算单精度性能高的GPU进行计算。进一步的,CPU在选择硬件加速器时,还可以考虑当前硬件加速器的整体负载情况。在本发明实施例中,以CPU根据调度算法及当前GPU的负载情况,为任务块A选择K40系列的GPU、为任务块B选择K20系列的GPU进行计算为例进行描述。
S403、CPU将任务块A发送给K40系列的GPU进行计算,将任务块B发送给K20系列的GPU进行计算。
CPU上的PBS主节点(PBS Master)会将任务块A和任务块B分配到计算资源相应的节点上,节点上的PBS代理(Agent)收到任务之后,会将计算任务发送给相应的GPU进行计算。
S404、CPU分别接收任务块A和任务块B的计算结果,并将计算结果合并后发送给NFS存储服务器进行存储。
本发明实施例所提供的一种用于CFD仿真计算的异构集群系统,模拟摩托车模型在风洞中的仿真数据,可以给后续的摩托车模型修改提供数据支持,以减小风阻,提升燃油效率。而且避免了真实风洞仿真中缩小模型带来的雷诺系数改变,提升了经济效益。
实施例五:
本发明实施例所提供的用于CFD仿真计算的异构集群系统,可以布置在云端,也可以配置在本地端。
本发明实施例所提供的CFD仿真计算方法的整体或者部分可以通过软件代码的方式进行执行,其可以分为存储器和处理器,其中存储器可以存储代码,处理器用于执行存储器中的代码,执行存储器中的代码可以实施如实施例二、实施例三和实施例四所记载的各个方法步骤流程。
应该理解,本发明的各种实施例中,上述各过程中序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或者组件可以结合或者可以继承到一个系统,或者一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或者直接耦合或者通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其他的形式连接。
所述作为分离部件说明的单元可以是或者可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在个单元中。上述集成的单元即可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可以用硬件实现,或者软件实现,或它们的组合方式来实现。当使用软件实现时,可以见上述功能存储在计算机可读介质中或作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何介质。以此为例但不限于:计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质。此外,任何连接可以适当的成为计算机可读介质,例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(SDL)或者诸如红外线、无线电和微波之类的无线技术包括在所属介质的定影中。如本发明所使用的盘(Disk)和碟(Disc)包括压缩光碟(CD)、激光碟、光碟、数字通用光碟(DVD)、软盘和蓝光光碟,其中盘通常磁性的复制数据,而碟则用激光来光学的复制数据。上面的组合也应当包括在计算机可读介质的保护范围之内。
总之,以上所述仅为本发明技术方案的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (16)

1.一种用于CFD仿真计算的异构集群系统,其特征在于:所述系统包括CPU和硬件加速器,其中:
所述CPU,用于将接收到的CFD任务划分为任务块,根据CFD任务的属性、CFD边界条件以及所述硬件加速器的性能参数确定计算所述任务块的硬件加速器,并将所述任务块发送给所述硬件加速器;所述CFD任务的属性包括优先计算性能或者优先能耗性能,所述CPU根据所述CFD任务的属性使用局部贪心算法为所述任务块调用硬件加速器进行计算;
所述硬件加速器,用于接收并计算所述CPU发送的任务块,并将计算结果发送给所述CPU;所述硬件加速器包括至少一个GPU和至少一个FPGA;所述CFD任务包括高级别任务和普通任务,所述高级别任务优先使用所述GPU进行计算,所述普通任务优先使用所述FPGA进行计算;
若所述CFD任务的属性是优先计算性能,则所述CFD任务的优化目标是计算时间,所述CPU根据CFD边界条件及GPU的性能参数,在所述硬件加速器中优先选择计算时间较短的GPU来计算CFD任务中的任务块;或者,若所述CFD任务的属性是优先能耗性能,则所述CFD任务的优化目标是计算能耗,则CPU根据CFD边界条件及FPGA的性能参数,在所述硬件加速器中优先选择计算能耗较低的FPGA来计算CFD任务中的任务块。
2.根据权利要求1所述的用于CFD仿真计算的异构集群系统,其特征在于:所述CPU和所述硬件加速器集成设置。
3.根据权利要求1所述的用于CFD仿真计算的异构集群系统,其特征在于:所述根据CFD任务的属性、CFD边界条件以及所述硬件加速器的性能参数确定计算所述任务块的硬件加速器,具体包括:
根据所述CFD边界条件以及所述任务块的点、面和网格数量确定所述任务块的计算量,所述计算量包括计算所述任务块的时间和/或能耗;
根据所述CFD任务的属性、所述任务块计算量以及所述硬件加速器的性能参数确定计算所述任务块的硬件加速器。
4.根据权利要求1所述的用于CFD仿真计算的异构集群系统,其特征在于:
所述CPU接收所述硬件加速器发送的任务块计算结果,并将所述任务块的计算结果合并后发送给NFS服务器进行存储。
5.根据权利要求4所述的用于CFD仿真计算的异构集群系统,其特征在于:所述CPU还用于向所述NFS服务器获取CFD前处理工具,并使用所述CFD前处理工具将所述CFD任务划分为任务块。
6.根据权利要求4所述的用于CFD仿真计算的异构集群系统,其特征在于:所述CPU还用于向所述NFS服务器获取CFD任务求解应用程序,并将所述CFD任务求解应用程序与所任务块一并发送给所述硬件加速器,以使所述硬件加速器根据所述CFD任务求解应用程序对所述任务块进行计算。
7.根据权利要求4所述的用于CFD仿真计算的异构集群系统,其特征在于:所述NFS服务器中存储所述硬件加速器的性能参数,所述CPU还用于向所述NFS服务器读取硬件加速器的性能参数,并存储在所述CPU的内存中。
8.根据权利要求1所述的用于CFD仿真计算的异构集群系统,其特征在于:所述CPU包括PBS模块,所述PBS模块用于实现硬件加速器资源的智能调度和任务分发逻辑。
9.一种使用如权利要求1至8任一所述的用于CFD仿真计算的异构集群系统计算CFD任务的方法,其特征在于:该方法包括:
接收CFD任务,并将所述CFD任务划分为任务块;
根据CFD任务的属性、CFD边界条件以及硬件加速器的性能参数为所述任务块选择硬件加速器,并将所述任务块发送给所述硬件加速器进行计算;所述CFD任务的属性为优先计算性能或者优先能耗性能,根据所述CFD任务的属性使用局部贪心算法为所述任务块调用硬件加速器进行计算;
接收所述硬件加速器发送的任务块计算结果,并将所述计算结果进行合并。
10.根据权利要求9所述的方法,其特征在于:所述根据CFD任务的属性、CFD边界条件以及硬件加速器的性能参数为所述任务块选择硬件加速器,包括:
根据所述CFD边界条件以及所述任务块的点、面和网格数量确定所述任务块的计算量,所述计算量包括计算所述任务块的时间和/或能耗;
根据所述CFD任务的属性、所述任务块计算量以及所述硬件加速器的性能参数确定计算所述任务块的硬件加速器。
11.根据权利要求9所述的方法,其特征在于:所述方法还包括:
从NFS服务器中获取CFD前处理工具,使用所述CFD前处理工具将所述CFD任务划分为所述任务块。
12.根据权利要求11所述的方法,其特征在于:所述方法还包括:从所述NFS服务器中获取所述CFD任务的属性、所述CFD边界条件、所述硬件加速器的性能参数,并根据所述CFD任务的属性、所述CFD边界条件以及所述硬件加速器的性能参数为所述任务块选择硬件加速器。
13.根据权利要求11所述的方法,其特征在于:所述方法还包括:
将所述合并后的计算结果发送所述NFS服务器进行存储。
14.根据权利要求11所述的方法,其特征在于:所述方法还包括:
从所述NFS服务器中获取CFD任务求解应用程序,并将所述CFD求解任务程序与所述任务块一并发送给所述硬件加速器,以使所述硬件加速器根据所述CFD任务求解应用程序对所述任务块进行计算。
15.根据权利要求9所述的方法,其特征在于:所述硬件加速器包括至少一个GPU和/或至少一个FPGA。
16.一种用于CFD仿真计算的异构集群系统,其特征在于:所述系统包括存储器和处理器,其中:
所述存储器,用于存储代码;
所述处理器,用于执行所述存储器中的代码,执行所述存储器中的代码能实施如权利要求9至15任一所述的方法步骤。
CN201710237699.7A 2017-04-12 2017-04-12 用于cfd仿真计算的异构集群系统及计算cfd任务的方法 Active CN107122243B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710237699.7A CN107122243B (zh) 2017-04-12 2017-04-12 用于cfd仿真计算的异构集群系统及计算cfd任务的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710237699.7A CN107122243B (zh) 2017-04-12 2017-04-12 用于cfd仿真计算的异构集群系统及计算cfd任务的方法

Publications (2)

Publication Number Publication Date
CN107122243A CN107122243A (zh) 2017-09-01
CN107122243B true CN107122243B (zh) 2018-07-24

Family

ID=59724912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710237699.7A Active CN107122243B (zh) 2017-04-12 2017-04-12 用于cfd仿真计算的异构集群系统及计算cfd任务的方法

Country Status (1)

Country Link
CN (1) CN107122243B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107862386A (zh) * 2017-11-03 2018-03-30 郑州云海信息技术有限公司 一种数据处理的方法及装置
CN109976902B (zh) * 2017-12-28 2021-09-03 北京京东尚科信息技术有限公司 任务处理方法、系统、电子设备及计算机可读介质
CN108320022A (zh) * 2018-01-23 2018-07-24 深圳市易成自动驾驶技术有限公司 深度学习系统构建方法、装置、深度学习系统及存储介质
CN110494848A (zh) * 2018-03-28 2019-11-22 深圳市大疆创新科技有限公司 任务处理方法、设备及机器可读存储介质
CN110618832A (zh) * 2018-06-19 2019-12-27 清华大学 数据处理方法、装置、计算机设备及可读存储介质
CN109828841B (zh) * 2019-01-21 2021-02-12 南京航空航天大学 一种cfd并行计算方法
CN110187968B (zh) * 2019-05-22 2023-03-14 上海交通大学 异构计算环境下的图数据处理加速方法
CN110866598A (zh) * 2019-09-30 2020-03-06 上海寒武纪信息科技有限公司 block的合并方法、block的划分方法、组合处理装置及编译系统
CN111105341B (zh) * 2019-12-16 2022-04-19 上海大学 一种低功耗高运算性能求解计算流体动力学的框架方法
CN113535611A (zh) * 2020-04-22 2021-10-22 华为技术有限公司 数据处理方法及装置、异构系统
CN111736966B (zh) * 2020-05-11 2022-04-19 深圳先进技术研究院 基于多板fpga异构系统的任务部署方法及设备
CN112269656B (zh) * 2020-10-16 2022-12-02 山东云海国创云计算装备产业创新中心有限公司 一种基于多核处理器的应用配置方法、装置和系统
CN113157407B (zh) * 2021-03-18 2024-03-01 浙大宁波理工学院 一种在gpu中并行处理视频压缩的动态任务迁移调度方法
CN114490498B (zh) * 2022-01-20 2023-12-19 山东大学 基于vr技术的模拟软件仿真异构系统及其工作方法
CN115202992B (zh) * 2022-09-15 2022-11-22 中国空气动力研究与发展中心计算空气动力研究所 面向slurm调度系统的CFD作业收敛性监控方法
CN116228993B (zh) * 2023-05-08 2023-08-25 中国空气动力研究与发展中心计算空气动力研究所 一种网格边构建方法
CN116932226B (zh) * 2023-09-14 2023-12-19 中诚华隆计算机技术有限公司 一种基于Chiplet的硬件加速方法和硬件加速器

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101706741A (zh) * 2009-12-11 2010-05-12 中国人民解放军国防科学技术大学 一种基于负载平衡的cpu和gpu两级动态任务划分方法
CN102541657A (zh) * 2010-12-20 2012-07-04 国际商业机器公司 用于对硬件加速器进行运行时功能分配的方法和设备
CN103092683A (zh) * 2011-11-07 2013-05-08 Sap股份公司 用于数据分析的基于启发式的调度
CN103226540A (zh) * 2013-05-21 2013-07-31 中国人民解放军国防科学技术大学 基于分组多流的gpu上多区结构网格cfd加速方法
CN103294543A (zh) * 2013-06-28 2013-09-11 马骁 一种基于高速总线的数据混合处理模块及软件无线电平台
US8726289B2 (en) * 2008-02-22 2014-05-13 International Business Machines Corporation Streaming attachment of hardware accelerators to computer systems
US9230091B2 (en) * 2012-06-20 2016-01-05 Microsoft Technology Licensing, Llc Managing use of a field programmable gate array with isolated components

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8726289B2 (en) * 2008-02-22 2014-05-13 International Business Machines Corporation Streaming attachment of hardware accelerators to computer systems
CN101706741A (zh) * 2009-12-11 2010-05-12 中国人民解放军国防科学技术大学 一种基于负载平衡的cpu和gpu两级动态任务划分方法
CN102541657A (zh) * 2010-12-20 2012-07-04 国际商业机器公司 用于对硬件加速器进行运行时功能分配的方法和设备
CN103092683A (zh) * 2011-11-07 2013-05-08 Sap股份公司 用于数据分析的基于启发式的调度
US9230091B2 (en) * 2012-06-20 2016-01-05 Microsoft Technology Licensing, Llc Managing use of a field programmable gate array with isolated components
CN103226540A (zh) * 2013-05-21 2013-07-31 中国人民解放军国防科学技术大学 基于分组多流的gpu上多区结构网格cfd加速方法
CN103294543A (zh) * 2013-06-28 2013-09-11 马骁 一种基于高速总线的数据混合处理模块及软件无线电平台

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
FPGA-GPU Architecture for Kernel SVM Pedestrian Detection;Sebastian Bauer等;《Computer Vision and Pattern Recognition Workshops (CVPRW), 2010 IEEE Computer Society Conference on》;20100809;全文 *
The "Chimera": An Off-The-Shelf CPU/GPGPU/FPGA Hybrid Computing Platform;Ra Inta等;《International Journal of Reconfigurable Computing》;20120131;全文 *
基于FPGA的NS3D程序移植和优化;李棱等;《计算机工程与设计》;20111216;第2011年卷(第12期);第5页左栏第一段 *

Also Published As

Publication number Publication date
CN107122243A (zh) 2017-09-01

Similar Documents

Publication Publication Date Title
CN107122243B (zh) 用于cfd仿真计算的异构集群系统及计算cfd任务的方法
CN105808328B (zh) 任务调度的方法、装置和系统
CN104331321B (zh) 基于禁忌搜索和负载均衡的云计算任务调度方法
CN110737529A (zh) 一种面向短时多变大数据作业集群调度自适应性配置方法
CN105373432B (zh) 一种基于虚拟资源状态预测的云计算资源调度方法
CN114996018A (zh) 面向异构计算的资源调度方法、节点、系统、设备及介质
CN109491761A (zh) 基于eda-ga混合算法的云计算多目标任务调度方法
CN103401939A (zh) 一种采用混合调度策略的负载均衡方法
CN109582448A (zh) 一种面向关键度和时效性的边缘计算任务调度方法
CN109992407A (zh) 一种yarn集群gpu资源调度方法、装置和介质
CN103853618A (zh) 基于截止日期驱动的云系统代价最小化资源分配方法
CN105975340A (zh) 一种虚拟机应用分配部署算法
CN105069702B (zh) 一种电网集成信息处理方法
CN115134371A (zh) 包含边缘网络算力资源的调度方法、系统、设备及介质
CN115756833A (zh) 一种面向多重异构环境下ai推理任务调度的方法及系统
CN106991006A (zh) 支持依赖和时间平衡的云工作流任务聚类方法
CN114647515A (zh) 一种面向gpu集群的动态资源调度方法
CN105094984A (zh) 资源调度的方法及系统
CN111309472A (zh) 一种基于虚拟机预部署的在线虚拟资源分配方法
Li et al. Endpoint-flexible coflow scheduling across geo-distributed datacenters
CN108804710A (zh) 基于业务规则通过模型工具提炼标签的方法及装置
CN109783141A (zh) 异构调度方法
CN114860417B (zh) 多核神经网络处理器及用于该处理器多任务分配调度方法
Jin et al. Research on fuzzy scheduling of cloud computing tasks based on hybrid search algorithms and differential evolution
CN102831230A (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310020 Chunan County, Hangzhou, Zhejiang

Applicant after: ZHEJIANG YUANSUAN CLOUD COMPUTING CO.,LTD.

Applicant after: HANGZHOU YUANSUAN TECHNOLOGY CO.,LTD.

Address before: 311799 Chunan County, Hangzhou, Zhejiang

Applicant before: HANGZHOU YUANSUAN CLOUD CALCULATING CO.,LTD.

Applicant before: HANGZHOU YUANSUAN TECHNOLOGY CO.,LTD.

GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 310020 Chun'an County, Hangzhou City, Zhejiang Province

Patentee after: Zhejiang yuansuan Technology Co.,Ltd.

Patentee after: Hangzhou Logarithmic Technology Co.,Ltd.

Address before: 310020 Chun'an County, Hangzhou City, Zhejiang Province

Patentee before: ZHEJIANG YUANSUAN CLOUD COMPUTING CO.,LTD.

Patentee before: HANGZHOU YUANSUAN TECHNOLOGY CO.,LTD.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220727

Address after: 311799 Room 301, 688 Sunshine Road, Thousand Island Lake Town, Chunan County, Hangzhou, Zhejiang

Patentee after: Zhejiang yuansuan Technology Co.,Ltd.

Address before: 310020 Chun'an County, Hangzhou City, Zhejiang Province

Patentee before: Zhejiang yuansuan Technology Co.,Ltd.

Patentee before: Hangzhou Logarithmic Technology Co.,Ltd.