An offload server comprising: one or more hardware processors; a code analysis section, implemented using one or more of the one or more hardware processors, configured to analyze whether a source code of a software program includes at least one function block executable by at least one accelerator; a processing pattern generation section, implemented using one or more of the one or more hardware processors, configured to generate a first plurality of patterns for offloading the at least one function block to the at least one accelerator, a pattern defining at least one association between at least one function block and an associated accelerator to which the at least one function block is offloaded; a performance measurement section, implemented using one or more of the one or more hardware processors, configured to deploy each of the first plurality of patterns for offloading the at least one function block to a verification environment comprising an accelerator to measure a first performance; and a control section, implemented using one or more of the one or more hardware processors, configured to, when the first performance measured by the performance measurement section satisfies a desired level, generate a second plurality of patterns for offloading at least one remaining loop statement in the software program by the processing pattern generation section, and deploy each of the second plurality of patterns to the verification environment to measure a second performance by the performance measurement section, the remaining loop statement being a loop statement not included in the at least one function block, and when the first performance measured by the performance measurement section fails to satisfy the desired level, generate a third plurality of patterns for offloading at least one loop statement of the software program by the processing pattern generation section, the at least one loop statement comprising at least one loop statement included in the at least one function block, and deploy each of the third plurality of patterns to the verification environment to measure a third performance by the performance measurement section. one or more hardware processors; a code analysis section, implemented using one or more of the one or more hardware processors, configured to analyze whether a source code of a software program includes at least one function block executable by at least one accelerator; a processing pattern generation section, implemented using one or more of the one or more hardware processors, configured to generate a first plurality of patterns for offloading the at least one function block to the at least one accelerator, a pattern defining at least one association between at least one function block and an associated accelerator to which the at least one function block is offloaded; a performance measurement section, implemented using one or more of the one or more hardware processors, configured to deploy each of the first plurality of patterns for offloading the at least one function block to a verification environment comprising an accelerator to measure a first performance; and a control section, implemented using one or more of the one or more hardware processors, configured to, when the first performance measured by the performance measurement section satisfies a desired level, generate a second plurality of patterns for offloading at least one remaining loop statement in the software program by the processing pattern generation section, and deploy each of the second plurality of patterns to the verification environment to measure a second performance by the performance measurement section, the remaining loop statement being a loop statement not included in the at least one function block, and when the first performance measured by the performance measurement section fails to satisfy the desired level, generate a third plurality of patterns for offloading at least one loop statement of the software program by the processing pattern generation section, the at least one loop statement comprising at least one loop statement included in the at least one function block, and deploy each of the third plurality of patterns to the verification environment to measure a third performance by the performance measurement section. when the first performance measured by the performance measurement section satisfies a desired level, generate a second plurality of patterns for offloading at least one remaining loop statement in the software program by the processing pattern generation section, and deploy each of the second plurality of patterns to the verification environment to measure a second performance by the performance measurement section, the remaining loop statement being a loop statement not included in the at least one function block, and when the first performance measured by the performance measurement section fails to satisfy the desired level, generate a third plurality of patterns for offloading at least one loop statement of the software program by the processing pattern generation section, the at least one loop statement comprising at least one loop statement included in the at least one function block, and deploy each of the third plurality of patterns to the verification environment to measure a third performance by the performance measurement section.