IP Library Granted Patent US 10,482,564
Granted Patent B2
US 10,482,564 · App. 15/690,593 · Granted Nov 19, 2019

Method and system for improving GPU performance during data-intensive visualization operations

Inventors: Ningyi Zhou (Hangzhou, CN); Xiao Wen (Hangzhou, CN); Ruixian Ma (Hangzhou, CN); Ye Zhang (Hangzhou, CN)
Assignee: ALIBABA GROUP HOLDING LIMITED
G06T1/20G01C21/3676G06T11/001G06T11/203G06T11/206G06T15/005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,482,564
App. No.
15/690,593
Granted
Nov 19, 2019
Kind
B2
Abstract

Disclosed herein are methods and systems for improving GPU processing during visualization operations. In one embodiment, the method comprises receiving a data frame at a central processing unit (CPU), the data frame including a plurality of pieces of associated data; identifying, by the CPU, feature information corresponding to the plurality of pieces of associated data; generating, by the CPU, overall feature information by combining at least a portion of the feature information; and sending, by the CPU, the overall feature information to a graphics processing unit (GPU).

Claims (64)

1. A method comprising:

receiving a data frame at a central processing unit (CPU), the data frame including a plurality of pieces of associated data, the associated data describing a set of points between a start point and an end point;

identifying, by the CPU, feature information corresponding to the plurality of pieces of associated data, the feature information representing a property of at least one point in the set of points;

generating, by the CPU, overall feature information by combining at least a portion of the feature information; and

sending, by the CPU, the overall feature information to a graphics processing unit (GPU) for visually rendering the overall feature information.

2. The method of claim 1 wherein feature information comprises a position array and a color array, and wherein combining at least a portion of the feature information comprises:

combining, by the CPU, position arrays of respective pieces of feature information to obtain an overall position array;

combining, by the CPU, color arrays of respective pieces of feature information to obtain an overall color array; and

identifying, by the CPU, the overall position array and the overall color array as the overall feature information.

3. The method of claim 1 wherein the pieces of associated data are sequentially ordered and wherein the method further comprises:

identifying, by the CPU, adjacent pieces of associated data in the plurality of pieces of associated data based on a start point coordinate of a first piece of associated data and an end point coordinate of a second piece of associated data;

generating, by the CPU using a position function, a position array comprising a plurality of position points connecting the first piece of associated data to the second piece of associated data;

generating, by the CPU, a color array comprising a plurality of color values corresponding to each of the plurality of position points in the position array;

generating, by the CPU, connection information based on the position array and the color array; and

inserting, by the CPU, the connection information between feature information associated with the first piece of associated data and feature information associated with the second piece of associated data.

4. The method of claim 1 wherein prior to generating overall feature information by combining at least a portion of the feature information the method comprises dividing the plurality of pieces of associated data into a plurality of sets, wherein at least one set comprises two or more pieces of associated data in the plurality of pieces of associated data.

5. The method of claim 4 wherein generating overall feature information by combining at least a portion of the feature information comprises generating corresponding overall feature information for each of the sets, and wherein sending the overall feature information to the GPU comprises individually sending the corresponding overall feature information corresponding to each set.

6. The method of claim 1 further comprising:

performing, by the GPU, a rendering operation based on the overall feature information and obtaining rendering data;

performing, by the GPU, a visualization operation using the rendering data; and

obtaining, by the GPU, a visualization result.

7. The method of claim 1 further comprising:

setting, by the CPU, a feature identifier for each piece of feature information;

assigning, by the CPU, a position point identifier set to each feature identifier, wherein a position point identifier set includes a plurality of position points associated with corresponding feature information;

assigning, by the CPU, a state identifier to each feature identifier, a state identifier indicating a use state of corresponding feature information; and

building, by the CPU, a wake-up feature identifier set and a sleep feature identifier set based on the state identifiers associated with each of the feature identifiers.

