1.一种基于OpenCL的SCA组件异构并行加载调度方法,其特征在于,包括:解析波形SAD配置文件,获取组件列表,并根据组件列表获取对应的组件;根据获取的组件,解析各个组件对应的PRF配置文件;根据PRF配置文件判断对应的组件是否属于OpenCL组件,如果是,则获取相应组件的OpenCL组件的加载参数;如果否则保存PRF配置文件;获取SCA平台中的支持OpenCL组件加载的设备,并获取支持OpenCL组件加载的设备的运行状态;根据获取的OpenCL组件的加载参数,计算OpenCL组件的加载匹配需求;根据加载匹配需求从SCA平台中获取对应的支持OpenCL组件加载的设备;根据获取的支持OpenCL组件加载的设备,加载判断为OpenCL组件;根据获取的波形SAD配置文件,加载对应组件,并调用波形SAD配置文件中的接口启动波形。
2.根据权利要求1所述的基于OpenCL的SCA组件异构并行加载调度方法,其特征在于:根据PRF配置文件判断对应的组件是否属于OpenCL组件,包括:解析各个组件对应的SPD配置文件,得到组件信息,判断相应组件是否属于OpenCL类型;解析各个组件对应的PRF配置文件,得到组件的配置信息和配置参数;如果组件属于OpenCL类型,根据相应的配置参数获取对应组件的OpenCL组件的加载参数,OpenCL组件加载参数包含OpenCL组件的内核文件、内存空间、运行设备依赖和OpenCL运行参数。
3.根据权利要求1所述的基于OpenCL的SCA组件异构并行加载调度方法,其特征在于:根据加载匹配需求从SCA平台中获取对应的支持OpenCL组件加载的设备,包括:获取SCA平台中加载设备的参数,参数包含设备类型、设备加载能力、设备运行状态和加载容量;根据获取的参数和获取的OpenCL组件的加载参数,以及SCA标准从SCA平台中匹配对应的支持OpenCL组件加载的设备;对于匹配为支持OpenCL组件加载的设备,根据OpenCL组件的加载参数,选择OpenCL加载设备,并将OpenCL组件的主机端程序匹配到SCA平台中的CPU设备。
4.根据权利要求3所述的基于OpenCL的SCA组件异构并行加载调度方法,其特征在于:根据获取的支持OpenCL组件加载的设备,加载判断为OpenCL组件,包括:根据获取的OpenCL组件与OpenCL加载设备的对应关系列表,选择OpenCL组件对应的OpenCL加载设备;根据获取的OpenCL组件的OpenCL组件的加载参数中的内核文件,将OpenCL组件的内核程序加载到选择的OpenCL加载设备中;根据获取的OpenCL组件的OpenCL组件的加载参数中的内存空间,在选择的OpenCL加载设备上分配OpenCL组件的内存空间;根据获取的OpenCL组件的OpenCL组件的加载参数中的OpenCL运行参数,设置OpenCL组件在选择的OpenCL加载设备上的运行参数;在SCA平台的CPU设备上加载OpenCL组件的主机端程序,并于选择的OpenCL加载设备的内核程序建立通信,完成OpenCL组件的加载。
5.根据权利要求4所述的基于OpenCL的SCA组件异构并行加载调度方法,其特征在于:根据获取的OpenCL组件的OpenCL组件的加载参数中的内核文件,将OpenCL组件的内核程序加载到选择的OpenCL加载设备中,包括:根据OpenCL组件的加载参数中的内核文件,获取内核文件的源代码或二进制文件;利用OpenCL组件运行时的API函数,将获取的源代码或二进制文件编译并加载到选择的OpenCL加载设备中。
6.根据权利要求4所述的基于OpenCL的SCA组件异构并行加载调度方法,其特征在于:根据获取的OpenCL组件的OpenCL组件的加载参数中的内存空间,在选择的OpenCL加载设备上分配OpenCL组件的内存空间,包括:根据OpenCL组件的内存空间,调用OpenCL组件运行时的API函数,在选择的OpenCL加载设备上分配指定大小的内存空间。
7.根据权利要求2至6任一所述的基于OpenCL的SCA组件异构并行加载调度方法,其特征在于:解析波形SAD配置文件,获取组件列表,并根据组件列表获取对应的组件,包括:解析波形SAD配置文件中的组件描述信息,获取组件的名称、类型和配置参数文件路径;根据获取的组件的名称、类型和配置参数文件路径,生成组件列表。
8.一种基于OpenCL的SCA组件异构并行加载调度系统,其特征在于,包括:文件解析模块,解析波形SAD配置文件,获取组件列表,并根据组件列表获取对应的组件;OpenCL参数提取模块,解析获取的各个组件对应的SPD配置文件,根据SPD配置文件判断对应的组件是否属于OpenCL组件,如果是,则解析PRF配置文件获取相应组件的OpenCL组件的加载参数;平台设备管理器模块,获取SCA平台中加载的设备列表及相应的运行状态,并获取支持OpenCL组件加载的设备OpenCL加载信息;波形应用工厂模块,获取平台中波形的列表,以及每个波形包含的组件列表信息;OpenCL设备匹配模块,根据OpenCL组件的加载参数,计算OpenCL组件的加载匹配需求,并读取平台设备管理器模块,根据OpenCL组件的加载匹配需求从SCA平台中获取对应的支持OpenCL组件加载的设备;OpenCL设备加载模块,完成OpenCL组件的主机端程序和设备端内核程序的加载,根据分配的CPU设备加载OpenCL的主机端程序,根据获取的支持OpenCL组件加载的设备,加载OpenCL组件的设备端内核程序。
9.一种异构硬件系统,其特征在于,包括:主机设备,运行基于OpenCL的SCA组件异构并行加载调度系统;至少两个通用处理器,与主机设备相连,执行SCA组件的主机端程序和计算任务;至少一个异构计算设备,与主机设备相连,执行OpenCL组件的内核程序;主机设备通过OpenCL组件运行时的API接口与各个CPU和支持OpenCL组件加载的设备通信,并将OpenCL组件加载到匹配的异构计算设备上执行;CPU通过OpenCL组件运行时的API接口将OpenCL组件的执行结果返回给主机设备;异构计算设备通过OpenCL组件运行时的API接口,接收主机设备发送的内核程序、内存空间和运行参数,加载并执行OpenCL组件的内核程序,将执行结果通过OpenCL组件运行时的API接口返回给主机设备。