IP Library › Granted Patent US 11,175,844
Granted Patent B1
US 11,175,844 · App. 15/929,618 · Granted Nov 16, 2021

Optimal placement of data structures in a hybrid memory based inference computing platform

Inventors: Ashish Ranjan (White Plains, NY); Arvind Kumar (Chappaqua, NY); Carl Radens (LaGrangeville, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F3/0644G06F3/0604G06F3/068G06N3/04
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,175,844
App. No.
15/929,618
Filed
May 13, 2020
Granted
Nov 16, 2021
Kind
B1
Art Unit
2184
USPC
711/170
Abstract

In a deep neural network (DNN), weights are defined that represent a strength of connections between different neurons of the DNN and activations are defined that represent an output produced by a neuron after passing through an activation function of receiving an input and producing an output based on some threshold value. The weight traffic associated with a hybrid memory therefore is distinguished from the activation traffic to the hybrid memory, and one or more data structures may be dynamically allocated in the hybrid memory according to the weights and activations of the one or more data structures in the DNN. The hybrid memory includes at least a first memory and a second memory that differ according to write endurance attributes.

Claims (26)

1. A method for optimized placement of data structures in memory in a computing environment by a processor, comprising:

distinguishing, by a memory controller, between weights and activations of one or more data structures in a deep neural network (DNN) using flags attached to the one or more data structures, the flags having a first value indicative of the weights and a second value indicative of the activations; and

dynamically allocating and routing the one or more data structures in a hybrid memory according to the flags indicative of the weights and activations of the one or more data structures in the DNN, wherein the hybrid memory includes at least a first memory and a second memory that differ according to one or more write attributes.

2. The method of claim 1 , further including partitioning the hybrid memory for the weights and activations of the one or more data structures, wherein the one or more write attributes include write energy, write latency, write endurance, or a combination thereof.

3. The method of claim 1 , wherein the distinguishing further includes distinguishing between the weights and the activations of the one or more data structures according to characteristics of a read operation, a write operation, or a combination thereof.

4. The method of claim 1 , further including storing the weights in the first memory of the hybrid memory.

5. The method of claim 1 , further including storing the activations in the second memory of the hybrid memory.

6. The method of claim 1 , further including minimizing write operations of the one or more data structures to the hybrid memory based upon the distinguishing of the weights and activations.

7. A system for optimized placement of data structures in memory in a computing environment, comprising:

one or more computers with executable instructions that when executed cause the system to:

distinguish, by a memory controller, between weights and activations of one or more data structures in a deep neural network (DNN) using flags attached to the one or more data structures, the flags having a first value indicative of the weights and a second value indicative of the activations; and

dynamically allocate and route the one or more data structures in a hybrid memory according to the flags indicative of the weights and activations of the one or more data structures in the DNN, wherein the hybrid memory includes at least a first memory and a second memory that differ according to one or more write attributes.

8. The system of claim 7 , wherein the executable instructions that when executed cause the system to partition the hybrid memory for the weights and activations of the one or more data structures, wherein the one or more write attributes include write energy, write latency, write endurance, or a combination thereof.

9. The system of claim 7 , wherein the distinguishing further includes distinguishing between the weights and the activations of the one or more data structures according to characteristics of a read operation, a write operation, or a combination thereof.

10. The system of claim 7 , wherein the executable instructions that when executed cause the system to store the weights in the first memory of the hybrid memory.

11. The system of claim 7 , wherein the executable instructions that when executed cause the system to store the activations in the second memory of the hybrid memory.

12. The system of claim 7 , wherein the executable instructions that when executed cause the system to minimize write operations of the one or more data structures to the hybrid memory based upon the distinguishing of the weights and activations.

13. A computer program product for optimized placement of data structures in memory by a processor in a computing environment, the computer program product comprising a non-transitory computer-readable storage medium having computer-readable program code portions stored therein, the computer-readable program code portions comprising:

an executable portion that distinguishes, by a memory controller, between weights and activations of one or more data structures in a deep neural network (DNN) using flags attached to the one or more data structures, the flags having a first value indicative of the weights and a second value indicative of the activations; and

an executable portion that dynamically allocates and routes the one or more data structures in a hybrid memory according to the flags indicative of the weights and activations of the one or more data structures in the DNN, wherein the hybrid memory includes at least a first memory and a second memory that differ according to one or more write attributes.

14. The computer program product of claim 13 , further including an executable portion that partitions the hybrid memory for the weights and activations of the one or more data structures, wherein the one or more write attributes include write energy, write latency, write endurance, or a combination thereof.

15. The computer program product of claim 13 , wherein the distinguishing further includes distinguishing between the weights and the activations of the one or more data structures according to characteristics of a read operation, a write operation, or a combination thereof.

16. The computer program product of claim 13 , further including an executable portion that:

stores the weights in the first memory of the hybrid memory; and

stores the activations in the second memory of the hybrid memory.

17. The computer program product of claim 13 , further including an executable portion that minimizes write operations of the one or more data structures to the hybrid memory based upon the distinguishing of the weights and activations.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2020
From: RANJAN, ASHISH; KUMAR, ARVIND; RADENS, CARL
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 052649/0283 →
Cited By (1)
US 12,626,163