Compilation and placement of instructions in a memory system
First Claim
1. A computer system for executing a task, the computer system comprising:
- a main processor, a first active memory device and a second active memory device, the computer system configured to perform an operation comprising;
receiving an executable module generated by a compiler, wherein the executable module comprises a first code section identified as executable by a first processing element in the first active memory device and a second processing element in the second active memory device;
executing the first code section by the first processing element and executing the first code section by the second processing element;
wherein the first active memory device comprises a first memory vault and the first processing element, the first memory vault services memory requests to a domain in the first memory vault;
wherein the second active memory device comprises a second memory vault and the second processing element, the second memory vault services memory requests to a domain in the second memory vault;
copying the first code section to the first memory vault in the first active memory device based on the first code section being executable on the first active memory device;
copying the first code section from the first memory vault in the first active memory device to an instruction buffer of the first processing element; and
copying the first code section from the first memory vault in the first active memory device to the second active memory device based on the first code section being executable on the second active memory device.
1 Assignment
0 Petitions
Accused Products
Abstract
According to one embodiment of the present invention, a computer system is provided where the computer system includes a main processor, first and second active memory device. The computer system is configured to perform a method including receiving an executable module generated by a compiler, wherein the executable module includes a code section identified as executable by a first processing element in the first active memory device and a second processing element in the second active memory device. The method includes copying the code section to memory in the first device based on the code section being executable on the first device, copying the code section from the first active memory device to an instruction buffer of the first processing element and copying the code section from the first device to the second device based on the code section being executable on the second device.
-
Citations
17 Claims
-
1. A computer system for executing a task, the computer system comprising:
a main processor, a first active memory device and a second active memory device, the computer system configured to perform an operation comprising; receiving an executable module generated by a compiler, wherein the executable module comprises a first code section identified as executable by a first processing element in the first active memory device and a second processing element in the second active memory device; executing the first code section by the first processing element and executing the first code section by the second processing element; wherein the first active memory device comprises a first memory vault and the first processing element, the first memory vault services memory requests to a domain in the first memory vault; wherein the second active memory device comprises a second memory vault and the second processing element, the second memory vault services memory requests to a domain in the second memory vault; copying the first code section to the first memory vault in the first active memory device based on the first code section being executable on the first active memory device; copying the first code section from the first memory vault in the first active memory device to an instruction buffer of the first processing element; and copying the first code section from the first memory vault in the first active memory device to the second active memory device based on the first code section being executable on the second active memory device. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. A computer system for producing an executable module to be executed by a second computer system including a main processor and a first active memory device, the computer system comprising a compiler, the computer system configured to perform an operation comprising:
-
dividing source code into code sections; identifying, by the compiler, a first code section that is executable by the main processor and a processing element in the active memory device, wherein the first code section is one of the code sections; and transforming, by the compiler, the first code section to executable module code for execution on the main processor and execution on the processing element in the active memory device, wherein the executable module code determines a processor type for execution based on successfully acquiring access to the processing element in the active memory device; wherein identifying, by the compiler, the first code section that is executable by the main processor and the processing element in the active memory device comprises identifying the first code section that is executable by the main processor and a first processing element in a first active memory device and a second processing element in a second active memory device; wherein the executable module code executes the first code section in the first processing element and executes the first code section in the second processing element; wherein the first active memory device comprises a first memory vault and the first processing element, the first memory vault services memory requests to a domain in the first memory vault; and wherein the second active memory device comprises a second memory vault and the second processing element, the second memory vault services memory requests to a domain in the second memory vault. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17)
-
Specification