一种面向GPU实现的虚拟IORINGBUFFER的方法.pdf

上传人:a*** 文档编号:1306208 上传时间:2018-04-14 格式:PDF 页数:5 大小:236.82KB
返回 下载 相关 举报
摘要
申请专利号:

CN201611139563.4

申请日:

2016.12.12

公开号:

CN106708601A

公开日:

2017.05.24

当前法律状态:

实审

有效性:

审中

法律详情:

实质审查的生效IPC(主分类):G06F 9/455申请日:20161212|||公开

IPC分类号:

G06F9/455

主分类号:

G06F9/455

申请人:

中国航空工业集团公司西安航空计算技术研究所

发明人:

马城城; 刘晖; 田泽; 黎小玉; 张琛; 聂曌

地址:

710000 陕西省西安市锦业二路15号

优先权:

专利代理机构:

中国航空专利中心 11008

代理人:

杜永保

PDF下载: PDF下载
内容摘要

本发明属于软件设计领域,涉及一种面向GPU实现的虚拟IO??ringbuffer的方法,包括:当有数据需要存储到ringbuffer上时,若ringbuffer的空闲空间大小能够存储当前数据,则将待存储数据写入ringbuffer的空闲空间首地址开始的连续空间内,更新写指针信息;若不可以则ringbuffer虚拟IO控制(2)向ringbuffer??IO控制(3)发起同步操作,重新进行数据存储操作;当收到数据传输启动命令时,发送ringbuffer上存储的数据信息,发送完成后更新ringbuffer??IO控制(3)中的读指针信息;当ringbuffer中的数据存储满空间时,主动发起数据传输操作,发送完成后更新ringbuffer??IO控制(3)中的读指针信息。本发明通过构建虚拟IO的ringbuffer管理,降低ringbuffer在数据传输、空间管理开销,降低GPU主机接口通信仲裁开销,调高GPU主机接口利用效率。

权利要求书

1.一种面向GPU实现的虚拟IO ringbuffer的方法,其特征在于,包括:
步骤1、ringbuffer接口(1)初始化ringbuffer虚拟IO控制(2)和ringbuffer IO控制
(3)所包含的所有信息;所述所有信息包括:ringbuffer IO控制(3)的读指针、写指针、
ringbuffer大小、数据传输启动控制;ringbuffer虚拟IO控制(2)的空闲空间首地址和空闲
空间大小;所述ringbuffer虚拟IO控制(2)的空闲空间首地址是指ringbuffer IO控制(3)
中ringbuffer的空闲空间首地址;所述ringbuffer虚拟IO控制(2)的空闲空间大小是指
ringbuffer IO控制(3)中ringbuffer的空闲空间大小;
步骤2、当有数据需要存储到ringbuffer上时,首先判断ringbuffer虚拟IO控制(2)中
记载的ringbuffer的空闲空间大小是否能够存储当前数据,若可以则直接将待存储数据写
入ringbuffer的空闲空间首地址开始的连续空间内,数据存储完成后更新ringbuffer IO
控制(3)中的写指针信息;若不可以则ringbuffer虚拟IO控制(2)向ringbuffer IO控制(3)
发起同步操作,更新ringbuffer虚拟IO控制(2)信息,重新进行数据存储操作;
步骤3、当收到数据传输启动命令时,发送ringbuffer IO控制(3)中ringbuffer上存储
的数据信息,发送完成后更新ringbuffer IO控制(3)中的读指针信息;当ringbuffer中的
数据存储满空间时,主动发起数据传输操作,发送完成后更新ringbuffer IO控制(3)中的
读指针信息。
2.如权利要求1所述的一种面向GPU实现的虚拟IO ringbuffer的方法,其特征在于,
ringbuffer IO控制(3)中:
读指针:表示当前ringbuffer数据搬移到的地址或地址标记;
写指针:表示当前ringbuffer数据存储的地址或者地址标记;
ringbuffer大小:ringbuffer空间总大小;
数据传输启动:用于控制ringbuffer中当前存储数据的传输,可被动启动数据传输操
作,也可主动启动数据传输操作。

说明书

一种面向GPU实现的虚拟IO ringbuffer的方法

技术领域

本发明属于软件设计领域,涉及一种面向GPU实现的虚拟IO ringbuffer的方法。

背景技术

ringbuffer是GPU设计中图形命令传输的重要组成部分,负责主机的GPU之间的命
令交互,主机和GPU交互一般由主机接口完成,公开的资料中ringbuffer设计都是直接IO操
作,直接IO操作导致ringbuffer数据存储时要进行频繁IO操作,性能低且会导致主机接口
操作频繁切换降低主机接口带宽利用率。

发明内容

发明目的:

为了解决现有技术中的问题,本发明提供一种面向GPU实现的虚拟IO ringbuffer
的方法,数据存储时频繁的IO操作,提高ringbuffer数据存储速率和主机接口带宽利用率。

技术方案:

本发明的技术方案是:

一种面向GPU实现的虚拟IO ringbuffer的方法,包括:

