INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, AND STORAGE MEDIUM
First Claim
1. An information processing apparatus for controlling execution of a plurality of threads which run on a plurality of calculation cores connected to a memory including a plurality of banks, said apparatus comprising:
- a holding unit configured to hold the numbers of accesses by respective threads in a single calculation cycle for respective banks;
a first selection unit configured to select a thread as a continuing thread which receives data from other thread, out of threads which process a data group of interest, wherein the number of accesses for a bank associated with the selected thread is less than a predetermined count;
a second selection unit configured to select a thread as a transmitting thread which transmits data to the continuing thread, out of the threads which process the data group of interest;
a generation unit configured to generate an instruction which instructs the transmitting thread to write data in an area in a bank associated with the continuing thread, and an instruction which instructs the continuing thread to read data from the area in the bank associated with the continuing thread; and
an update unit configured to increment the number of accesses to the bank associated with the continuing thread when said generation unit generates an instruction.
1 Assignment
0 Petitions
Accused Products
Abstract
There is provided with an information processing apparatus for controlling execution of a plurality of threads which run on a plurality of calculation cores connected to a memory including a plurality of banks. A first selection unit is configured to select a thread as a continuing thread which receives data from other thread, out of threads which process a data group of interest, wherein the number of accesses for a bank associated with the selected thread is less than a predetermined count. A second selection unit is configured to select a thread as a transmitting thread which transmits data to the continuing thread, out of the threads which process the data group of interest.
11 Citations
8 Claims
-
1. An information processing apparatus for controlling execution of a plurality of threads which run on a plurality of calculation cores connected to a memory including a plurality of banks, said apparatus comprising:
-
a holding unit configured to hold the numbers of accesses by respective threads in a single calculation cycle for respective banks; a first selection unit configured to select a thread as a continuing thread which receives data from other thread, out of threads which process a data group of interest, wherein the number of accesses for a bank associated with the selected thread is less than a predetermined count; a second selection unit configured to select a thread as a transmitting thread which transmits data to the continuing thread, out of the threads which process the data group of interest; a generation unit configured to generate an instruction which instructs the transmitting thread to write data in an area in a bank associated with the continuing thread, and an instruction which instructs the continuing thread to read data from the area in the bank associated with the continuing thread; and an update unit configured to increment the number of accesses to the bank associated with the continuing thread when said generation unit generates an instruction. - View Dependent Claims (2, 3, 4, 5, 6, 8)
-
-
7. An information processing method for controlling execution of a plurality of threads which run on a plurality of calculation cores connected to a memory including a plurality of banks, in view of the numbers of accesses by respective threads in a single calculation cycle for respective banks, said method comprising the steps of:
-
selecting a thread as a continuing thread which receives data from other thread, out of threads which process a data group of interest, wherein the number of accesses for a bank associated with the selected thread is less than a predetermined count; selecting a thread as a transmitting thread which transmits data to the continuing thread, out of the threads which process the data group of interest; generating an instruction which instructs the transmitting thread to write data in an area in a bank associated with the continuing thread, and an instruction which instructs the continuing thread to read data from the area in the bank associated with the continuing thread; and incrementing the number of accesses to the bank associated with the continuing thread when the instruction is generated in said generating step.
-
Specification