JP2009543170A - マルチスレッドプロセッサ上の実行スレッドの同期 - Google Patents
マルチスレッドプロセッサ上の実行スレッドの同期 Download PDFInfo
- Publication number
- JP2009543170A JP2009543170A JP2009517429A JP2009517429A JP2009543170A JP 2009543170 A JP2009543170 A JP 2009543170A JP 2009517429 A JP2009517429 A JP 2009517429A JP 2009517429 A JP2009517429 A JP 2009517429A JP 2009543170 A JP2009543170 A JP 2009543170A
- Authority
- JP
- Japan
- Prior art keywords
- thread
- execution
- synchronization
- threads
- synchronization point
- 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.)
- Granted
Links
- 230000001360 synchronised effect Effects 0.000 claims abstract description 19
- 238000000034 method Methods 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 description 13
- 101000671620 Homo sapiens Usher syndrome type-1C protein-binding protein 1 Proteins 0.000 description 4
- 102100040093 Usher syndrome type-1C protein-binding protein 1 Human genes 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000012634 fragment Substances 0.000 description 2
- 241000220317 Rosa Species 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- 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/30145—Instruction analysis, e.g. decoding, instruction word fields
-
- 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
- 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/522—Barrier synchronisation
-
- 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
- G06F9/524—Deadlock detection or avoidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
- G06F8/458—Synchronisation, e.g. post-wait, barriers, locks
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/30087—Synchronisation or serialisation instructions
-
- 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/30003—Arrangements for executing specific machine instructions
- G06F9/30076—Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
- G06F9/3009—Thread control instructions
-
- 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/461—Saving or restoring of program or task context
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Executing Machine-Instructions (AREA)
Abstract
Description
いずれの分岐点においても、分岐された場合に、いずれかの同期点が抜かされるかどうか予測できることが好ましい。どの同期点も抜かされない場合には、分岐スレッドが後で停止されるようにする要求はない。
媒体制御コアは、データを入力4からデータ処理コア8又は格納部に向け、次いで、データを出力部に与えるマルチスレッディングユニットである。これは、タスクをすべてのクロックサイクルにおいて切り換えることができるように構成される。したがって、各々のクロックサイクルにおいて、入力4で与えられたどの実行スレッドが、これらが実行されるのに必要なすべてのリソースを有するか、及び最高優先度を有するかをチェックする。実施されることができるスレッドの実行が、次いで開始できることになる。
リソースのチェックは、スレッドがストールしないことを保証するように反復的に実施される。
同期開始待機状態と同期終了待機状態との間の違いは、同期開始待機状態は、同期点がスレッドの通常のフローにおいて処理されるときに生じることである。
同期点上で分岐されると知られる分岐命令が処理された場合に、いずれかの他のスレッドがプログラムにおける同じ点に到達していてもいなくても、同期終了待機状態になる。したがって、スレッドが同期点上で分岐されると、別のスレッドがその実行において追いつくまで、すなわち、プログラムの同じ点に到達するまで、効率的にストールされる。
Claims (8)
- 各々が多数の同期点を備えた、マルチスレッドプロセッサ上の複数のスレッドの実行を同期させるための方法であって、
同期点に到達したときに、同期されることが意図される少なくとも1つの他のスレッドが対応する同期点に到達するのを待機してスレッドの実行を停止し、次いで、実行を再開するステップを含み、分岐の終わりに同期点を含むコードのセクション上で分岐するスレッドの実行を、前記少なくとも1つの他のスレッドが前記同期点又は前記分岐の終わりを読み込むまで停止するステップをさらに含むことを特徴とする方法。 - 同期点に到達するスレッドは、同期開始待機状態に入ることを特徴とする請求項1に記載の方法。
- 停止されたスレッドと同期されるスレッドもまた停止されたかどうか反復的にチェックするステップを含むことを特徴とする請求項2に記載の方法。
- 前記スレッドが停止されたかどうか反復的にチェックするステップは、各々のスレッドに対するステータスレジスタにおいて、少なくとも1つのビットのステータスをチェックするステップを含むことを特徴とする請求項3に記載の方法。
- 各々が多数の同期点を備えた、マルチスレッドプロセッサ上の複数のスレッドの実行を同期させるための装置であって、
同期点に到達したときに、同期されることが意図される少なくとも1つの他のスレッドが対応する同期点に到達するのを待機してスレッドの実行を停止するための手段と、次いで、実行を再開するための手段を含み、分岐の終わりに同期点を含むコードのセクション上で分岐するスレッドの実行を、前記少なくとも1つの他のスレッドが前記同期点又は前記分岐の終わりを読み込むまで停止するための手段をさらに含むことを特徴とする方法。 - 同期点に到達するスレッドは、同期開始待機状態に入ることを特徴とする請求項5に記載の装置。
- 停止されたスレッドと同期されるスレッドもまた停止されたかどうか反復的にチェックするための手段を含むことを特徴とする請求項6に記載の装置。
- 前記スレッドが停止されたかどうか反復的にチェックするための手段は、各々のスレッドに対するステータスレジスタにおいて、少なくとも1つのビットのステータスをチェックするための手段を含むことを特徴とする請求項7に記載の装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0613289.8A GB0613289D0 (en) | 2006-07-04 | 2006-07-04 | Synchronisation of execution threads on a multi-threaded processor |
GB0613289.8 | 2006-07-04 | ||
PCT/GB2007/002504 WO2008003968A1 (en) | 2006-07-04 | 2007-07-04 | Synchronisation of execution threads on a multi-threaded processor |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2009543170A true JP2009543170A (ja) | 2009-12-03 |
JP2009543170A5 JP2009543170A5 (ja) | 2013-02-28 |
JP5710878B2 JP5710878B2 (ja) | 2015-04-30 |
Family
ID=36926447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009517429A Active JP5710878B2 (ja) | 2006-07-04 | 2007-07-04 | マルチスレッドプロセッサ上の実行スレッドの同期 |
Country Status (5)
Country | Link |
---|---|
US (6) | US20080010640A1 (ja) |
EP (1) | EP2035929B1 (ja) |
JP (1) | JP5710878B2 (ja) |
GB (2) | GB0613289D0 (ja) |
WO (1) | WO2008003968A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011134145A (ja) * | 2009-12-25 | 2011-07-07 | Fujitsu Ltd | マルチスレッド処理方法及びマルチスレッド処理装置 |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0613289D0 (en) * | 2006-07-04 | 2006-08-16 | Imagination Tech Ltd | Synchronisation of execution threads on a multi-threaded processor |
US8380966B2 (en) * | 2006-11-15 | 2013-02-19 | Qualcomm Incorporated | Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging |
US8341604B2 (en) * | 2006-11-15 | 2012-12-25 | Qualcomm Incorporated | Embedded trace macrocell for enhanced digital signal processor debugging operations |
US8533530B2 (en) * | 2006-11-15 | 2013-09-10 | Qualcomm Incorporated | Method and system for trusted/untrusted digital signal processor debugging operations |
US8370806B2 (en) * | 2006-11-15 | 2013-02-05 | Qualcomm Incorporated | Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor |
US8484516B2 (en) * | 2007-04-11 | 2013-07-09 | Qualcomm Incorporated | Inter-thread trace alignment method and system for a multi-threaded processor |
US8866827B2 (en) * | 2008-06-26 | 2014-10-21 | Microsoft Corporation | Bulk-synchronous graphics processing unit programming |
US8412889B2 (en) * | 2008-10-16 | 2013-04-02 | Microsoft Corporation | Low-level conditional synchronization support |
US8756562B2 (en) * | 2008-12-11 | 2014-06-17 | The Mathworks, Inc. | Subgraph execution control in a graphical modeling environment |
US8549470B2 (en) | 2008-12-11 | 2013-10-01 | The Mathworks, Inc. | Multi-threaded subgraph execution control in a graphical modeling environment |
US8850436B2 (en) * | 2009-09-28 | 2014-09-30 | Nvidia Corporation | Opcode-specified predicatable warp post-synchronization |
US8421162B2 (en) | 2009-09-30 | 2013-04-16 | Suvolta, Inc. | Advanced transistors with punch through suppression |
US8273617B2 (en) | 2009-09-30 | 2012-09-25 | Suvolta, Inc. | Electronic devices and systems, and methods for making and using the same |
US8530286B2 (en) | 2010-04-12 | 2013-09-10 | Suvolta, Inc. | Low power semiconductor transistor structure and method of fabrication thereof |
US8569128B2 (en) | 2010-06-21 | 2013-10-29 | Suvolta, Inc. | Semiconductor structure and method of fabrication thereof with mixed metal types |
US8759872B2 (en) | 2010-06-22 | 2014-06-24 | Suvolta, Inc. | Transistor with threshold voltage set notch and method of fabrication thereof |
US8404551B2 (en) | 2010-12-03 | 2013-03-26 | Suvolta, Inc. | Source/drain extension control for advanced transistors |
US8461875B1 (en) | 2011-02-18 | 2013-06-11 | Suvolta, Inc. | Digital circuits having improved transistors, and methods therefor |
US8525271B2 (en) | 2011-03-03 | 2013-09-03 | Suvolta, Inc. | Semiconductor structure with improved channel stack and method for fabrication thereof |
US8748270B1 (en) | 2011-03-30 | 2014-06-10 | Suvolta, Inc. | Process for manufacturing an improved analog transistor |
US8796048B1 (en) | 2011-05-11 | 2014-08-05 | Suvolta, Inc. | Monitoring and measurement of thin film layers |
US8999861B1 (en) | 2011-05-11 | 2015-04-07 | Suvolta, Inc. | Semiconductor structure with substitutional boron and method for fabrication thereof |
US8811068B1 (en) | 2011-05-13 | 2014-08-19 | Suvolta, Inc. | Integrated circuit devices and methods |
US8569156B1 (en) | 2011-05-16 | 2013-10-29 | Suvolta, Inc. | Reducing or eliminating pre-amorphization in transistor manufacture |
US8735987B1 (en) | 2011-06-06 | 2014-05-27 | Suvolta, Inc. | CMOS gate stack structures and processes |
US8995204B2 (en) | 2011-06-23 | 2015-03-31 | Suvolta, Inc. | Circuit devices and methods having adjustable transistor body bias |
US8629016B1 (en) | 2011-07-26 | 2014-01-14 | Suvolta, Inc. | Multiple transistor types formed in a common epitaxial layer by differential out-diffusion from a doped underlayer |
US8748986B1 (en) | 2011-08-05 | 2014-06-10 | Suvolta, Inc. | Electronic device with controlled threshold voltage |
WO2013022753A2 (en) | 2011-08-05 | 2013-02-14 | Suvolta, Inc. | Semiconductor devices having fin structures and fabrication methods thereof |
US8645878B1 (en) | 2011-08-23 | 2014-02-04 | Suvolta, Inc. | Porting a circuit design from a first semiconductor process to a second semiconductor process |
US8614128B1 (en) | 2011-08-23 | 2013-12-24 | Suvolta, Inc. | CMOS structures and processes based on selective thinning |
US20130055273A1 (en) * | 2011-08-30 | 2013-02-28 | Samsung Electronics Co., Ltd. | Terminal and application management method thereof |
US8713511B1 (en) | 2011-09-16 | 2014-04-29 | Suvolta, Inc. | Tools and methods for yield-aware semiconductor manufacturing process target generation |
US9236466B1 (en) | 2011-10-07 | 2016-01-12 | Mie Fujitsu Semiconductor Limited | Analog circuits having improved insulated gate transistors, and methods therefor |
US8895327B1 (en) | 2011-12-09 | 2014-11-25 | Suvolta, Inc. | Tipless transistors, short-tip transistors, and methods and circuits therefor |
US8819603B1 (en) | 2011-12-15 | 2014-08-26 | Suvolta, Inc. | Memory circuits and methods of making and designing the same |
US8883600B1 (en) | 2011-12-22 | 2014-11-11 | Suvolta, Inc. | Transistor having reduced junction leakage and methods of forming thereof |
US8599623B1 (en) | 2011-12-23 | 2013-12-03 | Suvolta, Inc. | Circuits and methods for measuring circuit elements in an integrated circuit device |
US8877619B1 (en) | 2012-01-23 | 2014-11-04 | Suvolta, Inc. | Process for manufacture of integrated circuits with different channel doping transistor architectures and devices therefrom |
US8970289B1 (en) | 2012-01-23 | 2015-03-03 | Suvolta, Inc. | Circuits and devices for generating bi-directional body bias voltages, and methods therefor |
US9093550B1 (en) | 2012-01-31 | 2015-07-28 | Mie Fujitsu Semiconductor Limited | Integrated circuits having a plurality of high-K metal gate FETs with various combinations of channel foundation structure and gate stack structure and methods of making same |
US9406567B1 (en) | 2012-02-28 | 2016-08-02 | Mie Fujitsu Semiconductor Limited | Method for fabricating multiple transistor devices on a substrate with varying threshold voltages |
US8863064B1 (en) | 2012-03-23 | 2014-10-14 | Suvolta, Inc. | SRAM cell layout structure and devices therefrom |
US9299698B2 (en) | 2012-06-27 | 2016-03-29 | Mie Fujitsu Semiconductor Limited | Semiconductor structure with multiple transistors having various threshold voltages |
US8637955B1 (en) | 2012-08-31 | 2014-01-28 | Suvolta, Inc. | Semiconductor structure with reduced junction leakage and method of fabrication thereof |
US9112057B1 (en) | 2012-09-18 | 2015-08-18 | Mie Fujitsu Semiconductor Limited | Semiconductor devices with dopant migration suppression and method of fabrication thereof |
US9041126B2 (en) | 2012-09-21 | 2015-05-26 | Mie Fujitsu Semiconductor Limited | Deeply depleted MOS transistors having a screening layer and methods thereof |
CN104854698A (zh) | 2012-10-31 | 2015-08-19 | 三重富士通半导体有限责任公司 | 具有低变化晶体管外围电路的dram型器件以及相关方法 |
US8816754B1 (en) | 2012-11-02 | 2014-08-26 | Suvolta, Inc. | Body bias circuits and methods |
US9093997B1 (en) | 2012-11-15 | 2015-07-28 | Mie Fujitsu Semiconductor Limited | Slew based process and bias monitors and related methods |
JP5994601B2 (ja) * | 2012-11-27 | 2016-09-21 | 富士通株式会社 | 並列計算機、並列計算機の制御プログラム及び並列計算機の制御方法 |
US9070477B1 (en) | 2012-12-12 | 2015-06-30 | Mie Fujitsu Semiconductor Limited | Bit interleaved low voltage static random access memory (SRAM) and related methods |
US9112484B1 (en) | 2012-12-20 | 2015-08-18 | Mie Fujitsu Semiconductor Limited | Integrated circuit process and bias monitors and related methods |
US9268885B1 (en) | 2013-02-28 | 2016-02-23 | Mie Fujitsu Semiconductor Limited | Integrated circuit device methods and models with predicted device metric variations |
US9299801B1 (en) | 2013-03-14 | 2016-03-29 | Mie Fujitsu Semiconductor Limited | Method for fabricating a transistor device with a tuned dopant profile |
US9117021B2 (en) * | 2013-03-14 | 2015-08-25 | Intel Corporation | Methods and apparatus to manage concurrent predicate expressions |
US9478571B1 (en) | 2013-05-24 | 2016-10-25 | Mie Fujitsu Semiconductor Limited | Buried channel deeply depleted channel transistor |
FR3021429B1 (fr) * | 2014-05-23 | 2018-05-18 | Kalray | Barriere de synchronisation materielle entre elements de traitement |
US9710006B2 (en) | 2014-07-25 | 2017-07-18 | Mie Fujitsu Semiconductor Limited | Power up body bias circuits and methods |
US9319013B2 (en) | 2014-08-19 | 2016-04-19 | Mie Fujitsu Semiconductor Limited | Operational amplifier input offset correction with transistor threshold voltage adjustment |
US10402235B2 (en) * | 2016-04-15 | 2019-09-03 | Nec Corporation | Fine-grain synchronization in data-parallel jobs for distributed machine learning |
US10402234B2 (en) * | 2016-04-15 | 2019-09-03 | Nec Corporation | Fine-grain synchronization in data-parallel jobs |
US11356334B2 (en) * | 2016-04-15 | 2022-06-07 | Nec Corporation | Communication efficient sparse-reduce in distributed machine learning |
US9940226B2 (en) | 2016-05-26 | 2018-04-10 | International Business Machines Corporation | Synchronization of hardware agents in a computer system |
US11353868B2 (en) * | 2017-04-24 | 2022-06-07 | Intel Corporation | Barriers and synchronization for machine learning at autonomous machines |
US10963299B2 (en) * | 2018-09-18 | 2021-03-30 | Advanced Micro Devices, Inc. | Hardware accelerated dynamic work creation on a graphics processing unit |
US11086672B2 (en) * | 2019-05-07 | 2021-08-10 | International Business Machines Corporation | Low latency management of processor core wait state |
US20220012598A1 (en) * | 2020-07-09 | 2022-01-13 | Femtosense, Inc. | Methods and apparatus for matrix and vector storage and operations |
CN113284038B (zh) * | 2021-03-05 | 2022-10-18 | 上海壁仞智能科技有限公司 | 用于执行计算的方法、计算设备、计算系统和存储介质 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE68927946T2 (de) * | 1988-08-02 | 1997-10-16 | Philips Electronics Nv | Verfahren und Vorrichtung für die Synchronisierung von parallelen Prozessoren unter Verwendung einer unscharf definierten Sperre |
JPH0630094B2 (ja) * | 1989-03-13 | 1994-04-20 | インターナショナル・ビジネス・マシーンズ・コーポレイション | マルチプロセツサ・システム |
US5261063A (en) * | 1990-12-07 | 1993-11-09 | Ibm Corp. | Pipeline apparatus having pipeline mode eecuting instructions from plural programs and parallel mode executing instructions from one of the plural programs |
US5515490A (en) * | 1993-11-05 | 1996-05-07 | Xerox Corporation | Method and system for temporally formatting data presentation in time-dependent documents |
US5504898A (en) * | 1994-06-20 | 1996-04-02 | Candle Distributed Solutions, Inc. | Threaded environment for AS/400 |
US5721921A (en) * | 1995-05-25 | 1998-02-24 | Cray Research, Inc. | Barrier and eureka synchronization architecture for multiprocessors |
US5797004A (en) * | 1995-12-08 | 1998-08-18 | Sun Microsystems, Inc. | System and method for caching and allocating thread synchronization constructs |
GB2311882B (en) * | 1996-04-04 | 2000-08-09 | Videologic Ltd | A data processing management system |
US6216174B1 (en) * | 1998-09-29 | 2001-04-10 | Silicon Graphics, Inc. | System and method for fast barrier synchronization |
US6378124B1 (en) * | 1999-02-22 | 2002-04-23 | International Business Machines Corporation | Debugger thread synchronization control points |
US6574725B1 (en) * | 1999-11-01 | 2003-06-03 | Advanced Micro Devices, Inc. | Method and mechanism for speculatively executing threads of instructions |
JP3571976B2 (ja) * | 1999-11-08 | 2004-09-29 | 富士通株式会社 | デバッグ装置及び方法並びにプログラム記録媒体 |
US6766437B1 (en) * | 2000-02-28 | 2004-07-20 | International Business Machines Corporation | Composite uniprocessor |
US6971084B2 (en) * | 2001-03-02 | 2005-11-29 | National Instruments Corporation | System and method for synchronizing execution of a batch of threads |
US6754850B2 (en) * | 2001-03-02 | 2004-06-22 | National Instruments Corporation | System and method for performing batch synchronization for a test sequence |
US7493615B2 (en) * | 2003-05-01 | 2009-02-17 | Sun Microsystems, Inc. | Apparatus and method for synchronizing multiple threads in an out-of-order microprocessor |
US7512950B1 (en) * | 2003-08-14 | 2009-03-31 | Sun Microsystems, Inc. | Barrier synchronization object for multi-threaded applications |
JP4276028B2 (ja) * | 2003-08-25 | 2009-06-10 | 株式会社日立製作所 | マルチプロセッサシステムの同期方法 |
US7418576B1 (en) * | 2004-11-17 | 2008-08-26 | Nvidia Corporation | Prioritized issuing of operation dedicated execution unit tagged instructions from multiple different type threads performing different set of operations |
US7937709B2 (en) * | 2004-12-29 | 2011-05-03 | Intel Corporation | Synchronizing multiple threads efficiently |
JP4448784B2 (ja) * | 2005-03-15 | 2010-04-14 | 株式会社日立製作所 | 並列計算機の同期方法及びプログラム |
US7770170B2 (en) * | 2005-07-12 | 2010-08-03 | Microsoft Corporation | Blocking local sense synchronization barrier |
US7543136B1 (en) * | 2005-07-13 | 2009-06-02 | Nvidia Corporation | System and method for managing divergent threads using synchronization tokens and program instructions that include set-synchronization bits |
US7353369B1 (en) * | 2005-07-13 | 2008-04-01 | Nvidia Corporation | System and method for managing divergent threads in a SIMD architecture |
US7555607B2 (en) * | 2005-11-10 | 2009-06-30 | Hewlett-Packard Development Company, L.P. | Program thread syncronization for instruction cachelines |
US7861060B1 (en) * | 2005-12-15 | 2010-12-28 | Nvidia Corporation | Parallel data processing systems and methods using cooperative thread arrays and thread identifier values to determine processing behavior |
US7584342B1 (en) * | 2005-12-15 | 2009-09-01 | Nvidia Corporation | Parallel data processing systems and methods using cooperative thread arrays and SIMD instruction issue |
US7788468B1 (en) * | 2005-12-15 | 2010-08-31 | Nvidia Corporation | Synchronization of threads in a cooperative thread array |
US20070143755A1 (en) * | 2005-12-16 | 2007-06-21 | Intel Corporation | Speculative execution past a barrier |
GB0613289D0 (en) * | 2006-07-04 | 2006-08-16 | Imagination Tech Ltd | Synchronisation of execution threads on a multi-threaded processor |
-
2006
- 2006-07-04 GB GBGB0613289.8A patent/GB0613289D0/en not_active Ceased
- 2006-11-02 US US11/591,801 patent/US20080010640A1/en not_active Abandoned
-
2007
- 2007-07-04 JP JP2009517429A patent/JP5710878B2/ja active Active
- 2007-07-04 GB GB0712975A patent/GB2439840B/en active Active
- 2007-07-04 WO PCT/GB2007/002504 patent/WO2008003968A1/en active Application Filing
- 2007-07-04 EP EP07733462.1A patent/EP2035929B1/en active Active
- 2007-08-24 US US11/895,618 patent/US8286180B2/en active Active
-
2012
- 2012-05-30 US US13/483,682 patent/US8656400B2/en active Active
-
2014
- 2014-02-11 US US14/177,980 patent/US10481911B2/en active Active
-
2019
- 2019-01-18 US US16/251,620 patent/US10698690B2/en active Active
-
2020
- 2020-05-26 US US16/883,757 patent/US20200285473A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011134145A (ja) * | 2009-12-25 | 2011-07-07 | Fujitsu Ltd | マルチスレッド処理方法及びマルチスレッド処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20140331029A1 (en) | 2014-11-06 |
EP2035929B1 (en) | 2017-10-04 |
US20120240131A1 (en) | 2012-09-20 |
US20190155607A1 (en) | 2019-05-23 |
US8656400B2 (en) | 2014-02-18 |
GB0613289D0 (en) | 2006-08-16 |
EP2035929A1 (en) | 2009-03-18 |
US20200285473A1 (en) | 2020-09-10 |
GB2439840B (en) | 2010-02-03 |
US8286180B2 (en) | 2012-10-09 |
US10698690B2 (en) | 2020-06-30 |
US20080010640A1 (en) | 2008-01-10 |
US10481911B2 (en) | 2019-11-19 |
GB2439840A (en) | 2008-01-09 |
WO2008003968A1 (en) | 2008-01-10 |
GB0712975D0 (en) | 2007-08-15 |
US20080059963A1 (en) | 2008-03-06 |
JP5710878B2 (ja) | 2015-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5710878B2 (ja) | マルチスレッドプロセッサ上の実行スレッドの同期 | |
JP2009543170A5 (ja) | ||
US9436475B2 (en) | System and method for executing sequential code using a group of threads and single-instruction, multiple-thread processor incorporating the same | |
JP5263844B2 (ja) | パイプラインプロセッサにおける長い待ち時間命令の処理 | |
JP5047542B2 (ja) | マルチスレッドプロセッサのディスパッチ時にスレッドをブロックする方法、コンピュータプログラム、および装置(精細なマルチスレッドディスパッチロックメカニズム) | |
JP5631976B2 (ja) | マルチスレッドマイクロプロセッサにおける命令の発行をスケジュールするための方法及び装置 | |
JPH10149285A (ja) | 命令実行制御方法および情報処理装置 | |
US20070143581A1 (en) | Superscalar data processing apparatus and method | |
US20150074353A1 (en) | System and Method for an Asynchronous Processor with Multiple Threading | |
JP2002508568A (ja) | 不適正順序マルチスレッド実行を実行するロード命令およびストア命令を順序付けるシステム | |
JP2015122063A (ja) | マルチスレッディングを支援するための演算ユニット、それを含むプロセッサ及びプロセッサの動作方法 | |
EP2352082B1 (en) | Data processing device for performing a plurality of calculation processes in parallel | |
CN116414464A (zh) | 调度任务的方法和装置、电子设备和计算机可读介质 | |
JP2008269114A (ja) | マルチスレッドプロセッサ及びそれに用いるスレッド間同期操作方法 | |
US6721873B2 (en) | Method and apparatus for improving dispersal performance in a processor through the use of no-op ports | |
JP2008197943A (ja) | コンピュータシステム | |
JP2015036855A (ja) | 演算処理装置及び演算処理装置の制御方法 | |
CN108255587A (zh) | 一种同步多线程处理器 | |
CN108255516A (zh) | 顺序同步多线程处理器及其指令执行控制方法、装置 | |
KR20140124453A (ko) | 재구성 가능 프로세서 및 그 재구성 가능 프로세서에서 문맥 교환 방법 | |
JP2010211741A (ja) | システムlsi及びシステムlsiのデバッグ方法 | |
JPH04326425A (ja) | ループ処理制御方式 | |
JPH06230968A (ja) | 分岐制御装置 | |
JP2004362026A (ja) | 動的な命令列生成方法および装置 | |
KR20110113230A (ko) | 마이크로프로세서 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100629 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120702 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120704 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121002 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121228 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20121228 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130204 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130604 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130712 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130722 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20130927 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150210 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150305 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5710878 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |