Patent ID: 8799881

Claim:
A program product including a non-transitory computer readable medium including programmed instructions, wherein the instructions, when executed by a computer, comprise instructions for causing the computer to perform: inputting a sequential program to be converted that includes a loop, loop division information indicating that a process within the loop is to be divided into a first process and a second process, loop control information comprising termination control information and indicating that at least one of the first process and the second process includes a loop control statement of the loop, and change information indicating that at least one of the first process and the second process executes a change process that changes data to be referred to in a process subsequent to the loop; and parallelizing, in which the loop is divided into the first process and the second process according to the loop division information and a parallelized program is created, which is to run on a computer including a plurality of cores or processors or on a plurality of computers, from the first process and the second process obtained by dividing the loop, wherein the loop control information indicates that the first process includes the loop control statement, and the change information indicates that the second process includes the change process, the parallelizing inserts a determination process into the first process, the determination process determining whether or not the second process is terminated at execution of an (n−1)th loop iteration (n is an integer of 2 or more) when the second process is subsequent to the first process in the program to be converted, or determining whether or not the second process is terminated at execution of an nth loop iteration when the second process precedes the first process in the program to be converted, and notifying the second process of a result of the determination, and the parallelizing inserts a control process into the second process, the control process controlling execution of the second process based on the result of determination notified by the determination process.