8. The method of claim 7 wherein the state identifier set indicates whether the feature information is in wake-up state or in a sleep state.

9. The method of claim 7 further comprising updating, by the CPU, a subset of the pieces of feature information based on the state identifiers associated with the feature identifiers.

10. The method of claim 9 wherein updating a subset of the pieces of feature information based on the state identifiers associated with the feature identifiers comprises:

waiting, by the CPU, a predetermined period of time upon determining that the sleep feature identifier set is a null set;

selecting, by the CPU, a feature identifier from the sleep feature identifier set upon determining that the sleep feature identifier set is not null;

updating, by the CPU, a state identifier associated with the selected feature identifier to a wake-up state;

updating, by the CPU, the overall feature information with new feature information associated with the selected feature identifier; and

sending, by the CPU, the updated feature information to the GPU.

11. A system comprising:

a graphics processing unit (GPU); and

a central processing unit (CPU) configured to:

receive a data frame, the data frame including a plurality of pieces of associated data, the associated data describing a set of points between a start point and an end point;

identify feature information corresponding to the plurality of pieces of associated data, the feature information representing a property of at least one point in the set of points;

generate overall feature information by combining at least a portion of the feature information; and

send the overall feature information to the GPU for visually rendering the overall feature information.

12. The system of claim 11 wherein feature information comprises a position array and a color array, and wherein combining at least a portion of the feature information comprises:

combining position arrays of respective pieces of feature information to obtain an overall position array;

combining color arrays of respective pieces of feature information to obtain an overall color array; and

identifying the overall position array and the overall color array as the overall feature information.

13. The system of claim 11 wherein the pieces of associated data are sequentially ordered and wherein the CPU is further configured to:

identify adjacent pieces of associated data in the plurality of pieces of associated data based on a start point coordinate of a first piece of associated data and an end point coordinate of a second piece of associated data;

generate, using a position function, a position array comprising a plurality of position points connecting the first piece of associated data to the second piece of associated data;

generate a color array comprising a plurality of color values corresponding to each of the plurality of position points in the position array;

generate connection information based on the position array and the color array; and

insert the connection information between feature information associated with the first piece of associated data and the feature information associated with the second piece of associated data.

14. The system of claim 11 wherein prior to generating overall feature information by combining at least a portion of the feature information the CPU is further configured to divide the plurality of pieces of associated data into a plurality of sets, wherein at least one set comprises two or more pieces of associated data in the plurality of pieces of associated data.

15. The system of claim 14 wherein generating overall feature information by combining at least a portion of the feature information comprises generating corresponding overall feature information for each of the sets, and wherein sending the overall feature information to the GPU comprises individually sending the corresponding overall feature information corresponding to each set.

16. The system of claim 11 wherein the GPU is further configured to:

perform a rendering operation based on the overall feature information and obtaining rendering data;

perform a visualization operation using the rendering data; and

obtain a visualization result.

17. The system of claim 11 wherein the CPU is further configured to:

set a feature identifier for each piece of feature information;

assign a position point identifier set to each feature identifier, wherein a position point identifier set includes a plurality of position points associated with corresponding feature information;

assign a state identifier to each feature identifier, a state identifier indicating a use state of corresponding feature information; and

build a wake-up feature identifier set and a sleep feature identifier set based on the state identifiers associated with each of the feature identifiers.

18. The system of claim 17 wherein the state identifier set indicates whether the feature information is in wake-up state or in a sleep state.

19. The system of claim 17 wherein the CPU is further configured to update a subset of the pieces of feature information based on the state identifiers associated with the feature identifiers.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075478/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 27, 2018
From: ZHOU, NINGYI; WEN, XIAO; MA, RUIXIAN; ZHANG, YE
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 045658/0272 →
Priority Claims (1)
CN 2016 1 0818816 · Sep 12, 2016 · national
Continuity (1)
Related Publication 20180075571A1 · Mar 15, 2018