Systems and methods for data management
AssigneeBeijing Horizon Information Technology Co., Ltd.
InventorsChang Huang, Liang Chen, Kun Ling, Feng Zhou
Life of this patent
Estimating the term…
Abstract
A method for data management is provided. The method comprises: storing the plurality of items in a contiguous space within the memory, executing an instruction containing an address and a size that together identify the contiguous space to transmit the plurality of items from the main memory to a random-access memory (RAM) on a chip, and the chip includes a computing unit comprising a plurality of multipliers; and instructing the computing unit on the chip to: retrieve multiple of the plurality of items from the RAM; and perform a plurality of parallel operations using the plurality of multipliers with the multiple items to yield output data.
Claims12
A method of data management, comprising:
- (a) storing a plurality of items in a contiguous space within a main memory,
- (b) issuing an instruction to transmit the plurality of items from the main memory to a random-access memory (RAM) on a chip,
- wherein the instruction contains an address and a size that together identify the contiguous space, and
- wherein the chip includes a computing unit comprising a plurality of multipliers;
- (c) issuing an instruction that allows the computing unit to obtain information regarding how the plurality of items are arranged in the contiguous space;
- and
- (d) instructing the computing unit on the chip to:
- retrieve multiple of the plurality of items from the RAM;
- and
- perform a plurality of parallel operations using the plurality of multipliers with the multiple items to yield output data.
A method of data management, comprising:
- (a) storing a plurality of items in a contiguous space within a main memory, wherein the plurality of items is classified into a plurality of groups, and wherein items of the plurality of items classified into one of the plurality of groups are arranged consecutively in the contiguous space,
- (b) issuing an instruction to transmit the plurality of items from the main memory to a random-access memory (RAM) on a chip, wherein the instruction contains an address and a size that together identify the contiguous space, and wherein the chip includes a computing unit comprising a plurality of multipliers;
- (c) instructing the computing unit on the chip to:
- retrieve multiple of the plurality of items from the RAM;
- and
- perform a plurality of parallel operations using the plurality of multipliers with the multiple items to yield output data;
- (d) receiving information regarding a neural network, wherein the information regarding the neural network includes, for one of a plurality of layers of the neural network, a combination of a number of filters, a number of channels, and a filter size, wherein the plurality of groups corresponds to the plurality of layers of the neural network and the plurality of items includes parameters of the neural network, and wherein the plurality of parallel operations corresponds to multiplications associated with one layer of the plurality of layers;
- (e) for the one layer, determining a number of slices based on the number of channels or the filter size, wherein the contiguous space is divided into a plurality of contiguous regions;
- and
- (f) dividing an area within one of the plurality of regions into at least the number of slices, each slice being contiguous,
- wherein the storing includes arranging items classified into one of the plurality of groups across the number of slices such that all items stored at the same offset from starting points of the number of slices are used for the parallel operations.
A method of data management, comprising:
- (a) storing a plurality of items in a contiguous space within a main memory, wherein the plurality of items are classified into a plurality of groups, wherein the items classified into one of the plurality of groups are arranged consecutively in the contiguous space, wherein the contiguous space is divided into a plurality of regions, each region being contiguous,
- (b) arranging items classified into multiple of the plurality of groups in the same region to reduce unused space in the contiguous space,
- (c) issuing an instruction containing an address and a size that together identify the contiguous space to transmit the plurality of items from the main memory to a random-access memory (RAM) on a chip, wherein the chip includes a computing unit comprising a plurality of multipliers;
- and
- (d) instructing the computing unit on the chip to:
- retrieve multiple of the plurality of items from the RAM;
- and
- perform a plurality of parallel operations using the plurality of multipliers with the multiple items to yield output data.
A method of data management, comprising:
- (a) storing a plurality of items in a contiguous space within a main memory, wherein the plurality of items are classified into a plurality of groups, and items classified into one of the plurality of groups are arranged consecutively in the contiguous space,
- (b) dividing an area within one of a plurality of regions of the continuous space into a plurality of slices, each slice being contiguous, wherein the area is allocated to the items classified into the one group,
- (c) arranging the items classified into the one group across the plurality of slices,
- (d) issuing an instruction containing an address and a size that together identify the contiguous space to transmit the plurality of items from the main memory to a random-access memory (RAM) on a chip, wherein the chip includes a computing unit comprising a plurality of multipliers;
- and
- (e) instructing the computing unit on the chip to:
- retrieve multiple of the plurality of items from the RAM;
- and
- perform a plurality of parallel operations using the plurality of multipliers with the multiple items to yield output data, wherein the instructing includes performing multiple of the plurality of parallel operations using multiple items stored at the same offset from starting points of the plurality of slices.
A system for arranging data to accelerate deep computing, comprising:
- one or more processors;
- and
- one or more memories having instructions stored thereon which when executed by the one or more processors cause the one or more processors to perform:
- (a) storing the plurality of items in a contiguous space within a main memory,
- (b) issuing an instruction to transmit the plurality of items from the main memory to a random-access memory (RAM) on a chip,
- wherein the instruction contains an address and a size that together identify the contiguous space, and
- wherein the chip includes a computing unit comprising a plurality of multipliers;
- (c) issuing an instruction that allows the computing unit to obtain information regarding how the plurality of items are arranged in the contiguous space;
- and
- instructing the computing unit on the chip to:
- retrieve multiple of the plurality of items from the RAM;
- and
- perform a plurality of parallel operations using the plurality of multipliers with the multiple items to yield output data.
A system for arranging data to accelerate deep computing, comprising:
- one or more processors;
- and
- one or more memories having instructions stored thereon which when executed by the one or more processors cause the one or more processors to perform:
- (a) storing the plurality of items in a contiguous space within a main memory,
- (b) issuing an instruction to transmit the plurality of items from the main memory to a random-access memory (RAM) on a chip,
- wherein the instruction contains an address and a size that together identify the contiguous space, and
- wherein the chip includes a computing unit comprising a plurality of multipliers;
- (c) issuing an instruction that allows the computing unit to obtain information regarding how the plurality of items are arranged in the contiguous space;
- and
- instructing the computing unit on the chip to:
- retrieve multiple of the plurality of items from the RAM;
- and perform a plurality of parallel operations using the plurality of multipliers with the multiple items to yield output data.
Dependencies are inferred from the claim text.