CN107908428B - 一种帧、页同步的gpu图形指令缓冲同步方法 - Google Patents

一种帧、页同步的gpu图形指令缓冲同步方法 Download PDF

Info

Publication number
CN107908428B
CN107908428B CN201711202638.3A CN201711202638A CN107908428B CN 107908428 B CN107908428 B CN 107908428B CN 201711202638 A CN201711202638 A CN 201711202638A CN 107908428 B CN107908428 B CN 107908428B
Authority
CN
China
Prior art keywords
page
ringbuffer
management module
instruction
synchronization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711202638.3A
Other languages
English (en)
Other versions
CN107908428A (zh
Inventor
马城城
聂曌
刘晖
许宏杰
张骏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Aeronautics Computing Technique Research Institute of AVIC
Original Assignee
Xian Aeronautics Computing Technique Research Institute of AVIC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Aeronautics Computing Technique Research Institute of AVIC filed Critical Xian Aeronautics Computing Technique Research Institute of AVIC
Priority to CN201711202638.3A priority Critical patent/CN107908428B/zh
Publication of CN107908428A publication Critical patent/CN107908428A/zh
Application granted granted Critical
Publication of CN107908428B publication Critical patent/CN107908428B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • G06F9/3012Organisation of register space, e.g. banked or distributed register file
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Multi Processors (AREA)

Abstract

本发明属于计算机应用领域,涉及一种帧、页同步的GPU图形指令缓冲同步方法。本发明的实现依赖于以下模块:图形API指令处理接口(1)、页管理(2)、ringbuffer管理(3)、ringbuffer IO控制(4)。本发明通过构建Ringbuffer页式管理和虚拟IO管理的方法,提高GPU图形指令生成与图形指令处理之间的同步粒度,且减少图形API执行过程中的IO操作,提升图形操作执行效率。

Description

一种帧、页同步的GPU图形指令缓冲同步方法
技术领域
本发明属于软件设计领域,涉及一种帧、页同步的GPU图形指令缓冲同步方法。
背景技术
OpenGL、DirectX图形接口标准定义的图形指令同步方式都是强制图形指令执行的帧同步方式,但帧同步方式将图形指令执行与图形指令处理串行执行,影响绘图效率。公开的资料中未发现有关帧、页同步的GPU图形指令缓冲同步方法。
发明内容
本发明的目的是:为了解决现有技术中的问题,本发明通过构建页式管理和ringbuffer虚拟IO管理方法,提高GPU图形指令生成与图形指令处理之间的同步粒度,且减少图形API执行过程中的IO操作,提升图形操作执行效率。
本发明的技术方案是:
一种帧、页同步的GPU图形指令缓冲同步方法,所述方法的实现依赖于以下模块:图形API指令处理接口模块(1)、页管理模块(2)、ringbuffer管理模块(3)、ringbuffer IO控制模块(4);
所述图形API指令处理接口模块(1),接收图形应用程序,转化为直接帧同步操作和指令存储操作,将帧同步操作发送给ringbuffer管理模块(3)处理,将指令存储操作发送给页管理模块(2)。
所述页管理模块(2),接收图形API指令处理接口模块(1)的指令存储操作请求,根据当前页空闲空间大小处理指令存储操作,若当前页空闲空间大小满足当前指令的存储需求,向ringbuffer管理模块(3)发送写指针请求;若当前页空闲空间大小不满足当前指令的存储需求,则将页同步操作发送给 ringbuffer管理模块(3);
所述ringbuffer管理模块(3),包含写指针操作和空闲空间管理;写指针操作是更新ringbuffer写指针地址,空闲空间管理是更新空闲空间大小;写指针在接收到图形API指令处理接口模块(1)的帧同步操作请求或接收到页管理模块(2)的写指针请求,将指针更新到ringbuffer IO控制模块(4);空闲空间管理在接收到页管理模块(2)的页同步操作请求,根据当前空闲空间大小处理页同步操作,若当前空闲空间大小能够分出新的页空间,则页同步成功并将页空闲空间大小反馈给页管理模块(2),否则页同步失败,向ringbuffer IO控制模块(4)发送IO操作请求;
所述ringbuffer IO控制模块(4),包含读指针、写指针、ringbuffer大小、数据传输启动控制。
a)读指针:表示当前ringbuffer数据搬移到的地址或地址标记;
b)写指针:表示当前ringbuffer数据存储的地址或者地址标记;
c)ringbuffer大小:ringbuffer空间总大小;
d)数据传输启动:用于控制ringbuffer中当前存储数据的搬移,可被动启动搬移,也可自动启动搬移;自动启动搬移可由一定的触发条件触发,触发条件可以是容量信息、时间信息等。
本发明的优点是:本发明提供了一种帧、页同步的GPU图形指令缓冲同步方法,通过构建页式管理和ringbuffer管理方法,减少图形API执行过程中频繁的IO操作,提升图形操作映射效率,降低GPU主机接口通信仲裁开销,提高带宽利用率,图形API执行效率大幅度上升。
附图说明
图1为一种帧、页同步的GPU图形指令缓冲同步方法;
图2为本发明中具体帧、页同步的GPU图形指令缓冲实施方式。
具体实施方式
下面结合附图和实施例对本发明做进一步的说明:
参见图1,一种帧、页同步的GPU图形指令缓冲同步方法,所述方法的实现依赖于以下模块:图形API指令处理接口模块(1)、页管理模块(2)、 ringbuffer管理模块(3)、ringbuffer IO控制模块(4);
所述图形API指令处理接口模块(1),接收图形应用程序,转化为直接帧同步操作和指令存储操作,将帧同步操作发送给ringbuffer管理模块(3)处理,将指令存储操作发送给页管理模块(2)。
所述页管理模块(2),接收图形API指令处理接口模块(1)的指令存储操作请求,根据当前页空闲空间大小处理指令存储操作,若当前页空闲空间大小满足当前指令的存储需求,向ringbuffer管理模块(3)发送写指针请求;若当前页空闲空间大小不满足当前指令的存储需求,则将页同步操作发送给 ringbuffer管理模块(3);
所述ringbuffer管理模块(3),包含写指针操作和空闲空间管理;写指针操作是更新ringbuffer写指针地址,空闲空间管理是更新空闲空间大小;写指针在接收到图形API指令处理接口模块(1)的帧同步操作请求或接收到页管理模块(2)的写指针请求,将指针更新到ringbuffer IO控制模块(4);空闲空间管理在接收到页管理模块(2)的页同步操作请求,根据当前空闲空间大小处理页同步操作,若当前空闲空间大小能够分出新的页空间,则页同步成功并将页空闲空间大小反馈给页管理模块(2),否则页同步失败,向ringbuffer IO控制模块(4)发送IO操作请求;
所述ringbuffer IO控制模块(4),包含读指针、写指针、ringbuffer大小、数据传输启动控制。
a)读指针:表示当前ringbuffer数据搬移到的地址或地址标记;
b)写指针:表示当前ringbuffer数据存储的地址或者地址标记;
c)ringbuffer大小:ringbuffer空间总大小;
d)数据传输启动:用于控制ringbuffer中当前存储数据的搬移,可被动启动搬移,也可自动启动搬移;自动启动搬移可由一定的触发条件触发,触发条件可以是容量信息、时间信息等。
具体帧、页同步的GPU图形指令缓冲实施方式如图2所示,绘制一帧时间由为SW和HW的较大时间,在图形API处理过程中仅帧同步或者页同步失败才进行实际IO操作,大大提升了图形API处理性能。

