Loading software on a plurality of processors
First Claim
1. An information handling system comprising:
- a plurality of processors in a heterogeneous processor environment;
a memory accessible by the plurality of processors;
one or more nonvolatile storage devices accessible by the plurality of processors; and
a software loading tool for loading software on a plurality of processors, the software loading tool comprising software code effective to;
execute a program on a first processor;
in response to executing the program, load a runtime loader onto the first processor;
use the runtime loader loaded on the first processor to retrieve an executable file;
use the runtime loader to extract a processor identifier from the executable file, the processor identifier corresponding to the executable file;
determine, using the runtime loader, whether to load the executable file on a second processor based upon whether the processor identifier corresponds to the second processor;
use the runtime loader to load the executable file from the first processor onto the second processor in response to determining that the processor identifier corresponds to the second processor;
send a plug-in to the second processor using the first processor, the plug-in corresponding to the executable file;
send data to the second processor using the first processor, the data corresponding to the plug-in; and
process the data with the plug-in using the second processor.
0 Assignments
0 Petitions
Accused Products
Abstract
Loading software on a plurality of processors is presented. A processing unit (PU) retrieves a file from system memory and loads it into its internal memory. The PU extracts a processor type from the file'"'"'s header which identifies whether the file should execute on the PU or a synergistic processing unit (SPU). If an SPU should execute the file, the PU DMA'"'"'s the file to the SPU for execution. In one embodiment, the file is a combined file which includes both PU and SPU code. In this embodiment, the PU identifies one or more section headers included in the file which indicates embedded SPU code within the combined file. In this embodiment, the PU extracts the SPU code from the combined file and DMA'"'"'s the extracted code to an SPU for execution.
122 Citations
12 Claims
-
1. An information handling system comprising:
-
a plurality of processors in a heterogeneous processor environment; a memory accessible by the plurality of processors; one or more nonvolatile storage devices accessible by the plurality of processors; and a software loading tool for loading software on a plurality of processors, the software loading tool comprising software code effective to; execute a program on a first processor; in response to executing the program, load a runtime loader onto the first processor; use the runtime loader loaded on the first processor to retrieve an executable file; use the runtime loader to extract a processor identifier from the executable file, the processor identifier corresponding to the executable file; determine, using the runtime loader, whether to load the executable file on a second processor based upon whether the processor identifier corresponds to the second processor; use the runtime loader to load the executable file from the first processor onto the second processor in response to determining that the processor identifier corresponds to the second processor; send a plug-in to the second processor using the first processor, the plug-in corresponding to the executable file; send data to the second processor using the first processor, the data corresponding to the plug-in; and process the data with the plug-in using the second processor. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer program product stored in computer memory, the computer memory containing instructions for execution by a computer, which, when executed by the computer, cause the computer to implement a method for loading software on a plurality of processors, said method comprising:
-
executing a program on a first processor; in response to executing the program, loading a runtime loader onto the first processor; using the runtime loader loaded on the first processor to retrieve an executable file; using the runtime loader to extract a processor identifier from the executable file, the processor identifier corresponding to the executable file; determining, using the runtime loader, whether to load the executable file on a second processor based upon whether the processor identifier corresponds to the second processor; using the runtime loader to load the executable file from the first processor onto the second processor in response to determining that the processor identifier corresponds to the second processor; sending a plug-in to the second processor using the first processor, the plug-in corresponding to the executable file; sending data to the second processor using the first processor, the data corresponding to the plug-in; and processing the data with the plug-in using the second processor. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification