An arithmetic and control unit that controls parallel arithmetic operation by a plurality of processing elements of a parallel processor having multiple compute units each comprising multiple of said processing elements, and a plurality of memories (164, 170, 150) different in hierarchy wherein the parallel processor has a global memory, each compute unit has a local memory, and each processing element has a private memory, wherein one or more data blocks are stored in a memory of a hierarchy among the plurality of memories; wherein read blocks in which data to be subjected to the parallel arithmetic operation is transferred by transfer systems to a memory of another hierarchy in the one or more data blocks; and wherein write blocks that are an arithmetic result of the parallel arithmetic operation conducted on the one or more read blocks in one or more data blocks which are transferred by the transfer systems from the memory of another hierarchy to the memory of the lowest hierarchy which is the global memory after the parallel arithmetic operation, characterized in the arithmetic and control unit comprising: an attribute group holding unit that acquires and holds attribute groups not depending on the configuration of the parallel processor and set to each of the read block sand the write blocks; wherein an attribute group includes the following attributes - a size attribute which is a parameter indicative of the size of the data block, - a read attribute which indicates whether the data block is a data to be subjected to arithmetic processing or not, and a transfer order when data is subjected to arithmetic operation, - a write attribute which indicates whether the data block is data of arithmetic results or not, and a transfer order when the data block is data of arithmetic results, - a margin attribute which is a parameter for the read block and is indicative of the amount of data other than a sub-read block adjacent to a boundary of the sub-read block which is transferred together with data within the sub-read block, - a broadcast attribute which is a parameter for designating which of a private memory and a local memory is designation of the sub-read block in each of the read blocks and a designation of the sub-write blocks in each of the write-blocks, - an allocation attribute which is a parameter representative of an allocation system of how the sub-read block and the sub-write block are allocated to a private memory group or local memory, - a hierarchy attribute which is the number of hierarchy designated by a natural number 1 or more, - a dependency attribute which is a parameter representative of a data dependency relationship between the sub-block and eight other sub-blocks for the data block; and a scenario determination unit that determines the respective transfer systems of the read blocks and the write blocks on the basis of the respective attribute groups, the size of the data blocks and a configuration parameter representing the configuration of the parallel processor depending on the configuration of the parallel processor, and controls the transfer of the read blocks and the write blocks according to the determined transfer systems, and the parallel arithmetic operation corresponding to the transfer, wherein each of the attribute groups is necessary to determine the transfer systems, and wherein the attribute groups of the write blocks are set assuming that each of the write blocks has already been located in the memory of the another hierarchy, and is transferred to the global memory. - a size attribute which is a parameter indicative of the size of the data block, - a read attribute which indicates whether the data block is a data to be subjected to arithmetic processing or not, and a transfer order when data is subjected to arithmetic operation, - a write attribute which indicates whether the data block is data of arithmetic results or not, and a transfer order when the data block is data of arithmetic results, - a margin attribute which is a parameter for the read block and is indicative of the amount of data other than a sub-read block adjacent to a boundary of the sub-read block which is transferred together with data within the sub-read block, - a broadcast attribute which is a parameter for designating which of a private memory and a local memory is designation of the sub-read block in each of the read blocks and a designation of the sub-write blocks in each of the write-blocks, - an allocation attribute which is a parameter representative of an allocation system of how the sub-read block and the sub-write block are allocated to a private memory group or local memory, - a hierarchy attribute which is the number of hierarchy designated by a natural number 1 or more, - a dependency attribute which is a parameter representative of a data dependency relationship between the sub-block and eight other sub-blocks for the data block; and