【技术实现步骤摘要】
一种数据流处理方法及相关设备
本申请涉及数据处理领域,尤其涉及一种数据流处理方法及相关设备。
技术介绍
随着机器学习和深度学习技术的快速发展,传统体系架构的计算机的计算能力无法满足现在的业务需求,因此先后推出针对业务深度定制的人工智能(artificialinsemination,AI)领域专用硬件加速器,例如,谷歌公司研发的张量处理器(tensorprocessingunit,TPU),寒武纪推出的全球首款商用深度学习处理器等等。面向机器学习和深度学习模型的加速效果比传统的中央处理器(centralprocessingunit,CPU)和图形处理器(graphicsprocessingunit,GPU)快一个数量级以上。为了提高并行吞吐能力,AI硬件加速器通常采用数据访问和计算解耦的设计原则。内部提供多条并行操作流水线,通过异步并行方式对数据进行处理。例如,某些操作流水线专门执行直接存储器访问(directmemoryaccess,DMA)操作访问数据,某些操作流水线专门执行矩阵乘法运算,某些操作流水线专门执行向量 ...
【技术保护点】
1.一种数据流处理方法,其特征在于,所述方法包括:/n获取多个处理单元对数据流进行操作的依赖关系和执行先后顺序;/n根据所述依赖关系和所述执行先后顺序,生成同步逻辑;/n将所述同步逻辑插入到所述多个处理单元中各个处理单元的操作流水线上,生成可执行代码。/n
【技术特征摘要】
1.一种数据流处理方法,其特征在于,所述方法包括:
获取多个处理单元对数据流进行操作的依赖关系和执行先后顺序;
根据所述依赖关系和所述执行先后顺序,生成同步逻辑;
将所述同步逻辑插入到所述多个处理单元中各个处理单元的操作流水线上,生成可执行代码。
2.如权利要求1所述的方法,其特征在于,所述获取多个处理单元对数据流进行操作的依赖关系和执行先后顺序包括:
获取用于描述所述数据流的描述代码;
根据所述描述代码,确定所述依赖关系和所述执行先后顺序。
3.如权利要求2所述的方法,其特征在于,所述描述代码包括用于定义缓存变量的关键字、用于描述缓存所述数据流的读操作和写操作的关键字、用于指定写缓存变量的操作符以及用于指定读缓存变量的关键字中的至少一个。
4.如权利要求1-3任一项所述的方法,其特征在于,所述依赖关系表示所述多个处理单元中的第一处理单元的操作流水线上的第一操作指令执行完成后开始执行所述多个处理单元中的第二处理单元的操作流水线上的第二操作指令,所述执行先后顺序表示所述多个处理单元的操作指令被发射到相应类型的操作流水线上等待执行的时间先后顺序。
5.如权利要求1-4任一项所述的方法,其特征在于,所述根据所述依赖关系和所述执行先后顺序,生成同步逻辑包括:
根据所述依赖关系和所述执行先后顺序,构建所述多个处理单元之间操作所述数据流的依赖决策树;
根据所述依赖决策树,生成所述同步逻辑。
6.如权利要求1-5任一项所述的方法,其特征在于,所述同步逻辑包括阻塞指令和事件同步指令;所述根据所述依赖关系和所述执行先后顺序,生成同步逻辑包括:
根据所述依赖关系,生成所述事件同步指令;以及
根据所述执行先后顺序,生成所述阻塞指令。
7.如权利要求1-6任一项所述的方法,其特征在于,所述根据所述依赖关系和所述执行先后顺序,生成同步逻辑包括:
确定所述依赖关系是否为传递依赖;
当所述依赖关系不为所述传递依赖时,生成所述同步逻辑。
8.一种数据流处理装置,其特征在于,所述装置包括:
获取模块,用于获取多个处理单元对数据流进行操作的依赖关...
【专利技术属性】
技术研发人员:海丽娟,程琛,克里斯托弗·罗德里格斯,吴芃,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。