步骤1、ringbuffer接口(1)初始化ringbuffer虚拟IO控制(2)和ringbuffer IO控
制(3)所包含的所有信息;所述所有信息包括:ringbuffer IO控制(3)的读指针、写指针、
ringbuffer大小、数据传输启动控制;ringbuffer虚拟IO控制(2)的空闲空间首地址和空闲
空间大小;所述ringbuffer虚拟IO控制(2)的空闲空间首地址是指ringbuffer IO控制(3)
中ringbuffer的空闲空间首地址;所述ringbuffer虚拟IO控制(2)的空闲空间大小是指
ringbuffer IO控制(3)中ringbuffer的空闲空间大小;

步骤2、当有数据需要存储到ringbuffer上时,首先判断ringbuffer虚拟IO控制
(2)中记载的ringbuffer的空闲空间大小是否能够存储当前数据,若可以则直接将待存储
数据写入ringbuffer的空闲空间首地址开始的连续空间内,数据存储完成后更新
ringbuffer IO控制(3)中的写指针信息;若不可以则ringbuffer虚拟IO控制(2)向
ringbuffer IO控制(3)发起同步操作,更新ringbuffer虚拟IO控制(2)信息,重新进行数据
存储操作;

步骤3、当收到数据传输启动命令时,发送ringbuffer IO控制(3)中ringbuffer上
存储的数据信息,发送完成后更新ringbuffer IO控制(3)中的读指针信息;当ringbuffer
中的数据存储满空间时,主动发起数据传输操作,发送完成后更新ringbuffer IO控制(3)
中的读指针信息。

ringbuffer IO控制(3)中:

读指针:表示当前ringbuffer数据搬移到的地址或地址标记;

写指针:表示当前ringbuffer数据存储的地址或者地址标记;

ringbuffer大小:ringbuffer空间总大小;

数据传输启动:用于控制ringbuffer中当前存储数据的传输,可被动启动数据传
输操作,也可主动启动数据传输操作。

有益效果:

本发明的优点是:本发明提供了一种面向GPU实现的虚拟IO ringbuffer的方法,
通过建立虚拟IO操作方式,减少ringbuffer软硬件同步次数,尤其是在ringbuffer频繁的
IO操作时,大幅提高ringbuffer数据存储速率和主机接口带宽利用率。

附图说明

图1为一种面向GPU实现的虚拟IO ringbuffer的方法示意图。

具体实施方式

下面结合附图和实施例对本发明做进一步的说明:

一种面向GPU实现的虚拟IO ringbuffer的方法,如图1所示,包括:

步骤1、ringbuffer接口(1)初始化ringbuffer虚拟IO控制(2)和ringbuffer IO控
制(3)所包含的所有信息;所述所有信息包括:ringbuffer IO控制(3)的读指针、写指针、
ringbuffer大小、数据传输启动控制;ringbuffer虚拟IO控制(2)的空闲空间首地址和空闲
空间大小;所述ringbuffer虚拟IO控制(2)的空闲空间首地址是指ringbuffer IO控制(3)
中ringbuffer的空闲空间首地址;所述ringbuffer虚拟IO控制(2)的空闲空间大小是指
ringbuffer IO控制(3)中ringbuffer的空闲空间大小;

步骤2、当有数据需要存储到ringbuffer上时,首先判断ringbuffer虚拟IO控制
(2)中记载的ringbuffer的空闲空间大小是否能够存储当前数据,若可以则直接将待存储
数据写入ringbuffer的空闲空间首地址开始的连续空间内,数据存储完成后更新
ringbuffer IO控制(3)中的写指针信息;若不可以则ringbuffer虚拟IO控制(2)向
ringbuffer IO控制(3)发起同步操作,更新ringbuffer虚拟IO控制(2)信息,重新进行数据
存储操作;

步骤3、当收到数据传输启动命令时,发送ringbuffer IO控制(3)中ringbuffer上
存储的数据信息,发送完成后更新ringbuffer IO控制(3)中的读指针信息;当ringbuffer
中的数据存储满空间时,主动发起数据传输操作,发送完成后更新ringbuffer IO控制(3)
中的读指针信息。

ringbuffer IO控制(3)中:

读指针:表示当前ringbuffer数据搬移到的地址或地址标记;

写指针:表示当前ringbuffer数据存储的地址或者地址标记;

ringbuffer大小:ringbuffer空间总大小;

数据传输启动:用于控制ringbuffer中当前存储数据的传输,可被动启动数据传
输操作,也可主动启动数据传输操作。

一种面向GPU实现的虚拟IORINGBUFFER的方法.pdf_第1页
第1页 / 共5页
一种面向GPU实现的虚拟IORINGBUFFER的方法.pdf_第2页
第2页 / 共5页
一种面向GPU实现的虚拟IORINGBUFFER的方法.pdf_第3页
第3页 / 共5页
点击查看更多>>
资源描述

《一种面向GPU实现的虚拟IORINGBUFFER的方法.pdf》由会员分享,可在线阅读,更多相关《一种面向GPU实现的虚拟IORINGBUFFER的方法.pdf(5页珍藏版)》请在专利查询网上搜索。

本发明属于软件设计领域,涉及一种面向GPU实现的虚拟IO?ringbuffer的方法,包括:当有数据需要存储到ringbuffer上时,若ringbuffer的空闲空间大小能够存储当前数据,则将待存储数据写入ringbuffer的空闲空间首地址开始的连续空间内,更新写指针信息;若不可以则ringbuffer虚拟IO控制(2)向ringbuffer?IO控制(3)发起同步操作,重新进行数据存储操作;。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1