FR3072800B1 - Synchronisation dans un agencement de traitement a paves multiples - Google Patents

Synchronisation dans un agencement de traitement a paves multiples Download PDF

Info

Publication number
FR3072800B1
FR3072800B1 FR1859637A FR1859637A FR3072800B1 FR 3072800 B1 FR3072800 B1 FR 3072800B1 FR 1859637 A FR1859637 A FR 1859637A FR 1859637 A FR1859637 A FR 1859637A FR 3072800 B1 FR3072800 B1 FR 3072800B1
Authority
FR
France
Prior art keywords
group
tiles
tile
phase
synchronization
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
Application number
FR1859637A
Other languages
English (en)
French (fr)
Other versions
FR3072800A1 (fr
Inventor
Simon Christian Knowles
Alan Graham Alexander
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Graphcore Ltd
Original Assignee
Graphcore Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Graphcore Ltd filed Critical Graphcore Ltd
Publication of FR3072800A1 publication Critical patent/FR3072800A1/fr
Application granted granted Critical
Publication of FR3072800B1 publication Critical patent/FR3072800B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • G06F9/522Barrier synchronisation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/30087Synchronisation or serialisation instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17325Synchronisation; Hardware support therefor
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30076Arrangements for executing specific machine instructions to perform miscellaneous control operations, e.g. NOP
    • G06F9/3009Thread control instructions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • G06F9/462Saving or restoring of program or task context with multiple register sets
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Advance Control (AREA)
  • Executing Machine-Instructions (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
FR1859637A 2017-10-20 2018-10-18 Synchronisation dans un agencement de traitement a paves multiples Active FR3072800B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1717291.7A GB2569269B (en) 2017-10-20 2017-10-20 Synchronization in a multi-tile processing arrangement
GB1717291.7 2017-10-20

Publications (2)

Publication Number Publication Date
FR3072800A1 FR3072800A1 (fr) 2019-04-26
FR3072800B1 true FR3072800B1 (fr) 2024-01-05

Family

ID=60481655

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1859637A Active FR3072800B1 (fr) 2017-10-20 2018-10-18 Synchronisation dans un agencement de traitement a paves multiples

Country Status (10)

Country Link
US (2) US10564970B2 (https=)
JP (1) JP6797881B2 (https=)
KR (1) KR102262483B1 (https=)
CN (1) CN110214317B (https=)
CA (1) CA3021416C (https=)
DE (1) DE102018126004A1 (https=)
FR (1) FR3072800B1 (https=)
GB (1) GB2569269B (https=)
TW (1) TWI700634B (https=)
WO (1) WO2019076714A1 (https=)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2569098B (en) * 2017-10-20 2020-01-08 Graphcore Ltd Combining states of multiple threads in a multi-threaded processor
US11995448B1 (en) 2018-02-08 2024-05-28 Marvell Asia Pte Ltd Method and apparatus for performing machine learning operations in parallel on machine learning hardware
US12112175B1 (en) 2018-02-08 2024-10-08 Marvell Asia Pte Ltd Method and apparatus for performing machine learning operations in parallel on machine learning hardware
US10970080B2 (en) 2018-02-08 2021-04-06 Marvell Asia Pte, Ltd. Systems and methods for programmable hardware architecture for machine learning
DE102018205392A1 (de) * 2018-04-10 2019-10-10 Robert Bosch Gmbh Verfahren und Vorrichtung zur Fehlerbehandlung in einer Kommunikation zwischen verteilten Software Komponenten
DE102018205390A1 (de) * 2018-04-10 2019-10-10 Robert Bosch Gmbh Verfahren und Vorrichtung zur Fehlerbehandlung in einer Kommunikation zwischen verteilten Software Komponenten
US10929778B1 (en) 2018-05-22 2021-02-23 Marvell Asia Pte, Ltd. Address interleaving for machine learning
US11016801B1 (en) 2018-05-22 2021-05-25 Marvell Asia Pte, Ltd. Architecture to support color scheme-based synchronization for machine learning
US10997510B1 (en) 2018-05-22 2021-05-04 Marvell Asia Pte, Ltd. Architecture to support tanh and sigmoid operations for inference acceleration in machine learning
US10929779B1 (en) * 2018-05-22 2021-02-23 Marvell Asia Pte, Ltd. Architecture to support synchronization between core and inference engine for machine learning
GB2575294B8 (en) * 2018-07-04 2022-07-20 Graphcore Ltd Host Proxy On Gateway
GB2580165B (en) 2018-12-21 2021-02-24 Graphcore Ltd Data exchange in a computer with predetermined delay
KR102670905B1 (ko) * 2019-08-22 2024-05-31 구글 엘엘씨 전파 지연 감소
CN112416053B (zh) * 2019-08-23 2023-11-17 北京希姆计算科技有限公司 多核架构的同步信号产生电路、芯片和同步方法及装置
GB2590658A (en) * 2019-12-23 2021-07-07 Graphcore Ltd Communication in a computer having multiple processors
GB2590661B (en) * 2019-12-23 2022-02-09 Graphcore Ltd Sync network
GB2591106B (en) * 2020-01-15 2022-02-23 Graphcore Ltd Control of data transfer between processors
GB2593756B (en) * 2020-04-02 2022-03-30 Graphcore Ltd Control of data transfer between processing nodes
GB2596872B (en) * 2020-07-10 2022-12-14 Graphcore Ltd Handling injected instructions in a processor
GB2597078B (en) 2020-07-14 2022-07-13 Graphcore Ltd Communication between host and accelerator over network
US12495042B2 (en) * 2021-08-16 2025-12-09 Capital One Services, Llc Systems and methods for resetting an authentication counter

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02114362A (ja) * 1988-10-24 1990-04-26 Nec Corp 並列演算装置
JP2001175618A (ja) * 1999-12-17 2001-06-29 Nec Eng Ltd 並列計算機システム
US8035650B2 (en) * 2006-07-25 2011-10-11 Qualcomm Incorporated Tiled cache for multiple software programs
US8046727B2 (en) * 2007-09-12 2011-10-25 Neal Solomon IP cores in reconfigurable three dimensional integrated circuits
US8866827B2 (en) 2008-06-26 2014-10-21 Microsoft Corporation Bulk-synchronous graphics processing unit programming
US8539204B2 (en) 2009-09-25 2013-09-17 Nvidia Corporation Cooperative thread array reduction and scan operations
US9081501B2 (en) * 2010-01-08 2015-07-14 International Business Machines Corporation Multi-petascale highly efficient parallel supercomputer
GB201001621D0 (en) * 2010-02-01 2010-03-17 Univ Catholique Louvain A tile-based processor architecture model for high efficiency embedded homogenous multicore platforms
US8713290B2 (en) 2010-09-20 2014-04-29 International Business Machines Corporation Scaleable status tracking of multiple assist hardware threads
US20120179896A1 (en) * 2011-01-10 2012-07-12 International Business Machines Corporation Method and apparatus for a hierarchical synchronization barrier in a multi-node system
CN104081781B (zh) 2012-01-20 2018-11-02 Ge视频压缩有限责任公司 一种编码器、解码器、编解码方法及用于传送解多工的方法
US10067768B2 (en) 2014-07-18 2018-09-04 Nvidia Corporation Execution of divergent threads using a convergence barrier
US9348658B1 (en) * 2014-12-12 2016-05-24 Intel Corporation Technologies for efficient synchronization barriers with work stealing support
US10101786B2 (en) * 2014-12-22 2018-10-16 Intel Corporation Holistic global performance and power management
US9747108B2 (en) 2015-03-27 2017-08-29 Intel Corporation User-level fork and join processors, methods, systems, and instructions
US10310861B2 (en) * 2017-04-01 2019-06-04 Intel Corporation Mechanism for scheduling threads on a multiprocessor
US10672175B2 (en) * 2017-04-17 2020-06-02 Intel Corporation Order independent asynchronous compute and streaming for graphics

Also Published As

Publication number Publication date
CA3021416A1 (en) 2019-04-20
KR20190044570A (ko) 2019-04-30
TW201923556A (zh) 2019-06-16
JP2019079528A (ja) 2019-05-23
JP6797881B2 (ja) 2020-12-09
DE102018126004A1 (de) 2019-04-25
CN110214317A (zh) 2019-09-06
US20200089499A1 (en) 2020-03-19
CN110214317B (zh) 2023-05-02
GB2569269B (en) 2020-07-15
GB201717291D0 (en) 2017-12-06
US11593185B2 (en) 2023-02-28
CA3021416C (en) 2021-03-30
GB2569269A (en) 2019-06-19
TWI700634B (zh) 2020-08-01
KR102262483B1 (ko) 2021-06-08
WO2019076714A1 (en) 2019-04-25
US10564970B2 (en) 2020-02-18
US20190121641A1 (en) 2019-04-25
FR3072800A1 (fr) 2019-04-26

Similar Documents

Publication Publication Date Title
FR3072800B1 (fr) Synchronisation dans un agencement de traitement a paves multiples
FR3072797B1 (fr) Synchronisation dans un agencement de traitement a paves multiples et a puces multiples
Quandelacy et al. Age-and sex-related risk factors for influenza-associated mortality in the United States between 1997–2007
Richard et al. Diarrhea in early childhood: short-term association with weight and long-term association with length
Hirve et al. Incidence of influenza-associated hospitalization in rural communities in western and northern India, 2010–2012: a multi-site population-based study
EP1569114A3 (en) Network system, distributed processing method and information processing apparatus
EP3537760A4 (en) METHOD FOR PROCESSING DATA ON THE BASIS OF NETWORK SLICES AND DEVICE THEREFOR
WO2008086308B1 (en) Time synchronization of multiple time-based data streams with independent clocks
RU2017119009A (ru) Анализы для обнаружения субпопуляций иммунных т-клеток и способы их применения
EP3778648A4 (en) NOVEL ANTIBODY MOLECULE, METHOD OF PRODUCTION AND USE THEREOF
EP3654370A4 (en) ARRAY SUBSTRATE, METHOD OF MANUFACTURING IT, DISPLAY BOARD AND DISPLAY DEVICE
WO2017004775A1 (zh) 一种基于互联网的自助旅行服务系统
EP3737070A4 (en) METHOD, DEVICE AND SERVER FOR PROCESSING ACCESS REQUESTS
NL2024367A (en) Public chain-based token exchange method and blockchain system
FR3072236B1 (fr) Dispositif et procede d'acquisition de valeurs de compteurs associes a une tache de calcul
CN110583054A (zh) 同步信号块的定时方法及相关产品
FR3096129B1 (fr) procédé de géolocalisation de plateformes se déplaçant en formation, produit programme d'ordinateur et module de géolocalisation associés
CN116579816B (zh) 基于超链的面向数据要素流通的交易方法和系统
FR3100909B1 (fr) Procédé d'accès aux ressources partagées d'une plateforme informatique, programme d'ordinateur et plate-forme informatique associés
Bagajewicz et al. On the minimum number of units in heat exchanger networks
Osman et al. Mitochondrial HVRI and whole mitogenome sequence variations portray similar scenarios on the genetic structure and ancestry of northeast Africans
Bateman Roman London's Amphitheatre
Aranda et al. What Is Contemporary Art? Issue Two
CN109756538A (zh) 基于云计算的网络实践教学平台
CN309785846S (zh) 科普类展馆的互动装置

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLSC Publication of the preliminary search report

Effective date: 20211029

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8