IP Library Granted Patent US 10,867,363
Granted Patent B2
US 10,867,363 · App. 16/369,028 · Granted Dec 15, 2020

Device and method for accelerating graphics processor units, and computer readable storage medium

Inventor: Kuo-Chun Chiu (New Taipei, TW)
Assignee: Shenzhen Fugui Precision Ind. Co., Ltd.
G06T1/20G06F9/3877G06F9/5027G06F15/17375
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,867,363
App. No.
16/369,028
Granted
Dec 15, 2020
Kind
B2
Abstract

A method for accelerating graphics processing units (GPUs) receives a request for usage of GPU resource sent by a user, calculates a quantity of GPUs which are necessary, and arrange the GPUs in several ways to maximize data transmission from and between the GPUs, and between the GPUs and one or more central processing units (CPUs) connected by switches between the GPUs and the CPUs. A device for accelerating GPUs is also provided.

Claims (44)

1. A method for accelerating graphics processor units (GPUs), a plurality of GPUs exchanging data with central processing units (CPUs) through switches, a number of the GPUs being greater than or equal to a number of switches being greater than or equal to a number of the CPUs, the method comprising:

receiving a request for usage of GPU resource sent by a user;

calculating a quantity of the GPUs necessary for the usage;

arranging the GPUs according to the usage to maximize data transmission of the GPUs; and

processing the request for GPU resource by the arranged GPUs;

wherein when the usage of the GPUs is less than or equal to a first threshold, a plurality of GPUs connected to different switches is selected, and the switches perform data interaction with one of the CPUs;

when the usage of the GPUs is greater than the first threshold and less than or equal to a second threshold, the GPUs are distributed into groups, each group of GPUs communicates with one of the switches to form a joint body; and

when the usage of the GPUs is greater than or equal to the second threshold, the GPUs are arranged to form a ring index according to a preset index rule.

2. The method for accelerating GPUs of claim 1 , wherein

when the usage of the GPUs is greater than the first threshold and less than or equal to a second threshold, the joint bodies perform data interaction with at least two CPUs.

3. The method for accelerating GPUs of claim 2 , wherein each group of GPUs comprises one or more GPUs.

4. The method for accelerating GPUs of claim 2 , wherein p 1 when the usage of the GPUs is greater than or equal to the second threshold, the GPUs in the ring index perform data interaction with the CPU through at least one switch.

5. The method for accelerating GPUs of claim 4 , wherein the preset index rule is to use an NVlink connection to change index numbers of the GPUs.

6. The method for accelerating GPUs of claim 4 , wherein the first threshold is two, and the second threshold is eight.

7. A device for accelerating graphics processor units (GPUs), a plurality of GPUs exchanging data with central processing units (CPUs) through switches, a number of the GPUs being greater than or equal to a number of switches being greater than or equal to a number of the CPUs, the device comprising:

a communication unit configured for to establish a communication connection between the GPUs and the switches, and the switches and the CPUs;

a processor; and

a storage device storing one or more programs, when executed by the processor, the one or more programs causing the processor to:

receive a request for usage of GPU resource sent by a user;

calculate a quantity of the GPUs necessary for the usage;

arrange the GPUs according to the usage to maximize data transmission of the GPUs; and

process the request for GPU resource by the arranged GPUs;

wherein when the usage of the GPUs is less than or equal to a first threshold, a plurality of GPUs connected to different switches are selected, and the switches perform data interaction with one of the CPUs;

when the usage of the GPUs is greater than the first threshold and less than or equal to a second threshold, the GPUs are distributed into groups, each group of GPUs communicates with one of the switches to form a joint body; and

when the usage of the GPUs is greater than or equal to the second threshold, the GPUs are arranged to form a ring index according to a preset index rule.

8. The device for accelerating GPUs of claim 7 , wherein

when the usage of the GPUs is greater than the first threshold and less than or equal to a second threshold, the joint bodies perform data interaction with at least two CPUs.

9. The device for accelerating GPUs of claim 8 , wherein each group of GPUs comprises one or more GPUs.

10. The device for accelerating GPUs of claim 8

wherein when the usage of the GPUs is greater than or equal to the second threshold, the GPUs in the ring index perform data interaction with the CPU through at least one switch.

11. The device for accelerating GPUs of claim 10 , wherein the preset index rule is to use an NVlink connection to change index numbers of the GPUs.

12. The device for accelerating GPUs of claim 8 , wherein the first threshold is two, and the second threshold is eight.

13. A non-transitory computer readable storage medium having stored thereon instructions that, when executed by at least one processor of a computing device, causes the processor to perform a method for accelerating graphic processor units (GPUs), a plurality of GPUs exchanging data with central processing units (CPUs) through switches, a number of the GPUs being greater than or equal to a number of switches being greater than or equal to a number of the CPUs, wherein the method comprises:

receiving a request for usage of GPU resource sent by a user;

calculating a quantity of the GPUs necessary for the usage;

arranging the GPUs according to the usage to maximize data transmission of the GPUs; and

processing the request for GPU resource by the arranged GPUs;

wherein when the usage of the GPUs is less than or equal to a first threshold, a plurality of GPUs connected to different switches are selected, and the switches perform data interaction with one of the CPUs;

when the usage of the GPUs is greater than the first threshold and less than or equal to a second threshold, the GPUs are distributed into groups, each group of GPUs communicates with one of the switches to form a joint body; and

when the usage of the GPUs is greater than or equal to the second threshold, the GPUs are arranged to form a ring index according to a preset index rule.

14. The non-transitory computer readable storage medium of claim 13 , wherein

when the usage quantity of the GPUs is greater than the first threshold and less than or equal to a second threshold, the joint bodies perform data interaction with at least two CPUs.

15. The non-transitory computer readable storage medium of claim 13 , wherein

when the usage of the GPUs is greater than or equal to the second threshold, the GPUs in the ring index perform data interaction with the CPU through at least one switch.

Assignments (2)
CHANGE OF NAME Recorded Nov 30, 2021
From: SHENZHEN FUGUI PRECISION IND. CO., LTD.
To: SHENZHEN FULIAN FUGUI PRECISION INDUSTRY CO., LTD.
Reel/Frame 058280/0139 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2019
From: CHIU, KUO-CHUN
To: SHENZHEN FUGUI PRECISION IND. CO., LTD.
Reel/Frame 048737/0142 →
Priority Claims (1)
CN 2019 1 0072335 · Jan 25, 2019 · national
Continuity (1)
Related Publication 20200242724A1 · Jul 30, 2020