GB2566761B - Discarding of threads processed by a warp processing unit - Google Patents
Discarding of threads processed by a warp processing unit Download PDFInfo
- Publication number
- GB2566761B GB2566761B GB1718157.9A GB201718157A GB2566761B GB 2566761 B GB2566761 B GB 2566761B GB 201718157 A GB201718157 A GB 201718157A GB 2566761 B GB2566761 B GB 2566761B
- Authority
- GB
- United Kingdom
- Prior art keywords
- discarding
- processing unit
- warp processing
- threads processed
- threads
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3888—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3888—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple threads [SIMT] in parallel
- G06F9/38885—Divergence aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/28—Indexing scheme for image data processing or generation, in general involving image processing hardware
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GR20170100422 | 2017-09-20 |
Publications (3)
Publication Number | Publication Date |
---|---|
GB201718157D0 GB201718157D0 (en) | 2017-12-20 |
GB2566761A GB2566761A (en) | 2019-03-27 |
GB2566761B true GB2566761B (en) | 2020-01-22 |
Family
ID=60664678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
GB1718157.9A Active GB2566761B (en) | 2017-09-20 | 2017-11-02 | Discarding of threads processed by a warp processing unit |
Country Status (2)
Country | Link |
---|---|
US (1) | US10748236B2 (en) |
GB (1) | GB2566761B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11276137B1 (en) * | 2021-01-29 | 2022-03-15 | Arm Limited | Graphics processing systems with conditional evictions |
US20220318056A1 (en) * | 2021-03-30 | 2022-10-06 | Advanced Micro Devices, Inc. | Dynamic system power load management |
GB2610242B (en) | 2021-08-27 | 2024-09-25 | Advanced Risc Mach Ltd | Graphics processing |
CN116643698B (en) * | 2023-05-26 | 2024-03-29 | 摩尔线程智能科技(北京)有限责任公司 | Data writing method and device, electronic equipment and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130332939A1 (en) * | 2011-05-25 | 2013-12-12 | Arm Limited | Data processing apparatus and method for processing a received workload in order to generate result data |
US20140267272A1 (en) * | 2013-03-15 | 2014-09-18 | Przemyslaw Ossowski | Conditional end of thread mechanism |
US20170032488A1 (en) * | 2015-07-30 | 2017-02-02 | Arm Limited | Graphics processing systems |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7617384B1 (en) * | 2006-11-06 | 2009-11-10 | Nvidia Corporation | Structured programming control flow using a disable mask in a SIMD architecture |
US8719555B2 (en) * | 2008-01-31 | 2014-05-06 | Arm Norway As | Method for overcoming livelock in a multi-threaded system |
US8850436B2 (en) * | 2009-09-28 | 2014-09-30 | Nvidia Corporation | Opcode-specified predicatable warp post-synchronization |
US9535700B2 (en) * | 2013-06-14 | 2017-01-03 | Arm Limited | Data processing systems |
US9727341B2 (en) * | 2014-05-09 | 2017-08-08 | Samsung Electronics Co., Ltd. | Control flow in a thread-based environment without branching |
US10521875B2 (en) * | 2017-04-01 | 2019-12-31 | Intel Corporation | Thread scheduling over compute blocks for power optimization |
-
2017
- 2017-11-02 GB GB1718157.9A patent/GB2566761B/en active Active
-
2018
- 2018-08-30 US US16/117,098 patent/US10748236B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130332939A1 (en) * | 2011-05-25 | 2013-12-12 | Arm Limited | Data processing apparatus and method for processing a received workload in order to generate result data |
US20140267272A1 (en) * | 2013-03-15 | 2014-09-18 | Przemyslaw Ossowski | Conditional end of thread mechanism |
US20170032488A1 (en) * | 2015-07-30 | 2017-02-02 | Arm Limited | Graphics processing systems |
Also Published As
Publication number | Publication date |
---|---|
US10748236B2 (en) | 2020-08-18 |
GB2566761A (en) | 2019-03-27 |
GB201718157D0 (en) | 2017-12-20 |
US20190087928A1 (en) | 2019-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
GB201501397D0 (en) | Image processing | |
SG11201704367QA (en) | Processing chamber | |
GB201507009D0 (en) | Processing a series of images to identify at least a portion of an object | |
GB2566761B (en) | Discarding of threads processed by a warp processing unit | |
EP3156865C0 (en) | Process monitoring and adaptive control of a machine tool | |
GB201604047D0 (en) | Thread | |
HK1256910A1 (en) | Loom for producing woven material, having incorporated knitting threads or cover threads | |
ZA201901620B (en) | A treatment unit for in-line treatment of thread | |
SG11201707360PA (en) | Picker | |
GB201513449D0 (en) | Image processing | |
PT3162935T (en) | Shedding machine and weaving loom comprising such a shedding machine | |
PT3162933T (en) | Shedding machine | |
HK1225421B (en) | Insertion system of the weft threads in a weaving loom | |
HUE046108T2 (en) | Dough processing machine | |
PL3303192T3 (en) | A singulating vibration feeder | |
ZAA201800668S (en) | Processing machines | |
GB201414829D0 (en) | Lignin processing | |
PL3374649T3 (en) | Thread-forming screw | |
PT3009545T (en) | Heddle for weaving loom and loom provided with such a heddle | |
HK1251628A1 (en) | Mechanism for controlling the reciprocating movement of weft carrying grippers in a weaving loom | |
HK1231528A1 (en) | Reed for air weaving looms | |
EP3512991C0 (en) | Weft gripping mechanism for shuttleles weaving machines | |
HUE045288T2 (en) | Dough processing machine | |
PL3120995T3 (en) | Double-flighted thread pulp press screws | |
GB2544007B (en) | Object guide having a variable motion path |