JP7073403B2 - 高スループット内部通信プロトコルを用いる画像処理プロセッサ - Google Patents
高スループット内部通信プロトコルを用いる画像処理プロセッサ Download PDFInfo
- Publication number
- JP7073403B2 JP7073403B2 JP2019559364A JP2019559364A JP7073403B2 JP 7073403 B2 JP7073403 B2 JP 7073403B2 JP 2019559364 A JP2019559364 A JP 2019559364A JP 2019559364 A JP2019559364 A JP 2019559364A JP 7073403 B2 JP7073403 B2 JP 7073403B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- data packet
- processor
- receiver
- transmitter circuit
- 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
Images
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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/80—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
- G06F15/8007—Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
- G06F15/8023—Two dimensional arrays, e.g. mesh, torus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/38—Synchronous or start-stop systems, e.g. for Baudot code
- H04L25/40—Transmitting circuits; Receiving circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9078—Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Image Processing (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明の分野は、概して、コンピューティングサイエンスに関し、より具体的には、高スループット内部通信プロトコルを用いる画像処理プロセッサに関する。
画像処理には、通常、アレイに編成された画素値の処理が伴う。ここで、空間的に編成された2次元アレイは、画像の2次元の特性をキャプチャする(さらなる次元として、時間(たとえば、一続きの2次元画像)およびデータ型(たとえば、色)を含み得る)。通常のシナリオでは、配列された画素値は、静止画像または動きを撮影するための一続きのフレームを生成したカメラによって提供される。従来の画像処理プロセッサは、通常、両極端に分かれる。
プロセッサを記載する。プロセッサはネットワークを含む。複数の処理コアが当該ネットワークに連結されている。当該プロセッサは、当該ネットワークに連結されたトランスミッタ回路(transmitter circuit)を含む。当該トランスミッタ回路は、当該複数の処理コアのうちの1つによって生成される出力データを当該ネットワーク内に送信するためのものである。当該トランスミッタ回路は制御論理回路を含む。当該制御論理回路は、当該トランスミッタ回路が出力データのうち先行の第1のパケットの送信を完了する前に、当該トランスミッタ回路に、出力データのうち第2のパケットを送信するための要求を送信させる。
1.0 固有の画像処理プロセッサのアーキテクチャ
当技術分野において公知であるように、プログラムコードを実行するための基本的な回路構造は、実行ステージとレジスタ空間とを含む。実行ステージは、命令を実行するための実行部を含んでいる。実行される命令のための入力オペランドがレジスタ空間から実行ステージに提供される。実行ステージが命令を実行することによって生成される結果は、レジスタ空間に書き戻される。
上述のとおり、1つのステンシルプロセッサ上で実行されているプログラムコードの生成カーネル(producing kernel)は、その出力データを(たとえば、複数ラインのグループとして)ラインバッファ部に送信する。ラインバッファ部は、当該データを(たとえば、複数ラインのグループとして)待ち行列に入れる(queue)かまたは格納して、1つ以上の他のステンシルプロセッサに転送する。1つ以上の他のステンシルプロセッサは、プログラムコードのうち、生成カーネルの出力データを消費するそれぞれのカーネルを実行している。画像処理プロセッサ全体の内部において、複数のラインバッファ部に相互接続された複数のステンシルプロセッサが存在しているので、たとえば、多数の生成/消費カーネル接続が実現され得る。
図8a~図8e~図12は、上述した画像処理プロセッサおよび関連するステンシルプロセッサのさまざまな実施形態のより詳細な動作および設計を提供する。ラインバッファ部がライングループをステンシルプロセッサの関連するシート生成部に送るという図2の説明を思い返すと、図8a~図8eは、ラインバッファ部201の解析アクティビティ、シート生成部203の細粒度の解析アクティビティ、およびシート生成部203に連結されるステンシルプロセッサ702のステンシル処理アクティビティの実施形態を高レベルで示している。
上述したさまざまな画像処理プロセッサのアーキテクチャの特徴は、必ずしも従来の意味での画像処理に限られないため、画像処理プロセッサを新たに特徴付け得る(または、させ得ない)その他のアプリケーションに適用され得ることを指摘することが適切である。たとえば、上述したさまざまな画像処理プロセッサのアーキテクチャの特徴のうちのいずれかが、実際のカメラ画像の処理とは対照的に、アニメーションの作成ならびに/または生成および/もしくは描画に使用される場合、画像処理プロセッサは、GPU(Graphics Processing Unit)として特徴付けられてもよい。加えて、上述した画像処理プロセッサアーキテクチャの特徴を、映像処理、視野処理、画像認識および/または機械学習など、その他の技術用途に適用してもよい。このように適用すると、画像処理プロセッサは、(たとえば、コプロセッサとして)、(たとえば、コンピューティングシステムのCPU(Central Processing Unit)もしくはその一部である)より汎用的なプロセッサと統合されてもよく、または、コンピューティングシステム内のスタンドアロン型のプロセッサであってもよい。
例1:プロセッサであって、
ネットワークと、
当該ネットワークに連結された複数の処理コアと、
当該ネットワークに連結されたトランスミッタ回路とを備え、当該トランスミッタ回路は、当該複数の処理コアのうちの1つによって生成された出力データを当該ネットワーク内に送信し、当該トランスミッタ回路は制御論理回路を含み、当該制御論理回路は、当該トランスミッタ回路が出力データのうち先行の第1のパケットの送信を完了する前に、当該トランスミッタ回路に、出力データのうち第2のパケットの送信のための要求を送信させる、プロセッサ。
当該第2のパケットを当該第1のパケットが送信されつつあるのと同じ宛先へ送信すべき場合に当該同じ宛先、または、
当該第2のパケットを異なる宛先に送信すべき場合に当該異なる宛先、
に送信されることになる、例1に記載のプロセッサ。
当該第1のパケットおよび当該第2のパケットが同じ宛先に送信されている場合、当該第1のパケットおよび当該第2のパケットのために同じクレジットカウンタを用いることになるか、または、
当該第1のパケットおよび当該第2のパケットが異なる宛先に送信されている場合、当該第1のパケットのために第1のクレジットカウンタを用いることになるとともに当該第2のパケットのために第2のクレジットカウンタを用いることになる、例1または例2に記載のプロセッサ。
複数の汎用処理コアと、
システムメモリと、
当該システムメモリと当該汎用処理コアとの間で連結されるメモリコントローラと、
画像処理プロセッサとを備え、当該画像処理プロセッサは、
a)ネットワークと、
b)当該ネットワークに連結された複数の画像処理コアと、
c)当該ネットワークに連結されたトランスミッタ回路とを含み、当該トランスミッタ回路は、当該画像処理コアのうちの1つによって生成された出力データを当該ネットワーク内に送信し、当該トランスミッタ回路は制御論理回路を含み、当該制御論理回路は、当該トランスミッタ回路が出力データのうち先行の第1のパケットの送信を完了する前に、当該トランスミッタ回路に、出力データのうち第2のパケットの送信のための要求を送信させる、コンピューティングシステム。
当該第2のパケットを当該第1のパケットが送信されつつあるのと同じ宛先へ送信すべき場合に当該同じ宛先、または、
当該第2のパケットを異なる宛先に送信すべき場合に当該異なる宛先、
に送信されることになる、例12に記載のコンピューティングシステム。
当該第1のパケットおよび当該第2のパケットが同じ宛先に送信されている場合、当該第1のパケットおよび当該第2のパケットのために同じクレジットカウンタを用いることになるか、または、
当該第1のパケットおよび当該第2のパケットが異なる宛先に送信されている場合、当該第1のパケットのために第1のクレジットカウンタを用いることになるとともに当該第2のパケットのために第2にクレジットカウンタを用いることになる、例12または例13に記載のコンピューティングシステム。
当該プロセッサの処理コアの出力データを生成するために当該処理コア上でプログラムコードを処理するステップと、
当該プロセッサ内のネットワークに連結されているトランスミッタ回路によって、当該トランスミッタ回路が先行の第1のパケットの送信を完了する前に、第2のパケットについての送信のための要求を送信するステップとを含み、当該第2のパケットは、当該処理コアによって生成された第2の出力データを含み、当該第1のパケットは、当該処理コアによって生成された第1の出力データを含み、前記方法はさらに、
当該ネットワークに連結されている当該プロセッサのうち1つ以上の他の処理コアで当該第1の出力データおよび当該第2の出力データを処理するステップを含む、方法。
Claims (26)
- プロセッサであって、
ネットワークと、
前記ネットワークに連結された複数の処理コアと、
前記複数の処理コアのうちの第1の処理コアを前記ネットワークに連結するトランスミッタ回路とを備え、前記トランスミッタ回路は、前記第1の処理コアによって出力された複数のデータ単位を含むデータパケットを前記ネットワーク内に送信し、前記トランスミッタ回路は制御論理回路を含み、前記制御論理回路は、
前記プロセッサの第1のレシーバに向けた第1のデータパケットの送信を、前記トランスミッタ回路に開始させ、
前記第1のレシーバに向けた前記第1のデータパケットの最後のデータ単位の送信を完了する前に、前記トランスミッタ回路に、前記第1のレシーバに向けた第2のデータパケットの送信のための要求を送信させ、
前記第1のデータパケットの前記最後のデータ単位の送信を完了する前に、前記トランスミッタ回路に、前記第2のデータパケットの送信のために予め発行された受取り確認を受信させ、
前記第1のデータパケットの前記最後のデータ単位が前記第1のレシーバによって消費されたことを示す表示を、前記トランスミッタ回路に受信させ、
前記第1のデータパケットの前記最後のデータ単位が前記第1のレシーバによって消費されたことを示す前記表示を受信したことに応答して、前記トランスミッタ回路に、前記第1のレシーバに割り当てられた第1のクレジットカウンタを増加させ、前記第1のクレジットカウンタのクレジットは、前記トランスミッタ回路によって前記第1のレシーバに送信可能なデータ量に対応し、前記制御論理回路は、さらに、
前記第1のデータパケットの前記最後のデータ単位が前記第1のレシーバによって消費されたことを示す前記表示を受信したことで増加した前記第1のクレジットカウンタの前記クレジットの1つ以上を使用することにより、前記トランスミッタ回路に、前記第1のレシーバに向けて前記第2のデータパケットの最初のデータ単位を送信させる、プロセッサ。 - 前記制御論理回路は、さらに、
前記第1のレシーバに向けた前記第1のデータパケットの前記最後のデータ単位の送信を完了する前に、前記トランスミッタ回路に、前記プロセッサの第2のレシーバに向けた第3のデータパケットの送信のための要求を送信させ
前記第1のデータパケットの前記最後のデータ単位の送信を完了する前に、前記トランスミッタ回路に、前記第3のデータパケットの送信のために予め発行された受取り確認を受信させ、
前記第3のデータパケットの送信のために前記予め発行された受取り確認を受信したことに応答して、前記トランスミッタ回路に、前記第2のレシーバに割り当てられた第2のクレジットカウンタを増加させ、前記第2のクレジットカウンタのクレジットは、前記トランスミッタ回路によって前記第2のレシーバに送信可能なデータ量に対応し、前記制御論理回路は、さらに、
前記第3のデータパケットの送信のための前記予め発行された受取り確認を受信したことで増加した前記第2のクレジットカウンタの前記クレジットの1つ以上を使用することにより、前記トランスミッタ回路に、前記第2のレシーバに向けて前記第3のデータパケットの最初のデータ単位を送信させる、請求項1に記載のプロセッサ。 - 前記制御論理回路は、異なる宛先に対する複数のデータパケットの同時送信を制御するための、前記第1のクレジットカウンタおよび前記第2のクレジットカウンタを含む複数のクレジットカウンタを含み、
前記複数のクレジットカウンタの各々は、いずれかの特定の宛先に対する送信を制御するために永久的に割当てられるものではない、請求項2に記載のプロセッサ。 - 前記第1のデータパケットおよび前記第2のデータパケットのデータ単位は、前記トランスミッタ回路によって送信された後、および、前記データ単位が前記複数の処理コアのうち別の1つ以上の処理コアによって処理される前に、前記プロセッサのメモリ回路によって待ち行列に入れられる、請求項1から3のいずれか1項に記載のプロセッサ。
- 前記プロセッサは画像処理プロセッサであり、前記第1のデータパケットおよび前記第2のデータパケットはデータの画像の複数ラインを含む、請求項1から4のいずれか1項に記載のプロセッサ。
- 前記画像処理プロセッサは、2次元シフトレジスタアレイに連結された、実行レーンのアレイを含む、請求項5に記載のプロセッサ。
- 前記画像処理プロセッサは、画像データのステンシルを処理するための複数のステンシルプロセッサを含む、請求項5または6に記載のプロセッサ。
- 部分的に重なっているステンシル上で動作するように構成される、請求項7に記載のプロセッサ。
- 実行レーンのアレイの外側にレジスタの「ハロー」が存在するように、前記実行レーンのアレイよりも広い寸法を有するシフトレジスタ構造を備えたデータ演算部を含むかまたは前記データ演算部に連結される、請求項1から8のいずれか1項に記載のプロセッサ。
- コンピューティングシステムであって、
複数の汎用処理コアと、
システムメモリと、
前記システムメモリと前記汎用処理コアとの間で連結されるメモリコントローラと、
画像処理プロセッサとを備え、前記画像処理プロセッサは、
a)ネットワークと、
b)前記ネットワークに連結された複数の画像処理コアと、
c)前記複数の画像処理コアのうちの第1の画像処理コアを前記ネットワークに連結するトランスミッタ回路とを含み、前記トランスミッタ回路は、前記第1の画像処理コアによって出力された複数のデータ単位を含むデータパケットを前記ネットワーク内に送信し、前記トランスミッタ回路は制御論理回路を含み、前記制御論理回路は、
前記画像処理プロセッサの第1のレシーバに向けた第1のデータパケットの送信を、前記トランスミッタ回路に開始させ、
前記第1のレシーバに向けた前記第1のデータパケットの最後のデータ単位の送信を完了する前に、前記トランスミッタ回路に、前記第1のレシーバに向けた第2のデータパケットの送信のための要求を送信させ、
前記第1のデータパケットの前記最後のデータ単位の送信を完了する前に、前記トランスミッタ回路に、前記第2のデータパケットの送信のために予め発行された受取り確認を受信させ、
前記第1のデータパケットの前記最後のデータ単位が前記第1のレシーバによって消費されたことを示す表示を、前記トランスミッタ回路に受信させ、
前記第1のデータパケットの前記最後のデータ単位が前記第1のレシーバによって消費されたことを示す表示を受信したことに応答して、前記トランスミッタ回路に、前記第1のレシーバに割り当てられた第1のクレジットカウンタを増加させ、前記第1のクレジットカウンタのクレジットは、前記トランスミッタ回路によって前記第1のレシーバに送信可能なデータ量に対応し、前記制御論理回路は、さらに、
前記第1のデータパケットの前記最後のデータ単位が前記第1のレシーバによって消費されたことを示す前記表示を受信したことで増加した前記第1のクレジットカウンタの前記クレジットの1つ以上を使用することにより、前記トランスミッタ回路に、前記第1のレシーバに向けて前記第2のデータパケットの最初のデータ単位を送信させる、コンピューティングシステム。 - 前記制御論理回路は、さらに、
前記第1のデータパケットの前記最後のデータ単位の送信を完了する前に、前記トランスミッタ回路に、前記画像処理プロセッサの第2のレシーバに向けた第3のデータパケットの送信のための要求を送信させ
前記第1のレシーバに向けた前記第1のデータパケットの前記最後のデータ単位の送信を完了する前に、前記トランスミッタ回路に、前記第3のデータパケットの送信のために予め発行された受取り確認を受信させ、
前記第3のデータパケットの送信のために前記予め発行された受取り確認を受信したことに応答して、前記トランスミッタ回路に、前記第2のレシーバに割り当てられた第2のクレジットカウンタを増加させ、前記第2のクレジットカウンタのクレジットは、前記トランスミッタ回路によって前記第2のレシーバに送信可能なデータ量に対応し、前記制御論理回路は、さらに、
前記第3のデータパケットの送信のための前記予め発行された受取り確認を受信したことで増加した前記第2のクレジットカウンタの前記クレジットの1つ以上を使用することにより、前記トランスミッタ回路に、前記第2のレシーバに向けて前記第3のデータパケットの最初のデータ単位を送信させる、請求項10に記載のコンピューティングシステム。 - 前記制御論理回路は、異なる宛先に対する複数のデータパケットの同時送信を制御するための、前記第1のクレジットカウンタおよび前記第2のクレジットカウンタを含む複数のクレジットカウンタを含み、
前記複数のクレジットカウンタの各々は、いずれかの特定の宛先に対する送信を制御するために永久的に割当てられるものではない、請求項11に記載のコンピューティングシステム。 - 前記第1のデータパケットおよび前記第2のデータパケットのデータ単位は、前記トランスミッタ回路によって送信された後、および、前記データ単位が前記複数の画像処理コアのうち別の1つ以上の画像処理コアによって処理される前に、前記画像処理プロセッサのメモリ回路によって待ち行列に入れられる、請求項10から12のいずれか1項に記載のコンピューティングシステム。
- 前記第1のデータパケットおよび前記第2のデータパケットはデータの画像の複数ラインを含む、請求項10から13のいずれか1項に記載のコンピューティングシステム。
- 前記画像処理プロセッサは、2次元シフトレジスタアレイに連結された、実行レーンのアレイを含む、請求項14に記載のコンピューティングシステム。
- 前記画像処理プロセッサは、画像データのステンシルを処理するための複数のステンシルプロセッサを含む、請求項14または15に記載のコンピューティングシステム。
- 部分的に重なっているステンシル上で動作するように構成される、請求項16に記載のコンピューティングシステム。
- 実行レーンのアレイの外側にレジスタの「ハロー」が存在するように、前記実行レーンのアレイよりも広い寸法を有するシフトレジスタ構造を備えたデータ演算部を含むかまたは前記データ演算部に連結される、請求項10から17のいずれか1項に記載のコンピューティングシステム。
- ネットワークと前記ネットワークに連結された複数の処理コアとを有するプロセッサによって実行される方法であって、
前記複数の処理コアのうちの第1の処理コアが、第1のデータパケットおよび第2のデータパケット内で送信される、前記プロセッサの前記第1の処理コアの出力データを生成するためのプログラムコードを処理するステップを備え、前記第1のデータパケットおよび前記第2のデータパケットの各々は複数のデータ単位を含み、前記方法はさらに、
前記ネットワークに前記第1の処理コアを連結するトランスミッタ回路が、前記プロセッサの第1のレシーバに向けた前記第1のデータパケットの送信を開始するステップと、
前記トランスミッタ回路が、前記第1のデータパケットの最後のデータ単位の送信を完了する前に、前記第2のデータパケットの送信のための要求を送信するステップと、
前記トランスミッタ回路が、前記第1のデータパケットの前記最後のデータ単位の送信を完了する前に、前記第2のデータパケットの送信のために予め発行された受取り確認を受信するステップと、
前記トランスミッタ回路が、前記第1のデータパケットの前記最後のデータ単位が前記第1のレシーバによって消費されたことを示す表示を受信するステップと、
前記トランスミッタ回路が、前記第1のデータパケットの前記最後のデータ単位が前記第1のレシーバによって消費されたことを示す前記表示を受信したことに応答して、前記第1のレシーバに割り当てられた第1のクレジットカウンタを増加させるステップとを備え、前記第1のクレジットカウンタのクレジットは、前記トランスミッタ回路によって前記第1のレシーバに送信可能なデータ量に対応し、前記方法はさらに、
前記トランスミッタ回路が、前記第1のデータパケットの前記最後のデータ単位が前記第1のレシーバによって消費されたことを示す前記表示を受信したことで増加した前記第1のクレジットカウンタの前記クレジットの1つ以上を使用することにより、前記第1のレシーバに向けて前記第2のデータパケットの最初のデータ単位を送信するステップとを備える、方法。 - 前記複数の処理コアのうちの第2の処理コアが、第3のデータパケット内で送信される、前記第2の処理コアの出力データを生成するためのプログラムコードを処理するステップをさらに備え、前記第3のデータパケットは複数のデータ単位を含み、前記方法はさらに、
前記トランスミッタ回路が、前記第1のレシーバに向けた前記第1のデータパケットの前記最後のデータ単位の送信を完了する前に、前記プロセッサの第2のレシーバに向けた第3のデータパケットの送信のための要求を送信するステップと、
前記トランスミッタ回路が、前記第1のデータパケットの前記最後のデータ単位の送信を完了する前に、前記第3のデータパケットの送信のために予め発行された受取り確認を受信するステップと、
前記トランスミッタ回路が、前記第3のデータパケットの送信のために前記予め発行された受取り確認を受信したことに応答して、前記第2のレシーバに割り当てられた第2のクレジットカウンタを増加させるステップとを備え、前記第2のクレジットカウンタのクレジットは、前記トランスミッタ回路によって前記第2のレシーバに送信可能なデータ量に対応し、前記方法はさらに、
前記トランスミッタ回路が、前記第3のデータパケットの送信のための前記予め発行された受取り確認を受信したことで増加した前記第2のクレジットカウンタの前記クレジットの1つ以上を使用することにより、前記第2のレシーバに向けて前記第3のデータパケットの最初のデータ単位を送信するステップを備える、請求項19に記載の方法。 - 前記トランスミッタ回路が前記第1のデータパケットを送信した後であって、前記1つ以上の処理コアが前記第1のデータパケットのデータ単位を処理する前に、前記プロセッサのメモリ回路が前記第1のデータパケットの前記データ単位を待ち行列に入れるステップをさらに含む、請求項20に記載の方法。
- 前記待ち行列に入れるステップは、前記ネットワークに連結されているバッファによって画像データの複数ラインを待ち行列に入れるステップを含む、請求項21に記載の方法。
- 前記プロセッサは画像処理プロセッサであり、前記画像処理プロセッサは、2次元シフトレジスタアレイに連結された、実行レーンのアレイを含む、請求項19から22のいずれか1項に記載の方法。
- 前記画像処理プロセッサは、画像データのステンシルを処理するための複数のステンシルプロセッサを含む、請求項23に記載の方法。
- 部分的に重なっているステンシル上で動作するように構成される、請求項24に記載の方法。
- 実行レーンのアレイの外側にレジスタの「ハロー」が存在するように、前記実行レーンのアレイよりも広い寸法を有するシフトレジスタ構造を備えたデータ演算部を含むかまたは前記データ演算部に連結される、請求項19から25のいずれか1項に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/595,242 US10872393B2 (en) | 2017-05-15 | 2017-05-15 | Image processor with high throughput internal communication protocol |
US15/595,242 | 2017-05-15 | ||
PCT/US2018/012521 WO2018212793A1 (en) | 2017-05-15 | 2018-01-05 | Image processor with high throughput internal communication protocol |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2020519996A JP2020519996A (ja) | 2020-07-02 |
JP2020519996A5 JP2020519996A5 (ja) | 2020-10-01 |
JP7073403B2 true JP7073403B2 (ja) | 2022-05-23 |
Family
ID=61094589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019559364A Active JP7073403B2 (ja) | 2017-05-15 | 2018-01-05 | 高スループット内部通信プロトコルを用いる画像処理プロセッサ |
Country Status (7)
Country | Link |
---|---|
US (1) | US10872393B2 (ja) |
EP (1) | EP3625755A1 (ja) |
JP (1) | JP7073403B2 (ja) |
KR (1) | KR102284078B1 (ja) |
CN (1) | CN110574068B (ja) |
TW (1) | TWI718359B (ja) |
WO (1) | WO2018212793A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10489878B2 (en) * | 2017-05-15 | 2019-11-26 | Google Llc | Configurable and programmable image processor unit |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010218415A (ja) | 2009-03-18 | 2010-09-30 | Olympus Corp | ハードウエアスイッチ及び分散処理システム |
JP2010218351A (ja) | 2009-03-18 | 2010-09-30 | Ricoh Co Ltd | データ転送システム及びデータ転送方法 |
US20160314555A1 (en) | 2015-04-23 | 2016-10-27 | Google Inc. | Architecture for high performance, power efficient, programmable image processing |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11203192A (ja) * | 1998-01-16 | 1999-07-30 | Sony Corp | 並列プロセッサおよび演算処理方法 |
US7453878B1 (en) * | 2000-07-21 | 2008-11-18 | Silicon Graphics, Inc. | System and method for ordering of data transferred over multiple channels |
US7966661B2 (en) * | 2004-04-29 | 2011-06-21 | Microsoft Corporation | Network amplification attack mitigation |
US7478811B2 (en) | 2004-08-02 | 2009-01-20 | Garrett Johnson | Wave driven gaming apparatus |
US7793074B1 (en) * | 2006-04-14 | 2010-09-07 | Tilera Corporation | Directing data in a parallel processing environment |
US8463843B2 (en) * | 2006-05-26 | 2013-06-11 | Riverbed Technology, Inc. | Throttling of predictive ACKs in an accelerated network communication system |
US8478834B2 (en) * | 2007-07-12 | 2013-07-02 | International Business Machines Corporation | Low latency, high bandwidth data communications between compute nodes in a parallel computer |
US8700877B2 (en) | 2009-09-25 | 2014-04-15 | Nvidia Corporation | Address mapping for a parallel thread processor |
US20110249744A1 (en) * | 2010-04-12 | 2011-10-13 | Neil Bailey | Method and System for Video Processing Utilizing N Scalar Cores and a Single Vector Core |
US9021237B2 (en) * | 2011-12-20 | 2015-04-28 | International Business Machines Corporation | Low latency variable transfer network communicating variable written to source processing core variable register allocated to destination thread to destination processing core variable register allocated to source thread |
JP5966561B2 (ja) * | 2012-04-20 | 2016-08-10 | 富士通株式会社 | 通信装置および通信方法 |
US9489322B2 (en) | 2013-09-03 | 2016-11-08 | Intel Corporation | Reducing latency of unified memory transactions |
US20160188519A1 (en) * | 2014-12-27 | 2016-06-30 | Intel Corporation | Method, apparatus, system for embedded stream lanes in a high-performance interconnect |
US9792044B2 (en) * | 2016-02-12 | 2017-10-17 | Oracle International Corporation | Decompression history buffer read/write pipelines |
US10437616B2 (en) * | 2016-12-31 | 2019-10-08 | Intel Corporation | Method, apparatus, system for optimized work submission to an accelerator work queue |
US10764209B2 (en) * | 2017-03-28 | 2020-09-01 | Mellanox Technologies Tlv Ltd. | Providing a snapshot of buffer content in a network element using egress mirroring |
-
2017
- 2017-05-15 US US15/595,242 patent/US10872393B2/en active Active
-
2018
- 2018-01-05 JP JP2019559364A patent/JP7073403B2/ja active Active
- 2018-01-05 EP EP18702376.7A patent/EP3625755A1/en active Pending
- 2018-01-05 WO PCT/US2018/012521 patent/WO2018212793A1/en unknown
- 2018-01-05 CN CN201880028900.3A patent/CN110574068B/zh active Active
- 2018-01-05 KR KR1020197031167A patent/KR102284078B1/ko active IP Right Grant
- 2018-02-07 TW TW107104241A patent/TWI718359B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010218415A (ja) | 2009-03-18 | 2010-09-30 | Olympus Corp | ハードウエアスイッチ及び分散処理システム |
JP2010218351A (ja) | 2009-03-18 | 2010-09-30 | Ricoh Co Ltd | データ転送システム及びデータ転送方法 |
US20160314555A1 (en) | 2015-04-23 | 2016-10-27 | Google Inc. | Architecture for high performance, power efficient, programmable image processing |
Non-Patent Citations (1)
Title |
---|
Nicola Concer et al.,"CTC: an End-To-End Flow Control Protocol for Multi-Core Systems-on-Chip",2009 3rd ACM/IEEE International Symposium on Networks-on-Chip,米国,IEEE,2009年05月10日,pp.1-10 |
Also Published As
Publication number | Publication date |
---|---|
KR20190133028A (ko) | 2019-11-29 |
EP3625755A1 (en) | 2020-03-25 |
TWI718359B (zh) | 2021-02-11 |
JP2020519996A (ja) | 2020-07-02 |
CN110574068B (zh) | 2023-06-27 |
CN110574068A (zh) | 2019-12-13 |
US20180330465A1 (en) | 2018-11-15 |
TW201901609A (zh) | 2019-01-01 |
WO2018212793A1 (en) | 2018-11-22 |
KR102284078B1 (ko) | 2021-07-30 |
US10872393B2 (en) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7066732B2 (ja) | 設定可能且つプログラム可能な画像プロセッサユニット | |
JP6571790B2 (ja) | 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ | |
JP6612403B2 (ja) | 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ | |
JP6389571B2 (ja) | 画像プロセッサのための二次元シフトアレイ | |
US10685423B2 (en) | Determination of per line buffer unit memory allocation | |
JP2019507922A (ja) | 画像プロセッサのためのコンパイラ管理メモリ | |
US10998070B2 (en) | Shift register with reduced wiring complexity | |
JP6967597B2 (ja) | 設定可能な数のアクティブなコアを有する画像処理プロセッサおよびサポートする内部ネットワーク | |
CN110574067A (zh) | 图像处理器i/o单元 | |
US11030005B2 (en) | Configuration of application software on multi-core image processor | |
JP7073403B2 (ja) | 高スループット内部通信プロトコルを用いる画像処理プロセッサ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200819 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200819 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210921 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211005 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20220104 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220307 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20220412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220511 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7073403 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |