Patent ID: 11947975
Assignee: NIPPON TELEGRAPH AND TELEPHONE CORPORATION
Field: Computer technology (Electrical engineering)
Classification: CPC G | IPC G

Claim 5:
6. An offload control method for an offload server that offloads specific processing of an application to a Graphics Processing Unit (GPU) or a Programmable Logic Device (PLD), the offload server comprising:
one or more hardware processors; and
a storage section, implemented using one or more of the one or more hardware processors, configured to store, in a code pattern database, libraries usable for offloading the specific processing to the GPU and Intellectual Property (IP) cores usable for offloading the specific processing to the PLD,
the offload control method being to be performed by the offload server and comprising steps of:
analyzing a source code of the application and detecting external library calls included in the source code;
using the detected external library calls as keys, searching the code pattern database to retrieve, of the libraries and IP cores, those corresponding to the detected external library calls as replacement-destination libraries/IP cores, thereby to extract offloadable processing that can be offloaded by the retrieved replacement-destination libraries/IP cores as offloadable replacement sources;
replacing processing descriptions of the offloadable replacement sources with processing descriptions of the replacement-destination libraries/IP cores;
generating interfaces that interface a central processing unit (CPU) to the replacement-destination libraries/IP cores;
generating one or more offload patterns, each of which designates, for each of the offloadable replacement sources, whether to offload the processing to be performed by the offloadable replacement source;
for each of the one or more offload patterns, compiling the application according to the offload pattern to generate an execution file; and
for each generated execution file, deploying the generated execution file to an accelerator verification device and performing processing for a measurement of a performance obtained when offloading to the GPU and/or the PLD is performed;
selecting an offload pattern with a highest processing performance from the one or more offload patterns on the basis of a result of the performance measurement by the processing for the measurement of the performance; and
compiling the application according to the offload pattern with the highest processing performance to generate a final execution file.