JP6820428B2 - マルチコア画像プロセッサ上のアプリケーションソフトウェアの構成 - Google Patents
マルチコア画像プロセッサ上のアプリケーションソフトウェアの構成 Download PDFInfo
- Publication number
- JP6820428B2 JP6820428B2 JP2019539225A JP2019539225A JP6820428B2 JP 6820428 B2 JP6820428 B2 JP 6820428B2 JP 2019539225 A JP2019539225 A JP 2019539225A JP 2019539225 A JP2019539225 A JP 2019539225A JP 6820428 B2 JP6820428 B2 JP 6820428B2
- Authority
- JP
- Japan
- Prior art keywords
- kernel
- stencil
- image processing
- processor
- line buffer
- 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
- 238000012545 processing Methods 0.000 claims description 103
- 239000000872 buffer Substances 0.000 claims description 102
- 238000012546 transfer Methods 0.000 claims description 66
- 238000000034 method Methods 0.000 claims description 49
- 230000015654 memory Effects 0.000 claims description 44
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 17
- 238000004458 analytical method Methods 0.000 description 14
- 125000001475 halogen functional group Chemical group 0.000 description 13
- 230000006870 function Effects 0.000 description 12
- 238000013461 design Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000005574 cross-species transmission Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 101100339496 Caenorhabditis elegans hop-1 gene Proteins 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000005039 memory span Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000005549 size reduction Methods 0.000 description 1
- 230000000007 visual effect 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/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
-
- 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/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/505—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 load
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Description
本発明の分野は、概してコンピューティング・サイエンスに関し、より具体的には、マルチコア画像プロセッサ上のアプリケーションソフトウェアの構成に関する。
画像処理は、典型的には、アレイに編成されたピクセル値の処理を含む。ここで、空間的に編成された二次元アレイは、画像の二次元的性質を捕捉する(追加の次元は、時間(たとえば二次元画像のシーケンス)およびデータタイプ(たとえば色)を含み得る)。典型的なケースでは、アレイ化されたピクセル値は、静止画像または動きの画像を捕捉するためにフレームのシーケンスを生成したカメラによって提供される。伝統的な画像プロセッサは、典型的には、2つの極端な側面のいずれかに分類される。
ある方法について説明する。この方法は、画像プロセッサ上で実行する複数のカーネルを有するプログラムのカーネル間接続のデータ転送メトリックを計算するステップを含む。画像プロセッサは、複数の処理コアと、複数の処理コアを接続するネットワークとを備える。カーネル間接続は各々、複数の処理コアのうちの1つの処理コア上で実行する作成カーネル(producing kernel)と、複数の処理コアのうちの別の処理コア上で実行する消費カーネル(consuming kernel)とを含む。消費カーネルは、作成カーネルが生成したデータに対して動作する。この方法はまた、計算したデータ転送メトリックに基づいて、複数のカーネルのうちのカーネルを、複数の処理コアのうちの対応する処理コアに割り当てるステップを含む。
さらに他の局面に従い、コンピューティングシステムが提供され、コンピューティングシステムは、複数の汎用処理コアと、システムメモリと、システムメモリと複数の汎用処理コアとの間のメモリコントローラと、コンピューティングシステムによって処理されるとコンピューティングシステムに方法を実行させるプログラムコードを含む非一時的なマシン読取可能記憶媒体とを備え、この方法は、画像プロセッサ上で実行する複数のカーネルを含むプログラムのカーネル間接続のデータ転送メトリックを計算するステップを含み、画像プロセッサは、複数の処理コアと、複数の処理コアを接続するネットワークとを備え、カーネル間接続は各々、複数の処理コアのうちの1つの処理コア上で実行する作成カーネルと、複数の処理コアのうちの別の処理コア上で実行する消費カーネルとを含み、消費カーネルは、作成カーネルが生成したデータに対して動作し、この方法はさらに、計算したデータ転送メトリックに基づいて、複数のカーネルのうちのカーネルを、複数の処理コアのうちの対応する処理コアに割り当てるステップを含む。
なお、上記特徴のうちのいずれかの特徴を、本発明のいずれかの特定の局面または実施形態のために使用してもよい。
以下の説明および添付の図面を用いて本発明の実施形態を明らかにする。
1.0 固有画像プロセッサアーキテクチャ
当該技術において知られているように、プログラムコードを実行するための基本回路構造は、実行段とレジスタ空間とを含む。実行段は命令を実行するための実行ユニットを含む。命令を実行するための入力オペランドが、レジスタ空間から実行段に与えられる。実行段が命令を実行したことによって生成された結果は、レジスタ空間に書き戻される。
図4は、図3の画像プロセッサにロードすることができる典型的なアプリケーションソフトウェアプログラムまたはその一部を示す。図4からわかるように、プログラムコードは、入力画像データ401の1つ以上のフレームを処理することにより、入力画像データ401に対して何らかの全変換を実現すると予想することができる。この変換は、アプリケーションソフトウェア開発者によって表現された調整されたシーケンスで入力画像データに対して動作するプログラムコード402の1つ以上のカーネルの動作によって実現される。
図8a〜図8eから図12は、本明細書において先に詳細に説明した画像プロセッサおよび関連するステンシルプロセッサの各種実施形態の動作および設計に関するさらに他の詳細を示す。図2のラインバッファユニットがライングループをステンシルプロセッサに関連するシート生成部に与えるという上記説明を再び参照して、図8a〜図8eは、ラインバッファユニット201の解析アクティビティ、およびシート生成部ユニット203のより微細な粒子の解析アクティビティ、ならびにシート生成部ユニット203に結合されるステンシルプロセッサのステンシル処理アクティビティの両方のハイレベルの実施形態を示す。
上述したさまざまな画像プロセッサアーキテクチャの特徴は、必ずしも従来の意味での画像処理に限定されず、したがって、画像プロセッサを再特徴付けしてもよい(またはしなくてもよい)他のアプリケーションに適用することができることを指摘することが適切である。たとえば、実際のカメラ画像の処理とは対照的に、アニメーションの作成および/または生成および/またはレンダリングにおいて上述した様々な画像プロセッサアーキテクチャの特徴のいずれかが使用される場合、画像プロセッサはグラフィックス処理ユニットとして特徴付けられてもよい。さらに、上述した画像プロセッサアーキテクチャの特徴は、ビデオ処理、視覚処理、画像認識および/または機械学習などの他の技術的用途にも適用することができる。このように適用されて、画像プロセッサは、より汎用的なプロセッサ(たとえば、コンピューティングシステムのCPUであるか、またはその一部である)と(たとえばコプロセッサとして)一体化されてもよく、またはコンピューティングシステム内のスタンドアロンプロセッサであってもよい。
Claims (17)
- 1つ以上のコンピュータによって実行される方法であって、前記方法は、
複数のステンシルプロセッサを有するデバイス上で実行される画像処理アプリケーションプログラムの最終カーネル割り当てを計算することを求める要求を受けるステップを含み、前記画像処理アプリケーションプログラムは、複数のカーネルを含む画像処理パイプラインを定義し、
複数の候補カーネル割り当てを生成するステップを含み、各カーネル割り当ては、前記画像処理パイプラインの各カーネルを、前記複数のステンシルプロセッサのうちの対応する1つのステンシルプロセッサに割り当て、前記複数の候補カーネル割り当てを生成するステップは、
前記画像処理パイプライン内のすべてのカーネルが前記複数のステンシルプロセッサのうちの対応するステンシルプロセッサに割り当てられるまで、前記画像処理パイプライン内のカーネルを、前記画像処理パイプライン内のカーネルがまだ割り当てられていない利用可能なステンシルプロセッサに順次割り当てるステップを含み、前記方法は、
前記複数の候補カーネル割り当てのうちの各候補カーネル割り当ての総重みを計算するステップを含み、前記各候補カーネル割り当ての総重みは、データ転送効率の尺度を表し、カーネル間で転送されるデータぞれぞれの転送サイズと、前記複数のステンシルプロセッサを接続するネットワークに沿うそれぞれの転送距離とに基づいており、
前記複数の候補カーネル割り当てのうちの各候補カーネル割り当てについて計算した前記総重みに従い、データ転送効率が最高である候補カーネル割り当てを選択するステップと、
前記選択した候補カーネル割り当てに従い、前記複数のカーネルのうちのカーネルを、対応するステンシルプロセッサに割り当てるステップとを含む、方法。 - 前記デバイスは複数のラインバッファユニットをさらに含み、
前記方法は、どのラインバッファユニットがどのカーネルをソースするかを判断しどのラインバッファユニットがどのカーネルをシンクするかを判断するステップをさらに含む、請求項1に記載の方法。 - どのラインバッファユニットがどのカーネルをシンクするかを判断するステップは、
特定のステンシルプロセッサに割り当てられた特定の作成カーネルに対し、前記特定のステンシルプロセッサからの転送距離に基づいてソートされたラインバッファユニットのリストを生成するステップと、
前記特定の作成カーネルに、前記特定の作成カーネルが生成したデータをバッファするのに十分なメモリを有する最も近いラインバッファユニットを割り当てるステップとを含む、請求項2に記載の方法。 - 前記転送距離は、対応する、前記ネットワーク内のカーネル間のノーダルホップの数に基づく、請求項1に記載の方法。
- 前記転送距離は、前記ネットワークのネットワークリングに沿う距離に基づく、請求項1に記載の方法。
- 1つ以上のコンピュータによって実行されると前記1つ以上のコンピュータに動作を実行させるコンピュータプログラム命令を備えるコンピュータプログラムであって、前記動作は、
複数のステンシルプロセッサを有するデバイス上で実行される画像処理アプリケーションプログラムの最終カーネル割り当てを計算することを求める要求を受けることを含み、前記画像処理アプリケーションプログラムは、複数のカーネルを含む画像処理パイプラインを定義し、
複数の候補カーネル割り当てを生成することを含み、各カーネル割り当ては、前記画像処理パイプラインの各カーネルを、前記複数のステンシルプロセッサのうちの対応する1つのステンシルプロセッサに割り当て、前記複数の候補カーネル割り当てを生成することは、
前記画像処理パイプライン内のすべてのカーネルが前記複数のステンシルプロセッサのうちの対応するステンシルプロセッサに割り当てられるまで、前記画像処理パイプライン内のカーネルを、前記画像処理パイプライン内のカーネルがまだ割り当てられていない利用可能なステンシルプロセッサに順次割り当てることを含み、前記動作は、
前記複数の候補カーネル割り当てのうちの各候補カーネル割り当ての総重みを計算することを含み、前記各候補カーネル割り当ての総重みは、データ転送効率の尺度を表し、カーネル間で転送されるデータぞれぞれの転送サイズと、前記複数のステンシルプロセッサを接続するネットワークに沿うそれぞれの転送距離とに基づいており、前記動作は、
前記複数の候補カーネル割り当てのうちの各候補カーネル割り当てについて計算した前記総重みに従い、データ転送効率が最高である候補カーネル割り当てを選択することと、
前記選択した候補カーネル割り当てに従い、前記複数のカーネルのうちのカーネルを、対応するステンシルプロセッサに割り当てることとを含む、コンピュータプログラム。 - 前記デバイスは、複数のラインバッファユニットをさらに含み、
どのラインバッファユニットがどのカーネルをソースするかを判断しどのラインバッファユニットがどのカーネルをシンクするかを判断することをさらに含む、請求項6に記載のコンピュータプログラム。 - どのラインバッファユニットがどのカーネルをシンクするかを判断することは、
特定のステンシルプロセッサに割り当てられた特定の作成カーネルに対し、前記特定のステンシルプロセッサからの転送距離に基づいてソートされたラインバッファユニットのリストを生成することと、
前記特定の作成カーネルに、前記特定の作成カーネルが生成したデータをバッファするのに十分なメモリを有する最も近いラインバッファユニットを割り当てることとを含む、請求項7に記載のコンピュータプログラム。 - 前記転送距離は、対応する、前記ネットワーク内のカーネル間のノーダルホップの数に基づく、請求項6に記載のコンピュータプログラム。
- 前記転送距離は、前記ネットワークのネットワークリングに沿う距離に基づく、請求項6に記載のコンピュータプログラム。
- 各ステンシルプロセッサは、実行レーンアレイと、二次元シフトレジスタアレイとを含む、請求項6に記載のコンピュータプログラム。
- コンピューティングシステムであって、
1つ以上のコンピュータと命令を格納する1つ以上の記憶装置とを備え、前記命令は、前記1つ以上のコンピュータによって実行されると前記1つ以上のコンピュータに動作を実行させるように作用し、前記動作は、
複数のステンシルプロセッサを有するデバイス上で実行される画像処理アプリケーションプログラムの最終カーネル割り当てを計算することを求める要求を受けることを含み、前記画像処理アプリケーションプログラムは、複数のカーネルを含む画像処理パイプラインを定義し、
複数の候補カーネル割り当てを生成することを含み、各カーネル割り当ては、前記画像処理パイプラインの各カーネルを、前記複数のステンシルプロセッサのうちの対応する1つのステンシルプロセッサに割り当て、前記複数の候補カーネル割り当てを生成することは、
前記画像処理パイプライン内のすべてのカーネルが前記複数のステンシルプロセッサのうちの対応するステンシルプロセッサに割り当てられるまで、前記画像処理パイプライン内のカーネルを、前記画像処理パイプライン内のカーネルがまだ割り当てられていない利用可能なステンシルプロセッサに順次割り当てることを含み、前記動作は、
前記複数の候補カーネル割り当てのうちの各候補カーネル割り当ての総重みを計算することを含み、前記各候補カーネル割り当ての総重みは、データ転送効率の尺度を表し、カーネル間で転送されるデータぞれぞれの転送サイズと、前記複数のステンシルプロセッサを接続するネットワークに沿うそれぞれの転送距離とに基づいており、前記動作は、
前記複数の候補カーネル割り当てのうちの各候補カーネル割り当てについて計算した前記総重みに従い、データ転送効率が最高である候補カーネル割り当てを選択することと、
前記選択した候補カーネル割り当てに従い、前記複数のカーネルのうちのカーネルを、対応するステンシルプロセッサに割り当てることとを含む、コンピューティングシステム。 - 前記デバイスは、複数のラインバッファユニットをさらに含み、
どのラインバッファユニットがどのカーネルをソースするかを判断しどのラインバッファユニットがどのカーネルをシンクするかを判断することをさらに含む、請求項12に記載のコンピューティングシステム。 - どのラインバッファユニットがどのカーネルをシンクするかを判断することは、
特定のステンシルプロセッサに割り当てられた特定の作成カーネルに対し、前記特定のステンシルプロセッサからの転送距離に基づいてソートされたラインバッファユニットのリストを生成することと、
前記特定の作成カーネルに、前記特定の作成カーネルが生成したデータをバッファするのに十分なメモリを有する最も近いラインバッファユニットを割り当てることとを含む、請求項13に記載のコンピューティングシステム。 - 前記転送距離は、対応する、前記ネットワーク内のカーネル間のノーダルホップの数に基づく、請求項12に記載のコンピューティングシステム。
- 前記転送距離は、前記ネットワークのネットワークリングに沿う距離に基づく、請求項12に記載のコンピューティングシステム。
- 各ステンシルプロセッサは、実行レーンアレイと、二次元シフトレジスタアレイとを含む、請求項12に記載のコンピューティングシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/594,529 | 2017-05-12 | ||
US15/594,529 US10467056B2 (en) | 2017-05-12 | 2017-05-12 | Configuration of application software on multi-core image processor |
PCT/US2018/013445 WO2018208338A1 (en) | 2017-05-12 | 2018-01-12 | Configuration of application software on multi-core image processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020519977A JP2020519977A (ja) | 2020-07-02 |
JP6820428B2 true JP6820428B2 (ja) | 2021-01-27 |
Family
ID=61094605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019539225A Active JP6820428B2 (ja) | 2017-05-12 | 2018-01-12 | マルチコア画像プロセッサ上のアプリケーションソフトウェアの構成 |
Country Status (7)
Country | Link |
---|---|
US (2) | US10467056B2 (ja) |
EP (1) | EP3622396B1 (ja) |
JP (1) | JP6820428B2 (ja) |
KR (1) | KR102217969B1 (ja) |
CN (1) | CN110192184B (ja) |
TW (1) | TWI694412B (ja) |
WO (1) | WO2018208338A1 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108614460B (zh) * | 2018-06-20 | 2020-11-06 | 东莞市李群自动化技术有限公司 | 分布式多节点控制系统及方法 |
CN110032407B (zh) * | 2019-03-08 | 2020-12-22 | 创新先进技术有限公司 | 提升cpu并行性能的方法及装置和电子设备 |
GB2595696B (en) * | 2020-06-04 | 2022-12-28 | Envisics Ltd | Forming a hologram of a target image for projection using data streaming |
TW202219760A (zh) * | 2020-11-06 | 2022-05-16 | 圓剛科技股份有限公司 | 協同運算裝置及其協同運算方法 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7499960B2 (en) | 2001-10-01 | 2009-03-03 | Oracle International Corporation | Adaptive memory allocation |
US7331037B2 (en) | 2004-08-12 | 2008-02-12 | National Instruments Corporation | Static memory allocation in a graphical programming system |
US7818725B1 (en) | 2005-04-28 | 2010-10-19 | Massachusetts Institute Of Technology | Mapping communication in a parallel processing environment |
JP4923602B2 (ja) | 2006-02-10 | 2012-04-25 | 富士ゼロックス株式会社 | 画像形成処理シミュレーション装置及び画像形成処理シミュレーション方法 |
WO2007149476A2 (en) * | 2006-06-19 | 2007-12-27 | Trustees Of Columbia University In The City Of New York | Assays for non-apoptotic cell death and uses thereof |
US8306348B2 (en) * | 2007-04-24 | 2012-11-06 | DigitalOptics Corporation Europe Limited | Techniques for adjusting the effect of applying kernels to signals to achieve desired effect on signal |
US7890314B2 (en) | 2007-12-05 | 2011-02-15 | Seagate Technology Llc | Method for modeling performance of embedded processors having combined cache and memory hierarchy |
US8856794B2 (en) * | 2009-10-13 | 2014-10-07 | Empire Technology Development Llc | Multicore runtime management using process affinity graphs |
US20110191758A1 (en) | 2010-01-29 | 2011-08-04 | Michael Scharf | Optimized Memory Allocator By Analyzing Runtime Statistics |
TW201206165A (en) | 2010-07-16 | 2012-02-01 | Primax Electronics Ltd | Image testing method of image pickup device and image testing device using the same |
US9152468B2 (en) | 2010-10-25 | 2015-10-06 | Samsung Electronics Co., Ltd. | NUMA aware system task management |
US10235220B2 (en) * | 2012-01-23 | 2019-03-19 | Advanced Micro Devices, Inc. | Multithreaded computing |
KR20130093995A (ko) * | 2012-02-15 | 2013-08-23 | 한국전자통신연구원 | 계층적 멀티코어 프로세서의 성능 최적화 방법 및 이를 수행하는 멀티코어 프로세서 시스템 |
US8819345B2 (en) | 2012-02-17 | 2014-08-26 | Nokia Corporation | Method, apparatus, and computer program product for inter-core communication in multi-core processors |
US9213781B1 (en) * | 2012-09-19 | 2015-12-15 | Placemeter LLC | System and method for processing image data |
DE102013205608A1 (de) * | 2013-03-28 | 2014-10-02 | Siemens Aktiengesellschaft | Montagevorrichtung für ein Seitenwandverkleidungselement eines Schienenfahrzeugs |
TW201604805A (zh) * | 2014-07-30 | 2016-02-01 | 林政毅 | 帳號驗證方法及其系統 |
US9756268B2 (en) | 2015-04-23 | 2017-09-05 | Google Inc. | Line buffer unit for image processor |
US9785423B2 (en) * | 2015-04-23 | 2017-10-10 | Google Inc. | Compiler for translating between a virtual image processor instruction set architecture (ISA) and target hardware having a two-dimensional shift array structure |
US9965824B2 (en) * | 2015-04-23 | 2018-05-08 | Google Llc | Architecture for high performance, power efficient, programmable image processing |
KR102384346B1 (ko) * | 2015-06-01 | 2022-04-07 | 삼성전자주식회사 | 저장 방식에 상관없이 데이터를 억세스하는 애플리케이션 프로세서 및 이를 포함하는 모바일 장치 |
-
2017
- 2017-05-12 US US15/594,529 patent/US10467056B2/en active Active
-
2018
- 2018-01-12 EP EP18702398.1A patent/EP3622396B1/en active Active
- 2018-01-12 JP JP2019539225A patent/JP6820428B2/ja active Active
- 2018-01-12 KR KR1020197021661A patent/KR102217969B1/ko active IP Right Grant
- 2018-01-12 WO PCT/US2018/013445 patent/WO2018208338A1/en active Application Filing
- 2018-01-12 CN CN201880007507.6A patent/CN110192184B/zh active Active
- 2018-02-07 TW TW107104239A patent/TWI694412B/zh active
-
2019
- 2019-10-18 US US16/657,656 patent/US11030005B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW201901608A (zh) | 2019-01-01 |
JP2020519977A (ja) | 2020-07-02 |
US10467056B2 (en) | 2019-11-05 |
KR20190095462A (ko) | 2019-08-14 |
US20180329746A1 (en) | 2018-11-15 |
EP3622396A1 (en) | 2020-03-18 |
CN110192184B (zh) | 2023-07-07 |
CN110192184A (zh) | 2019-08-30 |
KR102217969B1 (ko) | 2021-02-19 |
US20200050486A1 (en) | 2020-02-13 |
TWI694412B (zh) | 2020-05-21 |
EP3622396B1 (en) | 2023-03-08 |
WO2018208338A1 (en) | 2018-11-15 |
US11030005B2 (en) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7202987B2 (ja) | 高性能で、電力効率の良い、プログラマブルな画像処理のためのアーキテクチャ | |
JP6858239B2 (ja) | プログラムコードを、高性能で電力効率の良いプログラマブルな画像処理ハードウェアプラットフォームにマッピングするためのコンパイラ技法 | |
JP6793228B2 (ja) | 画像プロセッサのためのシート生成部 | |
JP6612403B2 (ja) | 画像プロセッサのためのエネルギ効率的なプロセッサコアアーキテクチャ | |
JP6389571B2 (ja) | 画像プロセッサのための二次元シフトアレイ | |
JP6726752B2 (ja) | 画像プロセッサのためのコンパイラ管理メモリ | |
JP6820428B2 (ja) | マルチコア画像プロセッサ上のアプリケーションソフトウェアの構成 | |
TWI736880B (zh) | 處理器、電腦程式產品及處理器所執行之方法 | |
EP3622399B1 (en) | Determination of per line buffer unit memory allocation | |
JP6967597B2 (ja) | 設定可能な数のアクティブなコアを有する画像処理プロセッサおよびサポートする内部ネットワーク | |
JP6775088B2 (ja) | 画像プロセッサランタイム効率を向上するためのプログラムコード変形 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191125 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191125 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20191125 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200706 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200714 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200911 |
|
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: 20201208 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210104 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6820428 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |