预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN112579090A(43)申请公布日2021.03.30(21)申请号201910927243.2(22)申请日2019.09.27(71)申请人无锡江南计算技术研究所地址214083江苏省无锡市滨湖区山水东路699号(72)发明人方燕飞李雁冰文延华杨小川董恩铭漆锋滨(74)专利代理机构苏州创元专利商标事务所有限公司32103代理人王健(51)Int.Cl.G06F8/41(2018.01)权利要求书1页说明书4页附图1页(54)发明名称异构众核架构下的异步并行I/O编程框架方法(57)摘要本发明公开了异构众核架构下的异步并行I/O编程框架方法,在控制核心函数中注册运算核心代理写文件函数;控制核心函数中异步调用运算核心函数;运算核心函数在执行工作时,判断运算核心的上次写文件是否完成,如写文件完成,运算核心向控制核心发送写文件中断信号;如写文件未完成,运算核心将要执行写文件内容作为参数,向控制核心发送写文件中断信号;控制核心在执行工作时,如收到运算核心发出写文件中断信号,则保留当前工作状态,执行代理写文件函数,实现控制核心对运算核心写文件的异步代理功能。本发明运算核心使用发送信号的方式通知控制核心完成异步代理写文件功能,从而提高控制核心的执行效率。CN112579090ACN112579090A权利要求书1/1页1.一种异构众核架构下的异步并行I/O编程框架方法,其特征在于:包括以下步骤,S1、在控制核心函数中注册运算核心代理写文件函数;控制核心函数中异步调用运算核心函数,继续执行自己的工作;S2、运算核心函数在执行自己工作的过程中,如果需要执行写文件,首先判断运算核心的上次写文件是否已经完成,如果上次写文件已经完成,则运算核心将与写文件相关的信息作为参数,向控制核心发送写文件中断信号;如果上次写文件未完成,则运算核心停止执行写文件内容,等到上次写文件完成后,运算核心再将与写文件相关的信息作为参数,向控制核心发送写文件中断信号;S3、控制核心在执行自己工作的过程中,如果收到运算核心发出的所述写文件中断信号,则保留当前工作状态,并执行所述代理写文件函数,实现控制核心对运算核心写文件的异步代理功能;S4、当控制核心执行完写文件代理之后,继续执行被中断的工作。2.根据权利要求1所述的异构众核架构下的异步并行I/O编程框架方法,其特征在于:所述代理写文件函数为代理打印函数。3.根据权利要求2所述的异构众核架构下的异步并行I/O编程框架方法,其特征在于:所述运算核心的信息和所述代理打印函数配置信息通过传参方式发送给所述控制核心。4.根据权利要求1-3任意一项所述的异构众核架构下的异步并行I/O编程框架方法,其特征在于:用户能直接调用所述控制核心和所述运算核心的函数接口。2CN112579090A说明书1/4页异构众核架构下的异步并行I/O编程框架方法技术领域[0001]本发明属于异构众核技术领域,尤其涉及一种异构众核架构下的异步并行I/O编程框架方法。背景技术[0002]异构众核是一种比较特殊的芯片,往往配备有功能完备的运算控制核心和功能精简的运算核心,两种核心具有不同的指令集和不同的存储层次。高性能计算应用程序在执行计算任务时,常常需要运算核心在运行时通过写文件的方式记录程序中间运行结果,用于后期分析,但由于在设计并实现异构众核架构时,运算核心通常更多地考虑如何加速用户程序运算效率,而对文件的读写功能支持考虑得较少,因此很难保证在程序进行大规模运算时,运算核心写文件的正确性和效率。[0003]为了保证运算核心写文件的正确性,可以利用对写文件功能支持更好的控制核心,代理完成计算核的写文件功能。已有的操作系统代理方法,是在从核调用输入和输出(Input/Output,I/O)操作时,相应的I/O函数实际通过信号中断方式由控制核心代理完成,该方法的缺点是运算核心发起I/O操作请求后必须等待控制核心代理完成以后才能返回,在此期间控制核心是挂起的,无法进行与当前I/O操作相关的其他运算或者操作,因而无法挖掘运算核心和控制核心的并行性。发明内容[0004]本发明目的在于提供一种异构众核架构下的异步并行I/O编程框架方法,其解决了运算核心和控制核心的并行性的问题。[0005]为达到上述目的,本发明采用的技术方案是:一种异构众核架构下的异步并行I/O编程框架方法,包括以下步骤,S1、在控制核心函数中注册运算核心代理写文件函数;控制核心函数中异步调用运算核心函数,继续执行自己的工作;S2、运算核心函数在执行自己工作的过程中,如果需要执行写文件,首先判断运算核心的上次写文件是否已经完成,如果上次写文件已经完成,则运算核心将与写文件相关的信息作为参数,向控制核心发送写文件中断信号