IP Library › Granted Patent US 11,556,766
Granted Patent B2
US 11,556,766 · App. 16/826,552 · Granted Jan 17, 2023

Loading of neural networks onto physical resources

Inventors: Jitendra Onkar Kolhe (Karnataka, IN); Gustavo Knuppe (Rio Grande do Sul, BR); Shyam Sankar Gopalakrishnan (Karnataka, IN); Vaithyalingam Nagendran (Karnataka, IN); Shounak Bandopadhyay (Karnataka, IN)
Assignee: Hewlett Packard Enterprise Development LP
G06N3/063G06F9/5027G06F9/5083G06N3/0454
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 11,556,766
App. No.
16/826,552
Granted
Jan 17, 2023
Kind
B2
Abstract

In some examples, a system generates a neural network comprising logical identifiers of compute resources. For executing the neural network, the system maps the logical identifiers to physical addresses of physical resources, and loads instructions of the neural network onto the physical resources, wherein the loading comprises converting the logical identifiers in the neural network to the physical addresses.

Claims (58)

1. A non-transitory machine-readable storage medium comprising program instructions that upon execution cause a system to:

generate, by a compiler based on an input model, a neural network comprising machine-readable instructions and logical identifiers of logical compute resources, wherein the program instructions cause the system to generate the neural network by:

sending, from the compiler, a query to obtain information of a quantity of available physical resources, and

including, by the compiler, a quantity of the logical compute resources in the neural network based on the information of the quantity of available physical resources; and

for executing the neural network,

map the logical identifiers to physical addresses of physical resources selected from among the available physical resources, and

load the machine-readable instructions of the neural network onto the selected physical resources, wherein the loading comprises converting the logical identifiers in the neural network to the physical addresses.

2. The non-transitory machine-readable storage medium of claim 1 , wherein the logical identifiers converted to the physical addresses are associated with any or some combination of the machine-readable instructions of the neural network, data of the neural network, and neural network parameters of the neural network.

3. The non-transitory machine-readable storage medium of claim 1 , wherein the loading of the machine-readable instructions of the neural network onto the selected physical resources comprises re-encoding the machine-readable instructions to change the logical identifiers in the machine-readable instructions to the physical addresses of the selected physical resources.

4. The non-transitory machine-readable storage medium of claim 1 , wherein the selected physical resources are included in hardware accelerator devices, and the physical addresses identify the selected physical resources in the hardware accelerator devices.

5. The non-transitory machine-readable storage medium of claim 1 , wherein the program instructions upon execution cause the system to:

select, based on topology information, the selected physical resources to use for the neural network, wherein the topology information identifies different topologies of physical resources.

6. The non-transitory machine-readable storage medium of claim 5 , wherein the selecting of the selected physical resources to use for the neural network based on the topology information comprises selecting a topology of the different topologies.

7. The non-transitory machine-readable storage medium of claim 6 , wherein the different topologies of physical resources comprise a first topology of physical resources that includes a first quantity of physical resources, and a second topology of physical resources that includes a second quantity of physical resources, wherein the second quantity is different from the first quantity, and wherein the selecting of the topology is based on:

comparing how many physical resources are in the first quantity of physical resources to how many physical resources are in the second quantity of physical resources, and

selecting the topology with a quantity of physical resources sufficient to map to the logical compute resources in the neural network.

8. The non-transitory machine-readable storage medium of claim 7 , wherein the selecting of the topology of the different topologies is based on latency information indicating communication latency among the available physical resources.

9. The non-transitory machine-readable storage medium of claim 8 , wherein the latency information specifies a communication latency between a first accelerator device and a second accelerator device, and wherein each of the first accelerator device and the second accelerator device includes a plurality of physical resources.

10. The non-transitory machine-readable storage medium of claim 1 , wherein the program instructions upon execution cause the system to:

dynamically group the selected physical resources into a first group of physical resources to form one logical device.

11. The non-transitory machine-readable storage medium of claim 10 , wherein the neural network is a first neural network, and wherein the program instructions upon execution cause the system to:

generate a second neural network comprising logical identifiers of logical compute resources; and

