IP Library › Granted Patent US 10,339,041
Granted Patent B2
US 10,339,041 · App. 14/451,954 · Granted Jul 2, 2019

Shared memory architecture for a neural simulator

Inventors: Venkat Rangan (San Diego, CA); Jan Krzys Wegrzyn (San Diego, CA); Jeffrey Alexander Levin (San Diego, CA); John Paul Daniels (San Diego, CA)
Assignee: QUALCOMM Incorporated
G06F12/02G06N3/049G06N3/063
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,339,041
App. No.
14/451,954
Filed
Aug 5, 2014
Granted
Jul 2, 2019
Kind
B2
Art Unit
2123
USPC
706/44
Abstract

Aspects of the present disclosure provide methods and apparatus for allocating memory in an artificial nervous system simulator implemented in hardware. According to certain aspects, memory resource requirements for one or more components of an artificial nervous system being simulated may be determined and portions of a shared memory pool (which may include on-chip and/or off-chip RAM) may be allocated to the components based on the determination.

Claims (27)

1. A computer-implemented method for allocating memory in an artificial nervous system simulator implemented in hardware, comprising:

performing a simulation of a plurality of artificial neurons of an artificial nervous system;

determining memory resource requirements of each of the artificial neurons of the artificial nervous system being simulated based on at least one of a state or a type of the artificial neuron being simulated;

dynamically allocating portions of a shared memory pool to the artificial neurons based on the determination of memory resource requirements as the memory resource requirements change during the simulation, wherein the shared memory pool is implemented as a distributed architecture comprising memory banks, write clients, read clients and a router interfacing the memory banks with the write clients and the read clients; and

accessing, for each artificial neuron, the portion of the shared memory pool allocated to the artificial neuron during the simulation via the write clients and the read clients.

2. The computer-implemented method of claim 1 , wherein at least a portion of the shared memory pool comprises a memory located on a separate chip than a processor of the artificial nervous system simulator.

3. The computer-implemented method of claim 1 , wherein the allocating comprises varying an amount of the shared memory pool allocated to the artificial neurons based on the determination.

4. An apparatus for allocating memory in an artificial nervous system simulator implemented in hardware, comprising:

a plurality of processing units, each processing unit configured to perform a simulation of a different artificial neuron of an artificial nervous system;

a shared memory pool implemented as a distributed architecture comprising memory banks, write clients, read clients and a router interfacing the memory banks with the write clients and the read clients; and

a processor configured to:

determine memory resource requirements of each processing unit simulating an artificial neuron of the artificial nervous system, based on at least one of a state or a type of the artificial neuron being simulated; and

dynamically allocate portions of the shared memory pool to the processing units based on the determination of memory resource requirements as the memory resource requirements change during the simulation, wherein each of the processing units is further configured to access its allocated portion of the shared memory pool during the simulation via the write clients and the read clients.

5. The apparatus of claim 4 , wherein at least a portion of the shared memory pool comprises a memory located on a separate chip than the processor of the artificial nervous system simulator.

6. The apparatus of claim 4 , wherein the processor is also configured to vary an amount of the shared memory pool allocated to the artificial neurons based on the determination.

7. An apparatus for allocating memory in an artificial nervous system simulator implemented in hardware, comprising:

means for performing a simulation of a plurality of artificial neurons of an artificial nervous system;

means for determining memory resource requirements of each of the artificial neurons of the artificial nervous system being simulated based on at least one of a state or a type of the artificial neuron being simulated;

means for dynamically allocating portions of a shared memory pool to the artificial neurons based on the determination of memory resource requirements as the memory resource requirements change during the simulation, wherein the shared memory pool is implemented as a distributed architecture comprising memory banks, write clients, read clients and a router interfacing the memory banks with the write clients and the read clients; and

means for accessing, for each artificial neuron, the portions of the shared memory pool allocated to the artificial neuron during the simulation via the write clients and the read clients.

8. The apparatus of claim 7 , wherein at least a portion of the shared memory pool comprises a memory located on a separate chip than a processor of the artificial nervous system simulator.

9. The apparatus of claim 7 , wherein the allocating comprises varying an amount of the shared memory pool allocated to the artificial neurons based on the determination.

10. A non-transitory computer-readable medium having instructions, executable by a computer, stored thereon for allocating memory in an artificial nervous system simulator implemented in hardware, comprising:

instructions for performing a simulation of a plurality of artificial neurons of an artificial nervous system;

instructions for determining memory resource requirements of each of the artificial neurons of the artificial nervous system being simulated based on at least one of a state or a type of the artificial neuron being simulated;

instructions for dynamically allocating portions of a shared memory pool to the artificial neurons based on the determination of memory resource requirements as the memory resource requirements change during the simulation, wherein the shared memory pool is implemented as a distributed architecture comprising memory banks, write clients, read clients and a router interfacing the memory banks with the write clients and the read clients; and

instructions for accessing, for each artificial neuron, the portion of the shared memory pool allocated to the artificial neuron during the simulation via the write clients and the read clients.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2014
From: RANGAN, VENKAT; WEGRZYN, JAN KRZYSZTOF; LEVIN, JEFFREY ALEXANDER; DANIELS, JOHN PAUL
To: QUALCOMM INCORPORATED
Reel/Frame 033919/0315 →
Continuity (2)
Provisional Application 61889682 · Oct 11, 2013
Related Publication 20150106317A1 · Apr 16, 2015
Cited By (3)
US 12,190,229 US 12,248,367 US 12,670,233