一种基于OpenCL的全局内存缓存方法、系统及装置制造方法及图纸

技术编号:19593020 阅读:28 留言:0更新日期:2018-11-28 04:46
本发明专利技术公开了一种基于OpenCL的全局内存缓存方法、系统及装置,该方法包括:第一内核获取缓存数据;将所述缓存数据写入到全局内存中的预设缓存队列中,并更新第一尾指针;其中,所述第一尾指针为所述第一内核保存的所述预设缓存队列的尾指针;通过Pipe或channel将所述第一尾指针发送到第二内核;所述第二内核根据所述第一尾指针更新第二尾指针;其中,所述第二尾指针为所述第二内核保存的所述预设缓存队列的尾指针;本发明专利技术利用channel或Pipe更新全局内存中的预设缓存队列的状态,可以实现全局内存中的缓存队列的应用,有效的解决了OpenCL的内核间数据传输时大数据量的缓存问题。

【技术实现步骤摘要】
一种基于OpenCL的全局内存缓存方法、系统及装置
本专利技术涉及数据中心
,特别涉及一种基于OpenCL的全局内存缓存方法、系统及装置。
技术介绍
在数据中心
中基于CPU+FPGA(Field-ProgrammableGateArray,现场可编程门阵列)的异构计算是一个非常前沿的技术,目前很多有机构都在对其进行研究。而OpenCL是一种专门针对异构计算装置(HeterogeneousDevice)进行并行化运算所设计的高层次程序语言,可应用于CPU、GPU(GraphicsProcessingUnit,图形处理器)和FPGA等异构系统的并行编程,尤其是对于CPU+FPGA的异构加速平台更是研究热点。目前,OpenCL将存储模型抽象为3个层次,分别为全局内存(GlobalMemory)、本地内存(LocalMemory)以及私有内存(PrivateMemory),访存速度逐级加快,存储空间逐级递减。队列是限制结点插入操作固定在一端进行,而结点的删除操作固定在另一端进行的线性表,队列的特点是结点在队列中的排队次序和出队次序按进队时间先后确定,即先进队者先出队。因此,队列本文档来自技高网...

【技术保护点】
1.一种基于OpenCL的全局内存缓存方法,其特征在于,包括:第一内核获取缓存数据;将所述缓存数据写入到全局内存中的预设缓存队列中,并更新第一尾指针;其中,所述第一尾指针为所述第一内核保存的所述预设缓存队列的尾指针;通过Pipe或channel将所述第一尾指针发送到第二内核;所述第二内核根据所述第一尾指针更新第二尾指针;其中,所述第二尾指针为所述第二内核保存的所述预设缓存队列的尾指针。

【技术特征摘要】
1.一种基于OpenCL的全局内存缓存方法,其特征在于,包括:第一内核获取缓存数据;将所述缓存数据写入到全局内存中的预设缓存队列中,并更新第一尾指针;其中,所述第一尾指针为所述第一内核保存的所述预设缓存队列的尾指针;通过Pipe或channel将所述第一尾指针发送到第二内核;所述第二内核根据所述第一尾指针更新第二尾指针;其中,所述第二尾指针为所述第二内核保存的所述预设缓存队列的尾指针。2.根据权利要求1所述的基于OpenCL的全局内存缓存方法,其特征在于,还包括:所述第二内核从所述预设缓存队列中读取所述缓存数据,并更新第一头指针;其中,所述第一头指针为所述第二内核保存的所述预设缓存队列的头指针;通过Pipe或channel将所述第一头指针发送到所述第一内核;所述第一内核根据所述第一头指针更新第二头指针;其中,所述第二头指针为所述第一内核保存的所述预设缓存队列的头指针。3.根据权利要求2所述的全局内存缓存方法,其特征在于,所述将所述缓存数据写入到全局内存中的预设缓存队列中,并更新所述预设缓存队列的尾指针状态之前,还包括:所述第一内核判断所述第一尾指针加1的和除以所述预设缓存队列的队列长度的余数是否等于所述第二头指针;若否,则执行所述将所述缓存数据写入到全局内存中的预设缓存队列中,并更新第一尾指针的步骤。4.根据权利要求2所述的全局内存缓存方法,其特征在于,所述第二内核从所述预设缓存队列中读取所述缓存数据,并更新第一头指针之前,还包括:所述第二内核判断所述第一头指针是否等于所述第二尾指针;若否,则执行所述第二内核从所述预设缓存队列中读取所述缓存数据,并更新第一头指针的步骤。5.根据权利要求1至4任一项所述的基于OpenCL的全局内存缓存方法,其特征在于,所述通过Pipe或channel将所述第一尾指针发送...

【专利技术属性】
技术研发人员:范宝余郭振华高开
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1