CPC G06F 30/323 (2020.01) [G06F 30/343 (2020.01)] | 8 Claims |
1. A computer-implemented method of realizing a hardware device for executing operations defined by a high-level software code, the method comprising the steps of:
translating said high-level software code into a corresponding low-level software code for executing the same operations defined by the high-level software code, wherein said low-level software code defines low-level operations;
for each hardware device of a set of hardware devices that can be manufactured or configured for executing said low-level software code, carrying out the following operations:
estimating, for each low-level operation and for each type of hardware resources of said hardware device, an usage amount of hardware resources of said type required for implementing said low-level operation with said hardware device, wherein said estimating step is carried out assuming that there are no data dependencies among said low-level operations,
for each low-level operation of said low-level operations, estimating a number of run-time occurrences of said low-level operation in said low-level software code,
calculating, for each type of said available hardware resources a corresponding number of required hardware resources of said type as the summation, over all said low-level operations, of the product between the number of run-time occurrence of said low-level operation and the corresponding usage amount of said type of available hardware resources,
calculating, for each type of said available hardware resources, a corresponding ratio between said number of required hardware resources and a defined amount of the available hardware resources in said hardware device of said type of available hardware resources,
calculating a scale factor for said hardware device as a maximum value of said ratios calculated in the previous step,
calculating a peak performance value of said hardware device as a summation, over all said low-level operations, of the product of said number of run-time occurrence of said low-level operations by a rate defining a number of low-level operations per second that may be carried out by the hardware device, divided by said scale factor;
choosing the hardware device to be manufactured or configured out of said set of hardware devices that may be manufactured or configured, depending upon said respective peak performance value calculated for each hardware device of said set;
manufacturing or configuring said hardware device, chosen in the previous step, to carry out said high-level software code.
|