CN109542628B - Hierarchical GPU resource management system based on state machine - Google Patents

Hierarchical GPU resource management system based on state machine Download PDF

Info

Publication number
CN109542628B
CN109542628B CN201811518787.5A CN201811518787A CN109542628B CN 109542628 B CN109542628 B CN 109542628B CN 201811518787 A CN201811518787 A CN 201811518787A CN 109542628 B CN109542628 B CN 109542628B
Authority
CN
China
Prior art keywords
level module
gpu
module
state
interface
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
CN201811518787.5A
Other languages
Chinese (zh)
Other versions
CN109542628A (en
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 CN201811518787.5A priority Critical patent/CN109542628B/en
Publication of CN109542628A publication Critical patent/CN109542628A/en
Application granted granted Critical
Publication of CN109542628B publication Critical patent/CN109542628B/en
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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention belongs to the field of computer graphics, and provides a hierarchical GPU resource management system based on a state machine, which comprises an equipment driving level module (1), a multi-GPU system level module (2), a standard drawing interface level module (3), an expansion interface level module (4) and a user interface level module (5). According to the invention, by establishing the hierarchical GPU resource model with the module internal state machine, the switching and migration of the module internal state are effectively controlled, the robustness of each level module of the GPU equipment is enhanced, and the efficient management of GPU hardware and software resources is completed.

Description

Hierarchical GPU resource management system based on state machine
Technical Field
The invention belongs to the field of computer graphics, and particularly relates to a hierarchical GPU resource management system based on a state machine.
Background
The Graphics Processing Unit (GPU) is a core part of computer graphics image processing, and the performance of the GPU directly determines the effect of application drawing. Meanwhile, the rapid increase of the parallel data processing requirement leads the GPU to occupy an important position in the field of general computing. However, the graphics processor has the characteristics of complex design structure, long 3D pipeline, numerous software and hardware resources, complex state transition, and the like, and puts strict requirements on the design and development of the graphics processor.
Disclosure of Invention
The purpose of the invention is:
the invention provides a hierarchical GPU resource management system based on a state machine, which is used for completing the high-efficiency management of GPU hardware and software resources. Meanwhile, a module state machine is introduced into the module, so that equipment state switching and migration are effectively controlled, the robustness of each layer of module of the GPU equipment is enhanced, and a good design basis is laid for designing and developing a high-performance GPU.
The solution of the invention is:
a hierarchical GPU resource management system based on a state machine comprises a device driving level module 1, a multi-GPU system level module 2, a standard drawing interface level module 3, an expansion interface level module 4 and a user interface level module 5;
the device driving level module 1 is used for driving and managing GPU bottom hardware, supporting two modes of single GPU device development and multi-GPU device development and providing device driving call for the multi-GPU system level module 2 and the standard drawing interface level module 3;
the multi-GPU system level module 2 supports a grid system formed by multiple GPU equipment, supports multi-task management and multiple GL contexts, calls an equipment driving level module 1 interface to complete the management of the GPU equipment, and provides GPU system management for the standard drawing interface level module 3;
the standard drawing interface level module 3 is used for providing standard graph and image drawing interfaces, and the standard drawing interfaces are processed by the equipment driving level module 1 and the multi-GPU system level module 2;
the expansion interface level module 4 is used for providing general graphic drawing expansion contents, including a graphic drawing third-party library and a desktop system, and an expansion interface command is issued through the standard drawing interface level module 3;
and the user interface hierarchical module 5 enables a user to call two types of drawing interfaces, namely a 3-standard drawing interface hierarchical module and a 4-extended interface hierarchical module, to draw applications.
The device driver level module 1 internal states include power-on/reset, on initialization, active, off and fault states.
The standard drawing interface hierarchy module 3 includes scan self-test, configuration, grid build, operational, shutdown and fault status.
The standard graphics and image drawing interfaces of the standard drawing interface level module 3 include OpenGL and DirectX interfaces.
The third-party library for graphic rendering of the extended interface hierarchy module 4 includes: glu, glut, word stock.
The desktop system of the extended interface hierarchy module 4 includes: miniGUI.
According to the state machine-based hierarchical GPU resource management system, the hierarchical GPU resource model with the state machine in the module is established, the switching and the migration of the internal state of the module are effectively controlled, the robustness of each level module of GPU equipment is enhanced, and the efficient management of GPU hardware and software resources is completed.
Drawings
FIG. 1 is a block diagram of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the present invention is further described in detail with reference to the following embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The technical solution of the present invention is further described in detail with reference to the accompanying drawings and specific embodiments.
As shown in fig. 1, a hierarchical GPU resource management method based on a state machine includes a device driver level module 1, a multi-GPU system level module 2, a standard drawing interface level module 3, an extended interface level module 4, and a user interface level module 5;
the device driver level module 1 is used for driving and managing GPU bottom hardware, supporting two modes of single GPU device development and multi-GPU device development, and providing device driver calling for the multi-GPU system level module 2 and the standard drawing interface level module 3, wherein the states in the module comprise power-on/reset, opening initialization, working, closing and fault states;
the device driver comprises a hardware driver and a software driver. The hardware driver provides management for GPU hardware equipment including pcie, mmu, dc, spi, iic and gpio; the software driver comprises a host driver, GL command processing and command buffer management;
the equipment state is switched in sequence according to the power-on/reset, the opening initialization, the working state and the closing state, and if the opening initialization or the working state fails, the equipment enters the failure state;
the multi-GPU system level module 2 is characterized by supporting a grid system formed by multiple GPU equipment, supporting multi-task management and multiple GL contexts, calling an equipment driving level module 1 interface to complete the management of the GPU equipment, and simultaneously providing GPU system management for a standard drawing interface level module 3, wherein the module comprises scanning self-checking, configuration, grid establishment, working, closing and fault states;
the multi-GPU system comprises three parts of multi-GPU device management, multitask management and multi-GL context management. The multi-GPU equipment management is realized by constructing a desktop grid, calling a bottom-layer equipment driving interface and managing and maintaining GPU equipment according to the form of grid units; the management of the multi-task and multi-GL context is processed according to the multi-task and multi-GL management model and the tasks and the GL contexts appointed by the user;
the multi-GPU system state is a scanning self-checking state, a configuration state, a grid building state, a working state and a closing state in sequence, and if a fault occurs in the grid building state or the working state, the multi-GPU system state enters the fault state;
the standard drawing interface level module 3 is used for providing standard graphics and image drawing interfaces, including OpenGL and DirectX, and the drawing interfaces can be processed through the equipment driving level module 1 and the multi-GPU system level module 2;
the expansion interface level module 4 is used for providing general graphic drawing expansion contents, including a graphic drawing third-party library such as glu, glut and word library and a desktop system such as MiniGUI, and an expansion interface command is issued through the standard drawing interface level module 3;
the user interface level module 5 is characterized in that a user can call two types of graphic drawing interfaces, namely the standard drawing interface level module 3 and the extended interface level module 4, to draw an application.

Claims (4)

1. A hierarchical GPU resource management system based on a state machine is characterized by comprising a device driving level module (1), a multi-GPU system level module (2), a standard drawing interface level module (3), an expansion interface level module (4) and a user interface level module (5);
the device driver level module (1) drives and manages GPU bottom hardware, supports two modes of single GPU device development and multi-GPU device development, and provides device driver calling for the multi-GPU system level module (2) and the standard drawing interface level module (3);
the multi-GPU system level module (2) supports a grid system formed by multiple GPU equipment, supports multi-task management and multiple GL contexts, calls an equipment driving level module (1) interface to complete the management of the GPU equipment, and provides GPU system management for the standard drawing interface level module (3);
the standard drawing interface level module (3) is used for providing standard graphic and image drawing interfaces, and the standard drawing interfaces are processed by the equipment driving level module (1) and the multi-GPU system level module (2);
the expansion interface level module (4) provides general graphic drawing expansion content, comprises a graphic drawing third-party library and a desktop system, and an expansion interface command is issued through the standard drawing interface level module (3);
the user interface level module (5) is used for calling two types of graphic drawing interfaces, namely the standard drawing interface level module (3) and the extended interface level module (4), to draw an application;
the device driving level module (1) comprises a power-on/reset module, a power-on initialization module, a working module, a closing module and a fault module, wherein the states in the device driving level module (1) comprise a power-on/reset state, a power-on initialization state, a working state, a closing state and a fault state;
the multi-GPU system level module (2) comprises scanning self-checking, configuration, grid building, working, closing and fault states; the multi-GPU system state sequentially comprises a scanning self-checking state, a configuration state, a grid building state, a working state and a closing state, and if a fault occurs in the grid building or working state, the multi-GPU system state enters the fault state.
2. The state-machine based hierarchical GPU resource management system of claim 1,
and the standard graphics and image drawing interfaces of the standard drawing interface level module (3) comprise OpenGL and DirectX interfaces.
3. The state-machine based hierarchical GPU resource management system of claim 1,
the graphic drawing third-party library of the extended interface hierarchy module (4) comprises: glu, glut, word stock.
4. The state-machine based hierarchical GPU resource management system of claim 1,
a desktop system for extending an interface hierarchy module (4) comprises: miniGUI.
CN201811518787.5A 2018-12-12 2018-12-12 Hierarchical GPU resource management system based on state machine Active CN109542628B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811518787.5A CN109542628B (en) 2018-12-12 2018-12-12 Hierarchical GPU resource management system based on state machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811518787.5A CN109542628B (en) 2018-12-12 2018-12-12 Hierarchical GPU resource management system based on state machine

Publications (2)

Publication Number Publication Date
CN109542628A CN109542628A (en) 2019-03-29
CN109542628B true CN109542628B (en) 2023-03-14

Family

ID=65855072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811518787.5A Active CN109542628B (en) 2018-12-12 2018-12-12 Hierarchical GPU resource management system based on state machine

Country Status (1)

Country Link
CN (1) CN109542628B (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6891543B2 (en) * 2002-05-08 2005-05-10 Intel Corporation Method and system for optimally sharing memory between a host processor and graphics processor
US7659901B2 (en) * 2006-07-24 2010-02-09 Microsoft Corporation Application program interface for programmable graphics pipeline
US8436870B1 (en) * 2006-08-01 2013-05-07 Nvidia Corporation User interface and method for graphical processing analysis
CN102867284B (en) * 2011-07-07 2016-10-26 腾讯科技(深圳)有限公司 A kind of graph drawing engine device and its implementation
CN102541804B (en) * 2011-12-26 2014-04-02 中国人民解放军信息工程大学 Multi-GPU (graphic processing unit) interconnection system structure in heterogeneous system
US9626216B2 (en) * 2012-05-09 2017-04-18 Nvidia Corporation Graphics processing unit sharing between many applications

Also Published As

Publication number Publication date
CN109542628A (en) 2019-03-29

Similar Documents

Publication Publication Date Title
JP6009675B2 (en) Dynamic partitioning technology for physical memory
CN103034524B (en) Half virtualized virtual GPU
US10504203B2 (en) Virtual graphics device driver
CN111488196B (en) Rendering method and device, storage medium and processor
US7475197B1 (en) Cross process memory management
US20110084973A1 (en) Saving, Transferring and Recreating GPU Context Information Across Heterogeneous GPUs During Hot Migration of a Virtual Machine
US8587594B2 (en) Allocating resources based on a performance statistic
JP2003233508A (en) Method for controlling calculation resource in coprocessor in computing system and computing device
CN105741227A (en) Rending method and apparatus
US20060200331A1 (en) Callbacks in asynchronous or parallel execution of a physics simulation
JP2014504416A (en) Device discovery and topology reporting in combined CPU / GPU architecture systems
WO2013004118A1 (en) Graphics rendering engine and implementation method thereof
US8522254B2 (en) Programmable integrated processor blocks
US9959134B2 (en) Request processing using VM functions
JPH01129371A (en) Raster scan display device and graphic data transfer
KR101900436B1 (en) Device discovery and topology reporting in a combined cpu/gpu architecture system
JP2013120438A (en) Graphics command generation device and graphics command generation method
CN109254826B (en) Suspension detection for virtualized acceleration processing device
CN111857669A (en) Software and hardware decoupling software radar system, real-time design method and server
CN114972607B (en) Data transmission method, device and medium for accelerating image display
CN106651744B (en) Low-power-consumption GPU (graphics processing Unit) dyeing task and unified dyeing array task field mapping structure
US11875145B2 (en) Virtual machine update while keeping devices attached to the virtual machine
KR102521654B1 (en) Computing system and method for performing graphics pipeline of tile-based rendering thereof
WO2023143280A1 (en) Method for rendering image and related apparatus
CN114936173B (en) Read-write method, device, equipment and storage medium of eMMC device

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