Multiple-thread processing methods and apparatuses

US2016170799A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016170799-A1
Application numberUS-201514816265-A
CountryUS
Kind codeA1
Filing dateAug 3, 2015
Priority dateDec 12, 2014
Publication dateJun 16, 2016
Grant date

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Multiple-thread processing apparatuses and methods are provided. The multiple-thread processing method may include searching for loops in a plurality of threads, calculating a number of repetitions of each of found loops in respective threads among the plurality of threads, determining one or more threads based on the calculated number of repetitions of each of the found loops, dividing at least one of the one or more determined threads into child threads, and processing the child threads separately from one another in the plurality of threads.

First claim

Opening claim text (preview).

What is claimed is: 1 . A multiple-thread processing method comprising: searching for loops in a plurality of threads; calculating a number of repetitions of each of found loops in respective threads among the plurality of threads; determining one or more threads among the plurality of threads based on the calculated number of repetitions of each of the found loops; dividing at least one of the one or more determined threads into child threads; and processing the child threads separately from one another in the plurality of threads. 2 . The multiple-thread processing method of claim 1 , further comprising processing the plurality of threads and performing reduction on the processed plurality of threads. 3 . The multiple-thread processing method of claim 1 , wherein the determining of the one or more threads comprises: determining rankings of the respective threads among the plurality of threads in descending order of the calculated number of repetitions of each of the found loops; and determining the one or more threads based on the determined rankings of the respective threads among the plurality of threads. 4 . The multiple-thread processing method of claim 3 , wherein the determining of the one or more threads comprises determining a top-ranked thread. 5 . The multiple-thread processing method of claim 3 , wherein the determining of the one or more threads comprises determining a top-ranked thread and a second-ranked thread. 6 . The multiple-thread processing method of claim 1 , wherein the determining of the one or more threads comprises determining whether parallel reduction in the loops of the determined one or more threads is possible. 7 . The multiple-thread processing method of claim 1 , wherein the dividing comprises processing threads, among the plurality of threads, other than the one or more determined threads and dividing the one or more determined threads into child threads of each thread of the plurality of threads. 8 . The multiple-thread processing method of claim 1 , wherein the dividing comprises: processing some threads among the plurality of threads; and dividing the one or more determined threads into child threads of the processed threads among the plurality of threads. 9 . The multiple-thread processing method of claim 2 , further comprising outputting a reduction result. 10 . A computer program stored in a medium, the computer program being combined with hardware to process the method of claim 1 . 11 . A multiple-thread processing apparatus comprising: a search processor configured to search for loops in a plurality of threads; a calculator configured to calculate a number of repetitions of each of found loops in respective threads among the plurality of threads; a thread determiner configured to determine one or more threads among the plurality of threads based on the calculated number of repetitions of each of the found loops; a divider configured to divide at least one of the one or more determined threads into child threads; and a thread processor configured to process the child threads separately from one another in the plurality of threads. 12 . The multiple-thread processing apparatus of claim 11 , wherein the thread processor is further configured to process the plurality of threads, and the multiple-thread processing apparatus further comprises a thread reducer configured to perform reduction on the processed plurality of threads. 13 . The multiple-thread processing apparatus of claim 11 , wherein the thread determiner is configured to determine rankings of the respective threads among the plurality of threads in descending order of the calculated number of repetitions of each of the found loops and determine the one or more threads based on the determined rankings of the respective threads among the plurality of threads. 14 . The multiple-thread processing apparatus of claim 13 , wherein the thread determiner is configured to determine a top-ranked thread among the plurality of threads. 15 . The multiple-thread processing apparatus of claim 14 , wherein the thread determiner is configured to determine a top-ranked thread and a second-ranked thread among the plurality of threads. 16 . The multiple-thread processing apparatus of claim 11 , wherein the thread determiner is configured to determine whether parallel reduction in the loops of the one or more determined threads is possible. 17 . The multiple-thread processing apparatus of claim 11 , wherein the divider is configured to process threads, among the plurality of threads, other than the one or more determined threads and divide the one or more determined threads into child threads of each thread of the plurality of threads. 18 . The multiple-thread processing apparatus of claim 11 , wherein the divider is configured to process some threads among the plurality of threads, and divide the one or more determined threads into child threads of the processed threads among the plurality of threads. 19 . The multiple-thread processing apparatus of claim 12 , further comprising an output configured to output a reduction result. 20 . A multiple-thread processing apparatus comprising: at least one processor configured to determine a thread among a plurality of threads based on a calculated number of repetitions of a loop in respective threads among the plurality of threads, divide the determined thread into child threads respectively allocated to selected threads among the plurality of threads, and process the child threads respectively in the selected threads.

Assignees

Inventors

Classifications

  • G06F9/4881Primary

    Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • Transaction processing · CPC title

  • controlled by a single instruction for multiple data lanes [SIMD] · CPC title

  • Compilation · CPC title

  • Reducing the execution time required by the program code · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US2016170799A1 cover?
Multiple-thread processing apparatuses and methods are provided. The multiple-thread processing method may include searching for loops in a plurality of threads, calculating a number of repetitions of each of found loops in respective threads among the plurality of threads, determining one or more threads based on the calculated number of repetitions of each of the found loops, dividing at leas…
Who is the assignee on this patent?
Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F9/4881. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jun 16 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).