identify physical resources for deploying the second neural network, wherein the identifying of the physical resources for deploying the second neural network load balances usage of physical resources in a host system.

12. The non-transitory machine-readable storage medium of claim 10 , wherein the neural network is a first neural network, and wherein the program instructions upon execution cause the system to:

generate a second neural network comprising logical identifiers of logical compute resources;

temporarily suspend execution of the first neural network;

delete the first group of physical resources;

dynamically group the physical resources mapped to the logical identifiers of the first neural network to a second group of physical resources to form one logical device; and

dynamically group physical resources mapped to the logical identifiers of the second neural network to a third group of physical resources to form another logical device.

13. The non-transitory machine-readable storage medium of claim 12 , wherein the program instructions upon execution cause the system to:

map the logical identifiers of the first neural network to physical addresses of the physical resources of the second group; and

map the logical identifiers of the second neural network to physical addresses of the physical resources of the third group.

14. A system comprising:

a processor; and

a non-transitory storage medium storing instructions executable on the processor to:

compile a neural network comprising logical identifiers of logical compute resources;

select, based on topology information identifying different topologies of physical resources, a topology from among the different topologies of physical resources, wherein the different topologies of physical resources comprise a first topology of physical resources that includes a first quantity of physical resources, and a second topology of physical resources that includes a second quantity of physical resources, wherein the second quantity is different from the first quantity, and wherein the selecting is based on:

comparing how many physical resources are in the first quantity of physical resources to how many physical resources are in the second quantity of physical resources, and

selecting the topology with a quantity of physical resources sufficient to map to the logical compute resources in the neural network;

map the logical identifiers to physical addresses of the physical resources in the selected topology; and

load instructions of the neural network onto the physical resources, wherein the loading comprises converting the logical identifiers in the neural network to the physical addresses.

15. The system of claim 14 , wherein the instructions are executable on the processor to:

compile the neural network by generating, using a compiler based on an input model, the neural network comprising machine-readable instructions and the logical identifiers of logical compute resources, wherein the generating of the neural network comprises:

sending, from the compiler, a query to obtain information of a quantity of available physical resources, and

including, by the compiler, a quantity of the logical compute resources in the neural network based on the information of the quantity of available physical resources.

16. The system of claim 14 , wherein the mapping of the logical identifiers to the physical addresses of the physical resources is based on latency information indicating communication latency among the physical resources.

17. The system of claim 16 , wherein the latency information specifies an amount of time to communicate data among the physical resources.

18. A method performed by a system comprising a hardware processor, comprising:

generating, by a compiler based on an input model, a neural network comprising machine-readable instructions, and logical identifiers of logical compute resources, wherein the generating of the neural network comprises:

sending, from the compiler, a query to obtain information of a quantity of available physical resources, and

including, by the compiler, a quantity of the logical compute resources in the neural network based on the information of the quantity of available physical resources;

accessing latency information indicating access latency among the available physical resources;

mapping, based on the latency information, the logical identifiers to physical addresses of physical resources selected from among the available physical resources; and

loading the machine-readable instructions of the neural network onto the selected physical resources, wherein the loading comprises converting the logical identifiers in the neural network to the physical addresses.

19. The method of claim 18 , further comprising:

selecting a topology from among different topologies of physical resources that comprise a first topology of physical resources that includes a first quantity of physical resources, and a second topology of physical resources that includes a second quantity of physical resources, wherein the second quantity is different from the first quantity, and wherein the selecting of the topology is based on:

comparing how many physical resources are in the first quantity of physical resources to how many physical resources are in the second quantity of physical resources, and

selecting the topology with a quantity of physical resources sufficient to map to the logical compute resources in the neural network, wherein the selected topology comprises the selected physical resources.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 23, 2020
From: KOLHE, JITENDRA ONKAR; KNUPPE, GUSTAVO; GOPALAKRISHNAN, SHYAM SANKAR; NAGENDRAN, VAITHYALINGAM; BANDOPADHYAY, SHOUNAK
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 052194/0789 →
Continuity (1)
Related Publication 20210295139A1 · Sep 23, 2021