Claims (1)

1.一种帧、页同步的GPU图形指令缓冲同步方法,其特征为:所述方法的实现依赖于以下模块:图形API指令处理接口模块(1)、页管理模块(2)、ringbuffer管理模块(3)、ringbuffer IO控制模块(4);
所述图形API指令处理接口模块(1),接收图形应用程序,转化为直接帧同步操作和指令存储操作,将帧同步操作发送给ringbuffer管理模块(3)处理,将指令存储操作发送给页管理模块(2);
所述页管理模块(2),接收图形API指令处理接口模块(1)的指令存储操作请求,根据当前页空闲空间大小处理指令存储操作,若当前页空闲空间大小满足当前指令的存储需求,向ringbuffer管理模块(3)发送写指针请求;若当前页空闲空间大小不满足当前指令的存储需求,则将页同步操作发送给ringbuffer管理模块(3);
所述ringbuffer管理模块(3),包含写指针操作和空闲空间管理;写指针操作是更新ringbuffer写指针地址,空闲空间管理是更新空闲空间大小;写指针在接收到图形API指令处理接口模块(1)的帧同步操作请求或接收到页管理模块(2)的写指针请求,将指针更新到ringbufferIO控制模块(4);空闲空间管理在接收到页管理模块(2)的页同步操作请求,根据当前空闲空间大小处理页同步操作,若当前空闲空间大小能够分出新的页空间,则页同步成功并将页空闲空间大小反馈给页管理模块(2),否则页同步失败,向ringbuffer IO控制模块(4)发送IO操作请求;
所述ringbuffer IO控制模块(4),包含读指针、写指针、ringbuffer大小、数据传输启动控制;
具体帧、页同步的GPU图形指令缓冲实施方式为:在图形API处理过程中仅帧同步或者页同步失败才进行实际IO操作。
CN201711202638.3A 2017-11-24 2017-11-24 一种帧、页同步的gpu图形指令缓冲同步方法 Active CN107908428B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711202638.3A CN107908428B (zh) 2017-11-24 2017-11-24 一种帧、页同步的gpu图形指令缓冲同步方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711202638.3A CN107908428B (zh) 2017-11-24 2017-11-24 一种帧、页同步的gpu图形指令缓冲同步方法

