JP6200824B2 - 演算制御装置及び演算制御方法並びにプログラム、OpenCLデバイス - Google Patents
演算制御装置及び演算制御方法並びにプログラム、OpenCLデバイス Download PDFInfo
- Publication number
- JP6200824B2 JP6200824B2 JP2014023044A JP2014023044A JP6200824B2 JP 6200824 B2 JP6200824 B2 JP 6200824B2 JP 2014023044 A JP2014023044 A JP 2014023044A JP 2014023044 A JP2014023044 A JP 2014023044A JP 6200824 B2 JP6200824 B2 JP 6200824B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- attribute
- kernel
- sub
- read
- 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.)
- Expired - Fee Related
Links
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
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/0207—Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
図18は、非特許文献1におけるFig3.3に対して符号を追加したものである。前述したように、OpenCLデバイス14は1つ以上のCU16を備え、夫々のCU16は1つ以上のPE18を有する。
<ステップX1>
ホーストは、第1のカーネルXをデバイスに転送する。
該第1のカーネルXの引数には、第1のカーネルXによる演算処理に使用される各データブロック(リードブロック)毎に、上述した属性群が含まれている。
デバイスの演算制御部は、第1のカーネルXの引数に基づいて、グローバルメモリに格納された各リードブロック、及び演算結果となるライトブロックの分割方式を含む転送方式を決定する。そして、各リードブロックをサブリードブロックに分割して、ローカルメモリまたはプライベートメモリへ転送すると共に、PEに演算を行わせる。
デバイスの各PEは、演算制御部の制御に従って演算を行い、サブライトブロックを得る。これらのサブライトブロックは、ローカルメモリまたはプライベートメモリに格納された後、演算制御部の制御に従って、PEからグローバルメモリに転送される。
全ての処理が終わるまで、演算制御部の制御の元で、ステップX2〜ステップX3の処理が繰り返される。最後に、第1のカーネルXの演算結果となるデータブロック(ライトブロック)が得られ、グローバルメモリに格納される。
ホーストは、第2のカーネルYをデバイスに転送する。
該第2のカーネルYの引数には、第2のカーネルYによる演算処理に使用される各データブロック(リードブロック)毎に、上述した属性群が含まれている。
デバイスの演算制御部は、第2のカーネルYの引数に基づいて、グローバルメモリに格納された各リードブロック(継続リードブロックを含む)、及び演算結果となるライトブロックの分割方式を含む転送方式を決定する。そして、各リードブロックをサブリードブロックに分割して、ローカルメモリまたはプライベートメモリへ転送すると共に、PEに演算を行わせる。
デバイスの各PEは、演算制御部の制御に従って演算を行い、サブライトブロックを得る。これらのサブライトブロックは、ローカルメモリまたはプライベートメモリに格納された後、演算制御部の制御に従って、PEからグローバルメモリに転送される。
全ての処理が終わるまで、演算制御部の制御の元で、ステップY2〜ステップY3の処理が繰り返される。最後に、第2のカーネルYの演算結果となるデータブロック(ライトブロック)が得られ、グローバルメモリに格納される。
分かりやすいように、まず、図2に示す具体例を参照しながら、単独カーネルを実行する場合について説明する。
(1)転送方式1:分割の有無
該転送方式1は、「分割無し」方式と「分割有り」方式のいずれかである。
該転送方式2は、該データブロックを複数のサブブロックに分割する場合に、どのように分割するかを意味する。
該転送方式3は、リードブロックを対象として、上記転送方式1が分割有りの場合に指定される。
該転送方式4は、ライトブロックを対象として、上記転送方式1が分割有りの場合に指定される。
この属性は、データブロックのサイズを示すパラメータであり、例えば、次元毎のワード数、及びワード毎のバイト数やビット数である。この属性は、全てのデータブロックに対して必ず指定される。
この属性は、まず、該データブロックが演算対象のデータ(つまり、リード転送されるデータ)であるか否か、及び演算対象のデータである場合の転送順位を示す。転送順位は、該データブロックの各サブブロックを、どのような順位で転送するかを指定するパラメータである。
式(1)に示す演算処理の内容に基づいて、リードブロックPとリードブロックQは、リード転送されるデータであるため、リード属性として、転送順位が「TOP LEFT」に指定される。
この属性は、まず、該データブロックが演算結果のデータ(つまり、ライト転送されるデータ)であるか否か、及び演算結果のデータである場合の転送順位を示す。転送順位は、各サブライトブロックSWBを、どのような順位で転送するかを指定するパラメータである。
式(1)に示す演算処理の内容に基づいて、ライトブロックRは、ライト転送されるデータであるため、ライト属性として、転送順位が「TOP LEFT」に指定される。
この属性は、リードブロックを対象とするパラメータであり、サブリードブロックSRB内のデータと共に転送される、該サブリードブロックSRBの境界と隣接する該サブリードブロックSRB外のデータの量を示すパラメータである。また、余白属性は、次元毎に指定される。余白属性のパラメータの単位は、ワードである。
この属性は、各リードブロックについてはサブリードブロックSRBの転送先、各ライトブロックについてはサブライトブロックSWBの転送元が、プライベートメモリとローカルメモリのいずれになるかを指定するパラメータであり、「ON」と「OFF」のいずれである。例えば、図5に示すように、放送属性の「ON」は、上記転送先または転送元としてローカルメモリを指定し、放送属性の「OFF」は、上記転送先または転送元としてプライベートメモリを指定する。
この属性は、サブリードブロックSRBとサブライトブロックSWBをどのようにしてCU160のプライベートメモリ群/ローカルメモリに割り当てる割当方式を示すパラメータである。
リードブロックQとライトブロックRも、割当属性が「縦優先」に指定されたとする。
この属性は、1以上の自然数で指定される階層数である。同一の階層数が指定された複数のリードブロックは、1度のリードあるいはライト転送により、夫々1つのサブブロックSBが転送される。
この属性は、当該データブロックに対して、サブブロックと、該サブブロックと隣接する8つの他のサブブロックとのデータ依存関係を示すパラメータであり、「依存有り」、「依存無し」を指定可能である。また、「依存有り」については、さらに、3種類の依存関係を指定可能である。
シナリオ決定部230は、属性群格納部210に格納された各属性群と、演算ユニット140の構成を示すパラメータとに基づいて、シナリオを決定する。このシナリオは、転送方式に該当する。
シナリオ決定部230は、まず、全てのデータブロックに対して、共通のワークグループサイズWGsを設定すると共に、階層属性が同一である複数のデータブロックが共通の分割数でサブブロックに分割されるように、データブロックの分割サイズ、反復回数を決定する。
分割サイズ
=サブブロックのX方向のサイズSBsx×Y方向のサイズSBsy (3)
分割数=データブロックのサイズ÷(分割サイズ×ワークグループサイズWGs)(4)
反復回数
={分割数×(X方向サイズLx÷ワークグループサイズWGs)/WG数 (5)
階層属性が同一であるリードブロックの相対応するサブリードブロックSRBを含むサブリードブロックSRB群毎を、同時にプライベートメモリまたはローカルメモリ空間へ転送すると共に、ユーザ指定処理を起動する。なお、転送されるサブリードブロックSRBに対して余白属性により余白が指定される場合に、該余白分のデータも転送する。
階層属性が異なるデータブロックの分割数の掛け算となる回数だけ、相対応するサブリードブロックSRBのサブリードブロックSRB群をプライベートメモリまたはローカルメモリ区間に転送した後、ユーザ指定処理を起動する。
<規則4>
ユーザ指定処理の各回の起動後に、演算処理の結果となるサブライトブロックSWBをグローバルメモリ区間に転送する。サブライトブロックSWBの転送は、ユーザ指定処理の起動後に行われ、転送方向が「プライベートメモリ及び/またはローカルメモリ空間からグローバルメモリ空間へ」である点を除き、サブリードブロックSRBのときと同様である。
この2つのカーネルを夫々第1のカーネルXと第2のカーネルYとする。該2つのカーネルに関連性があるとは、先に実行される第1のカーネルXの演算結果となるライトブロックのうちに継続ライトブロックがあり、該継続ライトブロックが、後続の第2のカーネルYの演算対象となるリードブロックとして使用されることを意味する。すなわち、第2のカーネルYのリードブロックのうちに、継続リードブロックが含まれている。
12 ホスト
14 OpenCLデバイス
16 CU
18 PE
20 プライベートメモリ
22 ローカルメモリ
24 キャッシュ
30 デバイスメモリ
32 グローバルメモリ
34 コンスタントメモリ
50 逐次プロセッサ
52 PE
54 プライベートメモリ
56 グローバルメモリ
58 キャッシュ制御機構
100 OpenCLシステム
110 ホスト
120 デバイス
140 演算ユニット
150 デバイスメモリ
152 グローバルメモリ
154 コンスタントメモリ
160 CU
162 PE
164 プライベートメモリ
170 ローカルメモリ
200 演算制御部
210 属性群格納部
220 カーネル間情報格納部
230 シナリオ決定部
Lx データブロックのX方向サイズ
Ly データブロックのY方向サイズ
SBsx サブブロックのX方向サイズ
SBsy サブブロックのY方向サイズ
SRB サブリードブロック
SWB サブライトブロック
WG ワークグループ
WGs ワークグループサイズ
WI ワークアイテム
R リード転送指示
W ライト転送指示
S 演算実行指示
Claims (4)
- 複数の演算素子と、該複数の演算素子に対して設けられた階層の異なる複数のメモリとを有するOpenCL(Open Computing Language)デバイスの前記複数の演算素子による並列演算を制御する演算制御装置であって、
前記複数のメモリのうちの最下位階層のメモリに1つ以上格納されたデータブロックであって、前記並列演算の演算対象としてそのデータが他の階層のメモリに転送されるリードブロックと、前記並列演算後に前記他の階層のメモリから前記最下位階層のメモリに転送される1つ以上のデータブロックであって、前記1つ以上のリードブロックに対する並列演算の演算結果であるライトブロックとに対して夫々設定された属性群を取得して保持する属性群保持部と、
前記属性群保持部により保持された各前記属性群と、前記OpenCLデバイスの構成を示す構成パラメータとに基づいて、夫々の前記リードブロックと前記ライトブロックの転送方式を決定し、決定した転送方式に応じて各前記リードブロックと前記ライトブロックの転送、及び該転送に対応する前記並列演算の制御を行うシナリオ決定部とを有し、
前記属性群は、
前記転送方式を決定するために必要である一方、前記OpenCLデバイスの構成に依存しない属性を複数含むものであり、
当該データブロックを複数のサブブロックに分割して転送するか否か、及び、分割して転送する場合における分割方式を示す割当属性と、
当該データブロックを複数のサブブロックに分割して転送する場合における、該サブブロックと共に転送される、該サブブロックの周辺のデータのサイズを示す余白属性と、
当該データブロックを複数のサブブロックに分割して転送する場合における、該サブブロックがその周辺の他のサブブロックと依存関係が有るか否か、及び、前記依存関係がある場合における全ての依存方向を示す依存属性とを有し、
前記ライトブロックの属性群は、該ライトブロックが既に前記他の階層のメモリに存在し、かつ、前記最下位階層のメモリに転送されると仮定して設定されたものであり、
前記シナリオ決定部は、
第1のカーネルに続いて第2のカーネルを前記OpenCLデバイスに実行させ、かつ、前記第1のカーネルに対応する並列演算の各前記ライトブロックのうちに、前記第2のカーネルに対応する並列演算の前記リードブロックとして使用される継続ライトブロックが含まれており、かつ、前記第1のカーネルに対して設定された前記継続ライトブロックの前記割当属性と、前記第2のカーネルに対して設定された、前記継続ライトブロックに対応する前記リードブロックの前記割当属性とが一致する場合において、該継続ライトブロックが前記最下位階層へ転送されず、前記他の階層のメモリを介して前記第2のカーネルの実行に供されることにより、前記第1のカーネルと前記第2のカーネルの実行をパイプライン化するパイプライン化制御を行い、
前記パイプライン化制御に際して、
前記第1のカーネルに対応する各前記リードブロックの夫々に対して、該リードブロックに対して設定された前記余白属性と前記依存属性に、前記第2のカーネルに対して設定された、前記継続ライトブロックに対応する前記リードブロックの前記余白属性と前記依存属性を夫々論理和加算する、
演算制御装置。 - 複数の演算素子と、該複数の演算素子に対して設けられた階層の異なる複数のメモリとを有するOpenCL(Open Computing Language)デバイスの前記複数の演算素子による並列演算を制御する演算制御方法であって、
前記複数のメモリのうちの最下位階層のメモリに1つ以上格納されたデータブロックであって、前記並列演算の演算対象としてそのデータが他の階層のメモリに転送されるリードブロックと、前記並列演算後に前記他の階層のメモリから前記最下位階層のメモリに転送される1つ以上のデータブロックであって、前記1つ以上のリードブロックに対する並列演算の演算結果であるライトブロックとに対して夫々設定された属性群を取得して保持する第1のステップと、
保持された各前記属性群と、前記OpenCLデバイスの構成を示す構成パラメータとに基づいて、夫々の前記リードブロックと前記ライトブロックの転送方式を決定し、決定した転送方式に応じて各前記リードブロックと前記ライトブロックの転送、及び該転送に対応する前記並列演算の制御を行う第2のステップとを有し、
前記属性群は、
前記転送方式を決定するために必要である一方、前記OpenCLデバイスの構成に依存しない属性を複数含むものであり、
当該データブロックを複数のサブブロックに分割して転送するか否か、及び、分割して転送する場合における分割方式を示す割当属性と、
当該データブロックを複数のサブブロックに分割して転送する場合における、該サブブロックと共に転送される、該サブブロックの周辺のデータのサイズを示す余白属性と、
当該データブロックを複数のサブブロックに分割して転送する場合における、該サブブロックがその周辺の他のサブブロックと依存関係が有るか否か、及び、前記依存関係がある場合における全ての依存方向を示す依存属性とを有し、
前記ライトブロックの属性群は、該ライトブロックが既に前記他の階層のメモリに存在し、かつ、前記最下位階層のメモリに転送されると仮定して設定されたものであり、
前記第2のステップにおいて、
第1のカーネルに続いて第2のカーネルを前記OpenCLデバイスに実行させ、かつ、前記第1のカーネルに対応する並列演算の各前記ライトブロックのうちに、前記第2のカーネルに対応する並列演算の前記リードブロックとして使用される継続ライトブロックが含まれており、かつ、前記第1のカーネルに対して設定された前記継続ライトブロックの前記割当属性と、前記第2のカーネルに対して設定された、前記継続ライトブロックに対応する前記リードブロックの前記割当属性とが一致する場合において、該継続ライトブロックが前記最下位階層へ転送されず、前記他の階層のメモリを介して前記第2のカーネルの実行に供されることにより、前記第1のカーネルと前記第2のカーネルの実行をパイプライン化するパイプライン化制御を行い、
前記パイプライン化制御に際して、
前記第1のカーネルに対応する各前記リードブロックの夫々に対して、該リードブロックに対して設定された前記余白属性と前記依存属性に、前記第2のカーネルに対して設定された、前記継続ライトブロックに対応する前記リードブロックの前記余白属性と前記依存属性を夫々論理和加算する、
演算制御方法。 - 複数の演算素子と、該複数の演算素子に対して設けられた階層の異なる複数のメモリとを有するOpenCL(Open Computing Language)デバイスの前記複数の演算素子による並列演算を制御する際に、
前記複数のメモリのうちの最下位階層のメモリに1つ以上格納されたデータブロックであって、前記並列演算の演算対象としてそのデータが他の階層のメモリに転送されるリードブロックと、前記並列演算後に前記他の階層のメモリから前記最下位階層のメモリに転送される1つ以上のデータブロックであって、前記1つ以上のリードブロックに対する並列演算の演算結果であるライトブロックとに対して夫々設定された属性群を取得して保持する第1のステップと、
保持された各前記属性群と、前記OpenCLデバイスの構成を示す構成パラメータとに基づいて、夫々の前記リードブロックと前記ライトブロックの転送方式を決定し、決定した転送方式に応じて各前記リードブロックと前記ライトブロックの転送、及び該転送に対応する前記並列演算の制御を行う第2のステップとをコンピュータに実行させ、
前記属性群は、
前記転送方式を決定するために必要である一方、前記OpenCLデバイスの構成に依存しない属性を複数含むものであり、
当該データブロックを複数のサブブロックに分割して転送するか否か、及び、分割して転送する場合における分割方式を示す割当属性と、
当該データブロックを複数のサブブロックに分割して転送する場合における、該サブブロックと共に転送される、該サブブロックの周辺のデータのサイズを示す余白属性と、
当該データブロックを複数のサブブロックに分割して転送する場合における、該サブブロックがその周辺の他のサブブロックと依存関係が有るか否か、及び、前記依存関係がある場合における全ての依存方向を示す依存属性とを有し、
前記ライトブロックの属性群は、該ライトブロックが既に前記他の階層のメモリに存在し、かつ、前記最下位階層のメモリに転送されると仮定して設定されたものであり、
前記第2のステップにおいて、
第1のカーネルに続いて第2のカーネルを前記OpenCLデバイスに実行させ、かつ、前記第1のカーネルに対応する並列演算の各前記ライトブロックのうちに、前記第2のカーネルに対応する並列演算の前記リードブロックとして使用される継続ライトブロックが含まれており、かつ、前記第1のカーネルに対して設定された前記継続ライトブロックの前記割当属性と、前記第2のカーネルに対して設定された、前記継続ライトブロックに対応する前記リードブロックの前記割当属性とが一致する場合において、該継続ライトブロックが前記最下位階層へ転送されず、前記他の階層のメモリを介して前記第2のカーネルの実行に供されることにより、前記第1のカーネルと前記第2のカーネルの実行をパイプライン化するパイプライン化制御を行い、
前記パイプライン化制御に際して、
前記第1のカーネルに対応する各前記リードブロックの夫々に対して、該リードブロックに対して設定された前記余白属性と前記依存属性に、前記第2のカーネルに対して設定された、前記継続ライトブロックに対応する前記リードブロックの前記余白属性と前記依存属性を夫々論理和加算する、
プログラム。 - 複数の演算素子と、
該複数の演算素子に対して設けられた階層の異なる複数のメモリと、
前記複数の演算素子による並列演算を制御する演算制御部とを備えるOpenCLデバイスであって、
前記演算制御部は、
前記複数のメモリのうちの最下位階層のメモリに1つ以上格納されたデータブロックであって、前記並列演算の演算対象としてそのデータが他の階層のメモリに転送されるリードブロックと、前記並列演算後に前記他の階層のメモリから前記最下位階層のメモリに転送される1つ以上のデータブロックであって、前記1つ以上のリードブロックに対する並列演算の演算結果であるライトブロックとに対して夫々設定された属性群を取得して保持する属性群保持部と、
前記属性群保持部により保持された各前記属性群と、前記OpenCLデバイスの構成を示す構成パラメータとに基づいて、夫々の前記リードブロックと前記ライトブロックの転送方式を決定し、決定した転送方式に応じて各前記リードブロックと前記ライトブロックの転送、及び該転送に対応する前記並列演算の制御を行うシナリオ決定部とを有し、
前記属性群は、
前記転送方式を決定するために必要である一方、前記OpenCLデバイスの構成に依存しない属性を複数含むものであり、
当該データブロックを複数のサブブロックに分割して転送するか否か、及び、分割して転送する場合における分割方式を示す割当属性と、
当該データブロックを複数のサブブロックに分割して転送する場合における、該サブブロックと共に転送される、該サブブロックの周辺のデータのサイズを示す余白属性と、
当該データブロックを複数のサブブロックに分割して転送する場合における、該サブブロックがその周辺の他のサブブロックと依存関係が有るか否か、及び、前記依存関係がある場合における全ての依存方向を示す依存属性とを有し、
前記ライトブロックの属性群は、該ライトブロックが既に前記他の階層のメモリに存在し、かつ、前記最下位階層のメモリに転送されると仮定して設定されたものであり、
前記シナリオ決定部は、
第1のカーネルに続いて第2のカーネルを前記OpenCLデバイスに実行させ、かつ、前記第1のカーネルに対応する並列演算の各前記ライトブロックのうちに、前記第2のカーネルに対応する並列演算の前記リードブロックとして使用される継続ライトブロックが含まれており、かつ、前記第1のカーネルに対して設定された前記継続ライトブロックの前記割当属性と、前記第2のカーネルに対して設定された、前記継続ライトブロックに対応する前記リードブロックの前記割当属性とが一致する場合において、該継続ライトブロックが前記最下位階層へ転送されず、前記他の階層のメモリを介して前記第2のカーネルの実行に供されることにより、前記第1のカーネルと前記第2のカーネルの実行をパイプライン化するパイプライン化制御を行い、
前記パイプライン化制御に際して、
前記第1のカーネルに対応する各前記リードブロックの夫々に対して、該リードブロックに対して設定された前記余白属性と前記依存属性に、前記第2のカーネルに対して設定された、前記継続ライトブロックに対応する前記リードブロックの前記余白属性と前記依存属性を夫々論理和加算する、
OpenCLデバイス。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014023044A JP6200824B2 (ja) | 2014-02-10 | 2014-02-10 | 演算制御装置及び演算制御方法並びにプログラム、OpenCLデバイス |
US14/600,959 US9495213B2 (en) | 2014-02-10 | 2015-01-20 | Arithmetic control apparatus, arithmetic control method, non-transitory computer readable medium storing program, and open CL device |
CN201510069844.6A CN104834630B (zh) | 2014-02-10 | 2015-02-10 | 运算控制装置、运算控制方法、存储有程序的非瞬时计算机可读介质以及OpenCL设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014023044A JP6200824B2 (ja) | 2014-02-10 | 2014-02-10 | 演算制御装置及び演算制御方法並びにプログラム、OpenCLデバイス |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015149038A JP2015149038A (ja) | 2015-08-20 |
JP6200824B2 true JP6200824B2 (ja) | 2017-09-20 |
Family
ID=53775041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014023044A Expired - Fee Related JP6200824B2 (ja) | 2014-02-10 | 2014-02-10 | 演算制御装置及び演算制御方法並びにプログラム、OpenCLデバイス |
Country Status (3)
Country | Link |
---|---|
US (1) | US9495213B2 (ja) |
JP (1) | JP6200824B2 (ja) |
CN (1) | CN104834630B (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102269271B1 (ko) * | 2014-09-12 | 2021-06-28 | 삼성전자주식회사 | 오픈 컴퓨팅 언어 기반의 애플리케이션 실행 방법 및 장치 |
WO2017074377A1 (en) * | 2015-10-29 | 2017-05-04 | Intel Corporation | Boosting local memory performance in processor graphics |
US10223436B2 (en) | 2016-04-27 | 2019-03-05 | Qualcomm Incorporated | Inter-subgroup data sharing |
KR102592330B1 (ko) * | 2016-12-27 | 2023-10-20 | 삼성전자주식회사 | OpenCL 커널을 처리하는 방법과 이를 수행하는 컴퓨팅 장치 |
CN108317130B (zh) * | 2018-01-12 | 2021-01-22 | 湖南中联重科智能技术有限公司 | 用于电液控制系统的智能终端、远程调用方法及工程机械 |
CN108897630B (zh) * | 2018-06-06 | 2021-11-09 | 郑州云海信息技术有限公司 | 一种基于OpenCL的全局内存缓存方法、系统及装置 |
CN109992413B (zh) * | 2019-03-01 | 2021-09-24 | 中国科学院计算技术研究所 | 一种面向宽度优先搜索算法的加速装置、方法及存储介质 |
JP7251416B2 (ja) * | 2019-09-06 | 2023-04-04 | 富士通株式会社 | 情報処理プログラムおよび情報処理方法 |
CN110806942B (zh) * | 2019-11-08 | 2024-05-07 | 广州华多网络科技有限公司 | 数据处理的方法和装置 |
CN113992660A (zh) * | 2021-10-29 | 2022-01-28 | 维沃移动通信有限公司 | 文件传输方法、装置、电子设备及存储介质 |
CN114201154B (zh) * | 2021-12-10 | 2023-01-31 | 北京百度网讯科技有限公司 | 算子生成方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5224498B2 (ja) * | 2007-02-28 | 2013-07-03 | 学校法人早稲田大学 | メモリ管理方法、情報処理装置、プログラムの作成方法及びプログラム |
US20110289519A1 (en) * | 2010-05-21 | 2011-11-24 | Frost Gary R | Distributing workloads in a computing platform |
JP5707265B2 (ja) * | 2011-07-20 | 2015-04-22 | ルネサスエレクトロニクス株式会社 | 演算制御装置及び演算制御方法並びにプログラム、並列プロセッサ |
US8689233B2 (en) * | 2012-01-25 | 2014-04-01 | International Business Machines Corporation | Distributed function execution for hybrid systems |
US8959469B2 (en) * | 2012-02-09 | 2015-02-17 | Altera Corporation | Configuring a programmable device using high-level language |
US9218289B2 (en) * | 2012-08-06 | 2015-12-22 | Qualcomm Incorporated | Multi-core compute cache coherency with a release consistency memory ordering model |
US9146870B2 (en) * | 2013-07-24 | 2015-09-29 | Arm Limited | Performance of accesses from multiple processors to a same memory location |
-
2014
- 2014-02-10 JP JP2014023044A patent/JP6200824B2/ja not_active Expired - Fee Related
-
2015
- 2015-01-20 US US14/600,959 patent/US9495213B2/en active Active
- 2015-02-10 CN CN201510069844.6A patent/CN104834630B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015149038A (ja) | 2015-08-20 |
CN104834630A (zh) | 2015-08-12 |
CN104834630B (zh) | 2019-08-16 |
US9495213B2 (en) | 2016-11-15 |
US20150227466A1 (en) | 2015-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6200824B2 (ja) | 演算制御装置及び演算制御方法並びにプログラム、OpenCLデバイス | |
JP5707265B2 (ja) | 演算制御装置及び演算制御方法並びにプログラム、並列プロセッサ | |
JP7430744B2 (ja) | 機械学習モデルを改良して局所性を改善させること | |
US20230176907A1 (en) | Dynamic task allocation for neural networks | |
US9244629B2 (en) | Method and system for asymmetrical processing with managed data affinity | |
JP7545211B2 (ja) | 多重経路ニューラルネットワークの複数のレイヤにリソースを割り当てる方法 | |
EP3388940B1 (en) | Parallel computing architecture for use with a non-greedy scheduling algorithm | |
US20230297425A1 (en) | Allocation of memory resources to simd workgroups | |
US9442696B1 (en) | Interactive partitioning and mapping of an application across multiple heterogeneous computational devices from a co-simulation design environment | |
US11733983B2 (en) | Method and apparatus for generating metadata by a compiler | |
Wang et al. | Bubble budgeting: Throughput optimization for dynamic workloads by exploiting dark cores in many core systems | |
CN109308191A (zh) | 分支预测方法及装置 | |
JP2010244435A (ja) | キャッシュ制御装置及びキャッシュ制御方法 | |
JP6374777B2 (ja) | データ処理方法、プログラム及びデータ処理装置 | |
JP2016071886A (ja) | スケジューラコンピューティング装置、それを含む分散コンピューティングシステムのデータノード、及びその方法 | |
US10120970B2 (en) | Global routing framework of integrated circuit based on localized routing optimization | |
KR20240007354A (ko) | 가속기를 분할하는 전자 장치, 배치를 할당하는 전자 장치 및 그 동작 방법 | |
JP6445876B2 (ja) | リソース割当装置、リソース割当システム、および、リソース割当方法 | |
US20240248764A1 (en) | Efficient data processing, arbitration and prioritization | |
WO2023004347A1 (en) | Run-time configurable architectures | |
KR20230001132A (ko) | 중요 경로 기반 스케줄링 및 후처리를 통한 리소스 활용을 극대화할 수 있는 multi-GPU 기반 딥러닝 모델 추론 기법 | |
JP2005346290A (ja) | 自動高位合成方法及び高位合成プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161003 |
|
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: 20170822 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170823 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170828 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6200824 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |