Managing a plurality of processors as devices
First Claim
1. An information handling system comprising:
- a plurality of heterogeneous processors, wherein the plurality of heterogeneous processors includes one or more first processors and one or more secondary processors, wherein the first processors are of a first processor type and the secondary processors are of a second processor type; and
a common memory accessible by the plurality of heterogeneous processors, wherein;
the one or more first processors are adapted to;
execute an operating system by a selected first processor;
load a device module corresponding to a selected secondary processor;
load an application using the operating system, the application including device-oriented instructions adapted to control the selected secondary processor;
set up a device-like access path for the selected secondary processor, the device-like access path being used by the application to access the selected secondary processor;
execute the application on the selected first processor;
detect a device call from the application, wherein the device call is a request from the application to load device-oriented instructions to the selected secondary processor;
in response to the detecting, load the device-oriented instructions to the common memory;
perform the device-oriented instructions at the selected secondary processor;
in response to the performing, store processed data in an output buffer in the common memory;
notify the operating system that the device-oriented instructions have been performed; and
read, by the application, the processed data from the output buffer.
5 Assignments
0 Petitions
Accused Products
Abstract
A computer system'"'"'s multiple processors are managed as devices. The operating system accesses the multiple processors using processor device modules loaded into the operating system to facilitate a communication between an application requesting access to a processor and the processor. A device-like access is determined for accessing each one of the processors similar to device-like access for other devices in the system such as disk drives, printers, etc. An application seeking access to a processor issues device-oriented instructions for processing data, and in addition, the application provides the processor with the data to be processed. The processor processes the data according to the instructions provided by the application.
124 Citations
12 Claims
-
1. An information handling system comprising:
-
a plurality of heterogeneous processors, wherein the plurality of heterogeneous processors includes one or more first processors and one or more secondary processors, wherein the first processors are of a first processor type and the secondary processors are of a second processor type; and a common memory accessible by the plurality of heterogeneous processors, wherein; the one or more first processors are adapted to; execute an operating system by a selected first processor; load a device module corresponding to a selected secondary processor; load an application using the operating system, the application including device-oriented instructions adapted to control the selected secondary processor; set up a device-like access path for the selected secondary processor, the device-like access path being used by the application to access the selected secondary processor; execute the application on the selected first processor; detect a device call from the application, wherein the device call is a request from the application to load device-oriented instructions to the selected secondary processor; in response to the detecting, load the device-oriented instructions to the common memory; perform the device-oriented instructions at the selected secondary processor; in response to the performing, store processed data in an output buffer in the common memory; notify the operating system that the device-oriented instructions have been performed; and read, by the application, the processed data from the output buffer. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product stored on a computer operable media, the computer operable media containing instructions for execution by a computer, which, when executed by the computer, cause the computer to perform a method for processing software code, said method comprising:
-
executing an operating system by one or more first processors included in a group of heterogeneous processors; loading a device module corresponding to one or more secondary processors included in the group of heterogeneous processors into the operating system, wherein the first processors are of a first processor type and the secondary processors are of a second processor type; loading an application using the operating system, the application including device-oriented instructions adapted to control the one or more of the secondary processors; setting up a device-like access path for a selected secondary processor, the device-like access path being used by the application to access the selected secondary processor; executing the application on one of the first processors; detecting a device call from the application, wherein the device call is a request from the application to load device-oriented instructions to the selected secondary processor; in response to the detecting, loading the device-oriented instructions to a system memory accessible by the selected secondary processor; performing the device-oriented instructions at the selected secondary processor; in response to the performing, storing processed data in an output buffer in the system memory; notifying the operating system that the device-oriented instructions have been performed; and reading, by the application, the processed data from the output buffer. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification