发明名称 Parallel processing device, parallel processing method, optimization device, optimization method and computer program
摘要 A parallel processing device improves operation rates of cores in a computation device having a plurality of processor cores in a process in which there are a large number of tasks that can be processed in parallel even though parallelism within the tasks is low. The device acquires tasks into which an application has been divided, sets the number of simultaneously executed tasks in each thread array, sets the number of threads in each thread array, sets the total number of arrays, generates the threads and thread arrays, secures a resource for the number of simultaneously executed tasks in each of the thread arrays, determines the task to be processed by each thread and causes the task thus determined to be executed by each of the threads.
申请公布号 US9152462(B2) 申请公布日期 2015.10.06
申请号 US201214118283 申请日期 2012.05.18
申请人 NEC CORPORATION 发明人 Takano Fumiyo
分类号 G06F9/46;G06F9/50 主分类号 G06F9/46
代理机构 Sughrue Mion, PLLC 代理人 Sughrue Mion, PLLC
主权项 1. A parallel processing device which includes a hardware processing unit having a plurality of processor cores, a parallel processing of a group of thread arrays each being a group of threads each representing a process unit enabling parallel processing, the parallel processing device comprising: a divided task acquisition unit which acquires information representing each of tasks into which the process of an application to be processed is divided in a manner to enable parallel processing; a concurrently executed task number setting unit which sets a concurrently executed task number which is the number of tasks concurrently executed in each of the thread arrays; an intra-array thread number setting unit which sets an intra-array thread number which is the number of threads within each of the thread arrays, on the basis of the number of threads able to be processed further in parallel in each of the tasks and the concurrently executed task number; a total array number setting unit which sets a total array number which is the total number of the thread arrays, on the basis of the total number of threads necessary for processing the application and the intraarray thread number; a thread array control unit which generates the threads and the thread arrays on the basis of the intra-array thread number and the total array number, and controls the processing unit to execute in parallel the process of each of the thread arrays; a resource allocation unit which, in each of the thread arrays, secures resources necessary for processing the same number of tasks as the concurrently executed task number, and allocates the secured resources to each of the tasks; a processing task determination unit which determines a task to be processed by each thread within each of the thread arrays; and a task execution unit which executes the same number of tasks as the concurrently executed task number in each of the thread arrays, by causing each of the threads in the thread array to execute the task determined by the processing task determination unit using the resources allocated by the resource allocation unit.
地址 Tokyo JP