发明名称 COMPILER METHOD AND COMPILER APPARATUS
摘要 In a compiler apparatus, a memory unit stores a first code including a loop having a first arithmetic expression including a first variable that refers to a result of K iterations previous calculation. A transformation unit develops the first arithmetic expression into a second arithmetic expression not including the first variable, using a second variable that refers to a result of K+1 iterations or more previous calculation, compares an execution time for executing the loop on the basis of the first arithmetic expression with an execution time for executing the loop in which the calculations of Jth and J+Kth iterations of the loop are executed in parallel on the basis of the second arithmetic expression, and decides based on the comparison result whether to transform the first code into a second code including a parallel processing instruction for executing the Jth and J+Kth iterations in parallel.
申请公布号 US2015277874(A1) 申请公布日期 2015.10.01
申请号 US201514634988 申请日期 2015.03.02
申请人 FUJITSU LIMITED 发明人 Haraguchi Masatoshi
分类号 G06F9/45 主分类号 G06F9/45
代理机构 代理人
主权项 1. A non-transitory computer-readable storage medium storing a computer program that causes a computer to perform a procedure comprising: detecting a loop from a first code; developing a first arithmetic expression included in the loop and including a first variable that refers to a result of K iterations previous calculation, into a second arithmetic expression not including the first variable, using a second variable that refers to a result of K+1 iterations or more previous calculation, wherein K is an integer that is equal to or greater than 1; comparing a first execution time for executing the loop on the basis of the first arithmetic expression with a second execution time for executing the loop in which a calculation of Jth iteration of the loop and a calculation of J+Kth iteration of the loop are executed in parallel on the basis of the second arithmetic expression, wherein J is an integer that is equal to or greater than 1; and deciding based on a result of the comparing whether to transform the first code into a second code including a parallel processing instruction for executing the calculation of Jth iteration and the calculation of J+Kth iteration in parallel.
地址 Kawasaki-shi JP