Publications (2)

Publication Number Publication Date
CN107908428A CN107908428A (zh) 2018-04-13
CN107908428B true CN107908428B (zh) 2021-09-14

Family

ID=61848843

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711202638.3A Active CN107908428B (zh) 2017-11-24 2017-11-24 一种帧、页同步的gpu图形指令缓冲同步方法

Country Status (1)

Country Link
CN (1) CN107908428B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109671013B (zh) * 2018-12-12 2023-04-14 中国航空工业集团公司西安航空计算技术研究所 一种支持多gpu的高性能图形指令存储分发方法
CN110888737A (zh) * 2019-11-18 2020-03-17 中国航空工业集团公司西安航空计算技术研究所 一种支持多GPU的Ringbuffer实现系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231619A (zh) * 2008-02-22 2008-07-30 浙江大学 一种基于非连续页的动态内存管理方法
CN103778084A (zh) * 2012-10-23 2014-05-07 扬智科技股份有限公司 储存装置以及其循环缓冲器的存取方法
CN106708601A (zh) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 一种面向GPU实现的虚拟IOringbuffer的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7623134B1 (en) * 2006-06-15 2009-11-24 Nvidia Corporation System and method for hardware-based GPU paging to system memory
CN101594451A (zh) * 2008-04-14 2009-12-02 株式会社理光 图像处理系统,图像处理方法及存储介质
US9244690B2 (en) * 2009-09-09 2016-01-26 Advanced Micro Devices, Inc. Variable frequency output to one or more buffers
JP2011205217A (ja) * 2010-03-24 2011-10-13 Sony Corp 情報処理装置、情報処理方法、プログラム
US11100004B2 (en) * 2015-06-23 2021-08-24 Advanced Micro Devices, Inc. Shared virtual address space for heterogeneous processors

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231619A (zh) * 2008-02-22 2008-07-30 浙江大学 一种基于非连续页的动态内存管理方法
CN103778084A (zh) * 2012-10-23 2014-05-07 扬智科技股份有限公司 储存装置以及其循环缓冲器的存取方法
CN106708601A (zh) * 2016-12-12 2017-05-24 中国航空工业集团公司西安航空计算技术研究所 一种面向GPU实现的虚拟IOringbuffer的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
嵌入式GPU硬件加速渲染的纹理传输优化及预取策略研究;王海清;《中国优秀硕士学位论文全文数据库 信息科技辑》;20140715;24-26 *

Also Published As

Publication number Publication date
CN107908428A (zh) 2018-04-13

Similar Documents

Publication Publication Date Title
EP3951595A1 (en) Method and apparatus for graphics rendering
US9965014B2 (en) Techniques for tracing wakelock usage
CN108959117B (zh) H2d写操作加速方法、装置、计算机设备及存储介质
TWI712951B (zh) 電子存放裝置的任務管理方法、主機和存儲裝置
CN103180852A (zh) 分布式数据处理方法及装置
US9569381B2 (en) Scheduler for memory
CN107908428B (zh) 一种帧、页同步的gpu图形指令缓冲同步方法
CN104281668A (zh) 一种数据处理方法
CN105787129B (zh) 一种数据存储方法和电子设备
CN103200237B (zh) 一种保持远程桌面同步的方法和装置
CN108563519B (zh) 基于gpgpu中的2d桌面块拷贝填充操作的实现
CN113220650B (zh) 数据存储方法、装置、设备、存储介质及程序
EP4044015A1 (en) Data processing method and apparatus
CN111309740A (zh) 一种数据处理的方法、装置、设备及存储介质
CN111984198A (zh) 消息队列实现方法、装置及电子设备
US9690619B2 (en) Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory
US20110185142A1 (en) Information processing apparatus and data saving acceleration method of the information processing apparatus
CN106708601A (zh) 一种面向GPU实现的虚拟IOringbuffer的方法
CN109992560B (zh) 一种通信方法及通信系统
CN103593305A (zh) 信息处理设备、信息处理方法以及程序
CN113672172A (zh) 应用于led显示控制系统的数据交互方法以及接收卡
CN116601616A (zh) 一种数据处理装置、方法及相关设备
CN105518617A (zh) 缓存数据的处理方法及装置
CN110888737A (zh) 一种支持多GPU的Ringbuffer实现系统及方法
CN113094170B (zh) 一种5g通信虚拟化网元的内存总线分配方法和终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant