Algorithm mapping, specialized instructions and architecture features for smart memory computing
First Claim
1. A smart memory computing system, comprising:
- a user space wherein data within has data-level parallelism;
a smart memory having multiple execution units wherein data can be processed in parallel and in situ;
a graphical representation describing data in said user space and interactions therewith; and
a compiler mapping data from said user space to said smart memory space and generating executable codes in accordance with said graphical representation,wherein said graphical representation comprises;
objects containing said data within the said user space;
object boundary conditions containing boundaries between objects or between objects and a boundary of said user space; and
equations governing interactions between said data within the said user space, andwherein said boundary conditions are specified as fixed values for variables, fixed values for derivatives of variables, equations containing arithmetic expressions of the variables and their derivatives, or combinations of the above.
3 Assignments
0 Petitions
Accused Products
Abstract
A smart memory computing system that uses smart memory for massive data storage as well as for massive parallel execution is disclosed. The data stored in the smart memory can be accessed just like the conventional main memory, but the smart memory also has many execution units to process data in situ. The smart memory computing system offers improved performance and reduced costs for those programs having massive data-level parallelism. This smart memory computing system is able to take advantage of data-level parallelism to improve execution speed by, for example, use of inventive aspects such as algorithm mapping, compiler techniques, architecture features, and specialized instruction sets.
399 Citations
9 Claims
-
1. A smart memory computing system, comprising:
-
a user space wherein data within has data-level parallelism; a smart memory having multiple execution units wherein data can be processed in parallel and in situ; a graphical representation describing data in said user space and interactions therewith; and a compiler mapping data from said user space to said smart memory space and generating executable codes in accordance with said graphical representation, wherein said graphical representation comprises; objects containing said data within the said user space; object boundary conditions containing boundaries between objects or between objects and a boundary of said user space; and equations governing interactions between said data within the said user space, and wherein said boundary conditions are specified as fixed values for variables, fixed values for derivatives of variables, equations containing arithmetic expressions of the variables and their derivatives, or combinations of the above.
-
-
2. A smart memory computing system, comprising:
-
a user space wherein data within has data-level parallelism; a smart memory having multiple execution units wherein data can be processed in parallel and in situ; a graphical representation describing data in said user space and interactions therewith; and a compiler mapping data from said user space to said smart memory space and generating executable codes in accordance with said graphical representation, wherein said graphical representation comprises; objects containing said data within the said user space; objects boundary conditions containing boundaries between objects or between objects and a boundary of said user space; and equations governing interactions between said data within the said user space, and wherein said compiler generates codes for said parallel processing based on; accepting outputs from said graphical representation to obtain said objects, said boundary conditions, and said equations; mapping data within said user space to the data within said smart memory space; and applying a parallel instruction set to processing data within the said smart memory space. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9)
-
Specification