JP3781974B2 - 並列画像処理装置及び並列画像処理方法 - Google Patents
並列画像処理装置及び並列画像処理方法 Download PDFInfo
- Publication number
- JP3781974B2 JP3781974B2 JP2001024409A JP2001024409A JP3781974B2 JP 3781974 B2 JP3781974 B2 JP 3781974B2 JP 2001024409 A JP2001024409 A JP 2001024409A JP 2001024409 A JP2001024409 A JP 2001024409A JP 3781974 B2 JP3781974 B2 JP 3781974B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- image
- information
- cache line
- processing
- 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 - Lifetime
Links
Images
Landscapes
- Multi Processors (AREA)
- Image Input (AREA)
- Image Processing (AREA)
- Digital Computer Display Output (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
【発明の属する技術分野】
この発明は、共有メモリ型の並列計算機上で実行する画像処理において、プロセッサへの共有メモリの割り当てと、プロセッサの共有メモリへのアクセス制御に係る並列画像処理装置及び並列画像処理方法に関するものである。
【0002】
【従来の技術】
画像処理の高速化手法の1つに、複数のプロセッサを使った並列処理がある。並列処理は、画像処理内での依存関係が少なく、画像サイズが大きいケースや処理負荷が高いケースで有効である。このような画像処理の1つに、SAR(Synthetic Aperture Radar:合成開口レーダ)画像の再生処理がある。
【0003】
SAR画像再生処理をSMP(Symmteric Multi−processor)等の、共有メモリを有する並列計算機上で実行する場合に、この画像再生処理における、画像の行方向と列方向の並びを転置するコーナーターン処理で、単純に並列化するとキャッシュミスを起こしやすいという課題があった。
【0004】
この課題を改善する従来例として、本件の出願人が出願した特願平11−290114号の「並列画像処理装置及び並列画像処理方法」がある。図13はこの従来の並列画像処理装置の構成を示すブロック図である。図において、1はSAR画像の再生処理を実行する画像処理プログラムで、2は、プロセッサや共有メモリ、キャッシュ等のH/W(Hardware)、OS(OperatingSystem)、並列化ライブラリ等により構成されたプラットホームで、3は、プラットホーム2上で動作し、コーナーターン処理における各プロセッサへの共有メモリの対象領域の割り付け方法等を画像処理プログラム1に指示する並列画像処理装置である。
【0005】
また、図13の並列画像処理装置3において、11は、処理対象の画像サイズ(画素数)、各画素のデータサイズ、コーナーターン処理前後に実行可能な処理情報等の処理対象の画像情報を設定している画像情報設定手段で、12は画像処理で使用するプロセッサの個数情報を設定している使用プロセッサ数設定手段で、13は各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を設定しているキャッシュ情報設定手段である。
【0006】
さらに、図13の並列画像処理装置3において、14はメモリ割付手段で、画像情報設定手段11に設定されている画像情報とキャッシュ情報設定手段13に設定されているキャッシュ情報を入手し、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出すると共に、使用プロセッサ数設定手段12に設定されているプロセッサの個数情報を入手し、算出した画像ブロック単位で各プロセッサがコーナーターン処理を実行するように共有メモリの対象領域を割り付けし、決定された対象領域の割り付けに従って、各プロセッサが画像ブロック単位でコーナーターン処理を実行するように画像処理プログラム1に指示するものである。
【0007】
次に動作について説明する。
並列画像処理装置3の実装法には、並列化支援ライブラリとして独立して提供する方法、プラットホームであるOSや並列化ライブラリへ組み込む方法、画像処理プログラム中へ組み込む方法がある。ここでは、並列化支援ライブラリとして独立して提供する方法で説明する。
【0008】
図14はメモリ割付手段14の処理を示すフローチャートである。ステップST1において、メモリ割付手段14はキャッシュ情報設定手段13に設定されている各プロセッサに搭載されているキャッシュのキャッシュ情報を入手し、ステップST2において、メモリ割付手段14は画像情報設定手段11に設定されている処理対象の画像情報を入手し、ステップST3において、メモリ割付手段14は使用プロセッサ数設定手段12に設定されている画像処理で使用するプロセッサの個数情報を入手する。
【0009】
ステップST4において、メモリ割付手段14は、ステップST1で入手したキャッシュ情報と、ステップST2で入手した画像情報に基づき、画像ブロック情報を算出する。算出する画像ブロック情報としては、処理単位である画像ブロックのサイズと、画像ブロックが使用するキャッシュのライン数である。この画像ブロックは、キャッシュのライトミスとリードミスにかかるオーバーヘッド時間が最小となる処理領域であり、ここでは、キャッシュのラインサイズを一辺とする正方形の画像上の領域である。
【0010】
ステップST5において、メモリ割付手段14は、ステップST3で入手した使用プロセッサの個数情報に基づき、算出した画像ブロック単位で、各プロセッサがコーナーターン処理を実行するように共有メモリの対象領域の割り付けを決定する。また、メモリ割付手段14は、各画像ブロック内のアクセス方法や、各プロセッサに割り当てられた画像ブロック毎の処理順序等を決定する。そして、メモリ割付手段4は、決定された対象領域の割り付けやアクセス方法、処理順序に従って、各プロセッサが画像ブロック単位でコーナーターン処理を実行するように画像処理プログラム1に指示する。
【0011】
画像処理プログラム1では、外部から指定された共有メモリの領域毎に、各プロセッサでコーナーターン処理を実行するようにプログラムされている。
【0012】
なお、説明は省略するが、上記従来の並列画像処理装置では、階層キャッシュへの対応機能や処理画像のサイズが画像ブロックの定数倍にならないケースでの補整手段等も提供している。
【0013】
図15はキャッシュアクセスの概念を示す図であり、画像ブロック単位でのコーナーターン処理を行っているときの4個のプロセッサ内部でのキャッシュの使用状況を示している。ここでは、読み込みと書き込みに、全て異なったキャッシュのラインを使用して、各画像ブロック単位のコーナーターン処理を実行することを前提にしている。
【0014】
図16はキャッシュの各ラインへのデータの読み込み方法を示す図である。図に示すように、共有メモリ(又はプロセッサから遠い下位のキャッシュ)からのキャッシュの各ラインへのデータの読み込み方法として、Direct Mapping、Set−associative Mapping、Full−associative Mappingがある。なお、以下では、プロセッサに近いキャッシュを上位層のキャッシュ、プロセッサから遠いキャッシュを下位層のキャッシュと呼び、プロセッサに最も近い1次キャッシュが最上位層のキャッシュとなる。
【0015】
図16に示すように、Direct Mappingの場合には、共有メモリのアドレスにより1個の固定されたキャッシュのラインにデータが読み込まれ、Set−associative Mappingの場合には、共有メモリのアドレスにより複数のキャッシュのラインから選択してデータが読み込まれる。この選択可能なライン数をウェイ数(way数)と呼ぶ。Full−associative Mappingの場合には、任意のキャッシュのラインにデータを読み込むことができる。
【0016】
このように、Direct Mapping又はSet−associative Mappingの場合には、共有メモリのアドレスにより使用できるキャッシュのラインに制約を受ける。例えば、2way Set−associative Mappingのキャッシュで、キャッシュのラインサイズが32byte、ライン総数1024個、総容量が32Kbyteの場合には、16Kbyte毎に同じキャッシュのラインの組を選択してデータを読み込むことになる。以後、この同じキャッシュのラインの組をキャッシュ・ライン・セットと呼ぶ。ここでは、あるアドレスが利用できるキャッシュのラインが2つ(2ウェイ)であるため、2つのキャッシュラインのペアがキャッシュ・ライン・セットになる。
【0017】
ここで、画像サイズが8,192×8,192画素のSAR画像再生処理を考える。図17はコーナーターン処理の概要を示す図である。1画素のサイズを8byteとすると、各行又は各列は8,192画素なので64Kbyteになる。この画像に対して、図13に示す並列画像処理装置が画像ブロック単位のコーナーターン処理を実行する場合に、キャッシュのラインサイズが32byteで1画素のサイズが8byteのため、画像ブロックは4画素×4画素の正方形になる。
【0018】
この画像ブロックの正方形の領域は、図17に示すように、4つのキャッシュラインを利用する。ここで、4つのキャッシュのラインは、画像全体から見ると同じ列の要素にアクセスしている。この画像サイズでは、各行が64Kbyteで16Kbyteの定数倍となり、16Kbyte毎に同じキャッシュのラインの組を選択してデータを読み込むことになる。このため、画像の同じ列の要素は同じキャッシュ・ライン・セットを使用することになる。
【0019】
よって、この画像ブロック単位のアクセスでは、同じキャッシュ・ライン・セットに集中してアクセスすることになる。この場合、プロセッサのキャッシュのラインは1024個あるにもかかわらず、画像ブロック単位のコーナーターン処理では、2つのキャッシュラインに集中して処理を実行することになる。このため、キャッシュのラインが足りなくなり、キャッシュの利用効率が低下する。
【0020】
【発明が解決しようとする課題】
従来の並列画像処理装置は以上のように構成されているので、Set−associative Mappingのキャッシュで画像ブロック単位のコーナーターン処理を行う場合には、処理対象の画像領域のサイズによって、特定のキャッシュ・ライン・セットにアクセスが集中するケースがあり、このときのキャッシュの利用効率が低下するという課題があった。
【0021】
なお、ここでは、Set−associative Mappingの例で説明したが、Direct Mappingの場合であっても同様の課題が発生する。
【0022】
また、ここでは、SAR画像再生処理の例で説明したが、SAR画像再生処理と同様に、各処理部分では処理に方向性があり、かつ、処理結果への依存性が低く、途中でコーナーターン処理を実施する画像処理では同じ課題が発生する。
【0023】
この発明は上記のような課題を解決するためになされたもので、画像ブロック単位のコーナーターン処理を実行するときに、キャッシュ情報と画像サイズと画像ブロックの大きさから、特定のキャッシュ・ライン・セットへの集中アクセスによるキャッシュのラインの過不足を判定し、キャッシュのラインが不足時には、これを解消するサイズの領域を処理対象の画像領域に加えることで、特定のキャッシュ・ライン・セットへの集中アクセスを解消し、キャッシュの利用効率を改善する並列画像処理装置及び並列画像処理方法を得ることを目的とする。
【0024】
また、キャッシュのライン不足を解消するのに最適な処理対象の画像領域に加えるオフセット量を、実機での計測をもとに算出できる並列画像処理装置及び並列画像処理方法を得ることを目的とする。
【0025】
さらに、コーナーターン処理以外の処理部分の影響をも考慮して、処理対象の画像領域に加えるオフセット量やコーナーターン処理方法を最適化できる並列画像処理装置及び並列画像処理方法を得ることを目的とする。
【0026】
【課題を解決するための手段】
この発明に係る並列画像処理装置は、複数のプロセッサと共有メモリを含むプラットホーム上で動作し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する画像処理プログラムに上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示するものにおいて、処理対象の画像サイズや各画素のデータサイズ等の画像情報を設定している画像情報設定手段と、画像処理で使用する上記プロセッサの個数情報を設定している使用プロセッサ数設定手段と、上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を設定しているキャッシュ情報設定手段と、上記画像情報設定手段に設定されている画像情報、及び上記キャッシュ情報設定手段に設定されているキャッシュ情報を入手し、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出するメモリ割付手段と、上記画像情報設定手段に設定されている画像情報、上記キャッシュ情報設定手段に設定されているキャッシュ情報、及び上記メモリ割付手段により算出された画像ブロック情報に基づき、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定し、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時にはキャッシュのラインの不足を解消するサイズのオフセット量を算出するキャッシュライン重複判定手段と、上記キャッシュライン重複判定手段により算出されたオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段とを備え、上記メモリ割付手段が、上記使用プロセッサ数設定手段に設定されているプロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付けるものである。
【0027】
この発明に係る並列画像処理装置は、コーナーターン処理以外の処理に対するオフセット量についての要求を設定する外部処理用オフセット設定手段を備え、キャッシュライン重複判定手段が、キャッシュのラインが不足時には、上記外部処理用オフセット設定手段に設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュのラインの不足を解消するサイズのオフセット量を算出するものである。
【0028】
この発明に係る並列画像処理装置は、複数のプロセッサと共有メモリを含むプラットホーム上で動作し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する画像処理プログラムに上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示するものにおいて、処理対象の画像サイズや各画素のデータサイズ等の画像情報を設定している画像情報設定手段と、画像処理で使用する上記プロセッサの個数情報を設定している使用プロセッサ数設定手段と、上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を設定しているキャッシュ情報設定手段と、上記画像情報設定手段に設定されている画像情報、及び上記キャッシュ情報設定手段に設定されているキャッシュ情報を入手し、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出するメモリ割付手段と、上記画像情報設定手段に設定されている画像情報、上記キャッシュ情報設定手段に設定されているキャッシュ情報、及び上記メモリ割付手段により算出された画像ブロック情報に基づき、キャッシュの各階層において、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定し、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時には、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出する階層型キャッシュライン重複判定手段と、上記階層型キャッシュライン重複判定手段により算出されたオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段とを備え、上記メモリ割付手段が、上記使用プロセッサ数設定手段に設定されているプロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付けるものである。
【0029】
この発明に係る並列画像処理装置は、コーナーターン処理以外の処理に対するオフセット量についての要求を設定する外部処理用オフセット設定手段を備え、階層型キャッシュライン重複判定手段が、キャッシュのラインが不足時には、上記外部処理用オフセット設定手段に設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出するものである。
【0030】
この発明に係る並列画像処理装置は、キャッシュライン重複判定手段又は階層型キャッシュライン重複判定手段により算出されたオフセット量と、外部処理用オフセット設定手段に設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、コーナーターン処理以外の処理へ処理範囲や方向を画像処理プログラムに指示する外部処理用実行範囲制御手段を備えたものである。
【0031】
この発明に係る並列画像処理装置は、複数のプロセッサと共有メモリを含むプラットホーム上で動作し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する画像処理プログラムに上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示するものにおいて、処理対象の画像サイズや各画素のデータサイズ等の画像情報を設定している画像情報設定手段と、画像処理で使用する上記プロセッサの個数情報を設定している使用プロセッサ数設定手段と、上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を設定しているキャッシュ情報設定手段と、上記画像情報設定手段に設定されている画像情報、及び上記キャッシュ情報設定手段に設定されているキャッシュ情報を入手し、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出するメモリ割付手段と、上記画像情報設定手段に設定されている画像情報、上記キャッシュ情報設定手段に設定されているキャッシュ情報、及び上記メモリ割付手段により算出された画像ブロック情報に基づき、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定するキャッシュライン重複判定手段と、上記キャッシュライン重複判定手段による判定の結果、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時には、上記画像情報設定手段に設定されている画像情報、上記キャッシュ情報設定手段に設定されているキャッシュ情報、及び上記メモリ割付手段により算出された画像ブロック情報に基づき、キャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求めるオフセット実測手段と、上記オフセット実測手段により求められた最適のオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段とを備え、上記メモリ割付手段が、上記使用プロセッサ数設定手段に設定されているプロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付けるものである。
【0032】
この発明に係る並列画像処理装置は、複数のプロセッサと共有メモリを含むプラットホーム上で動作し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する画像処理プログラムに上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示するものにおいて、処理対象の画像サイズや各画素のデータサイズ等の画像情報を設定している画像情報設定手段と、画像処理で使用する上記プロセッサの個数情報を設定している使用プロセッサ数設定手段と、上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を設定しているキャッシュ情報設定手段と、上記画像情報設定手段に設定されている画像情報、及び上記キャッシュ情報設定手段に設定されているキャッシュ情報を入手し、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出するメモリ割付手段と、上記画像情報設定手段に設定されている画像情報、上記キャッシュ情報設定手段に設定されているキャッシュ情報、及び上記メモリ割付手段により算出された画像ブロック情報に基づき、キャッシュの各階層において、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定する階層型キャッシュライン重複判定手段と、上記階層型キャッシュライン重複判定手段による判定の結果、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時には、上記画像情報設定手段に設定されている画像情報、上記キャッシュ情報設定手段に設定されているキャッシュ情報、及び上記メモリ割付手段により算出された画像ブロック情報に基づき、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求めるオフセット実測手段と、上記オフセット実測手段により求められた最適のオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段とを備え、上記メモリ割付手段が、上記使用プロセッサ数設定手段に設定されているプロセッサの個数情報を入手し、算出した画像ブロック単位で、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付けるものである。
【0033】
この発明に係る並列画像処理装置は、オフセット実測手段により求められた最適のオフセット量と、最適のオフセット量を求めたときのキャッシュ情報及び画像情報等の入力パラメータを記録する実測値記録手段を備え、キャッシュのラインが不足時には、オフセット実測手段が、上記実測値記録手段に記録されている入力パラメータと最適のオフセット量を参照して、最適のオフセット量を求めるものである。
【0034】
この発明に係る並列画像処理方法は、複数のプロセッサと共有メモリを使用し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する際に、上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示するものにおいて、処理対象の画像サイズや各画素のデータサイズ等の画像情報を入手し、上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を入手し、入手した画像情報とキャッシュ情報により、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出し、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定し、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時にはキャッシュのラインの不足を解消するサイズのオフセット量を算出し、算出されたオフセット量の領域を、処理対象の画像領域に追加し、画像処理で使用する上記プロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付けるものである。
【0035】
この発明に係る並列画像処理方法は、キャッシュのラインが不足時には、設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュのラインの不足を解消するサイズのオフセット量を算出するものである。
【0036】
この発明に係る並列画像処理方法は、複数のプロセッサと共有メモリを使用し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する際に、上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示するものにおいて、処理対象の画像サイズや各画素のデータサイズ等の画像情報を入手し、上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を入手し、入手した画像情報とキャッシュ情報により、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出し、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、キャッシュの各階層において、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定し、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時には、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出し、算出されたオフセット量の領域を、処理対象の画像領域に追加し、画像処理で使用する上記プロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付けるものである。
【0037】
この発明に係る並列画像処理方法は、キャッシュのラインが不足時には、設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出するものである。
【0038】
この発明に係る並列画像処理方法は、算出されたオフセット量と、設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、コーナーターン処理以外の処理へ処理範囲や方向を、コーナーターン処理を含む画像の再生処理を実行する画像処理プログラムに指示するものである。
【0039】
この発明に係る並列画像処理方法は、複数のプロセッサと共有メモリを使用し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する際に、上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示するものにおいて、処理対象の画像サイズや各画素のデータサイズ等の画像情報を入手し、上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を入手し、入手した画像情報とキャッシュ情報により、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出し、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定し、判定の結果、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時には、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、キャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求め、求められた最適のオフセット量の領域を、処理対象の画像領域に追加し、画像処理で使用する上記プロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付けるものである。
【0040】
この発明に係る並列画像処理方法は、複数のプロセッサと共有メモリを使用し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する際に、上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示するものにおいて、処理対象の画像サイズや各画素のデータサイズ等の画像情報を入手し、上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を入手し、入手した画像情報とキャッシュ情報により、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出し、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、キャッシュの各階層において、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定し、判定の結果、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時には、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求め、求められた最適のオフセット量の領域を、処理対象の画像領域に追加し、画像処理で使用する上記プロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付けるのである。
【0041】
この発明に係る並列画像処理方法は、求められた最適のオフセット量と、最適のオフセット量を求めたときのキャッシュ情報及び画像情報等の入力パラメータを記録し、キャッシュのラインが不足時には、記録されている入力パラメータと最適のオフセット量を参照して、最適のオフセット量を求めるものである。
【0042】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態1.
図1はこの発明の実施の形態1による並列画像処理装置の構成を示すブロック図である。図において、21は、画像情報設定手段11に設定されている画像情報、キャッシュ情報設定手段13に設定されているキャッシュ情報、及びメモリ割付手段14により算出された画像ブロック情報に基づき、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定し、キャッシュのラインが不足時にはキャッシュのラインの不足を解消するサイズのオフセット量を算出するキャッシュライン重複判定手段である。
【0043】
また、図1において、22は、キャッシュライン重複判定手段21に算出されたオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段である。
【0044】
さらに、図1において、メモリ割付手段14は、画像情報設定手段11に設定されている画像情報、及びキャッシュ情報設定手段13に設定されているキャッシュ情報を入手し、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出し、使用プロセッサ数設定手段12に設定されているプロセッサの個数情報を入手し、算出した画像ブロック単位で、オフセット追加手段22により追加された領域をアクセスしないようにして、各プロセッサがコーナーターン処理を実行するように共有メモリの対象領域を割り付ける。
【0045】
その他の画像処理プログラム1、プラットホーム2、画像情報設定手段11、使用プロセッサ数設定手段12、キャッシュ情報設定手段13は、従来の図13に示す構成と同等である。
【0046】
次に動作について説明する。
図14に示す従来の並列画像処理装置における処理と基本的に同様の処理手順であるが、図14のステップST4における画像ブロック情報の算出後に、メモリ割付手段14はキャッシュライン重複判定手段21にキャッシュのラインの過不足判定を指示する。そして、キャッシュライン重複判定手段21は、後述する処理手順に従ってキャッシュのラインの過不足判定を行い、処理対象の画像領域の拡張が必要と判断した場合には、オフセット追加手段22に処理対象の画像領域の拡張を指示する。
【0047】
キャッシュライン重複判定手段21が、キャッシュのラインの不足無しと判定して終了した場合には、従来と同様にして、図14のステップST5における処理を行う。
【0048】
一方、キャッシュライン重複判定手段21が処理対象の画像領域の拡張の指示をした場合には、オフセット追加手段22は、キャッシュライン重複判定手段21により通知されたオフセット量の領域を、処理対象の画像領域に追加する。また、メモリ割付手段14は、拡張後の画像領域を対象に、画像ブロック単位でコーナーターン処理を実行するように、各プロセッサへのメモリ割り付けを行う。画像処理プログラム1では、拡張後の処理対象の画像領域を対象にSAR画像処理を行う。
【0049】
次にキャッシュライン重複判定手段21の動作について説明する。
図2はキャッシュライン重複判定手段21の処理を示すフローチャートである。ステップST11において、キャッシュライン重複判定手段21は、キャッシュ情報設定手段13に設定されているキャッシュ情報を入手する。ここで、入手するキャッシュ情報は、キャッシュのライン情報(ラインサイズとライン数)と、データの読み込み制御方式(Direct Mapping、Set−associative Mapping、Full−associative Mapping等)及びSet−associative Mappingでのウェイ数等の制御パラメータ情報である。
【0050】
図17の例では、キャッシュライン重複判定手段21は、キャッシュのラインサイズが32byte、ライン数が1024line(キャッシュの総容量=ラインサイズ×ライン数=32Kbyte)であることと、データの読み込み制御方式が2way Set−associative Mappingであるという情報を入手する。
【0051】
キャッシュ情報を入手後に、ステップST12において、キャッシュライン重複判定手段21は、入手したキャッシュ情報をもとに、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出する。この共有メモリ領域の間隔は、Set−associative Mappingの場合には、
(キャッシュのライン数)×(キャッシュのラインサイズ)/(ウェイ数)
により算出され、Direct Mappingの場合には、
(キャッシュのライン数)×(キャッシュのラインサイズ)
により算出される。ただし、データの読み込み制御方式がFull−associative Mappingの場合は、画像領域にオフセットを追加する本方式では改善が困難なため、キャッシュライン重複判定手段21はここで処理を打ち切る。
【0052】
図17の例では、キャッシュライン重複判定手段21は入手したキャッシュ情報から、キャッシュのラインサイズが32byte、キャッシュのライン数が1024、ウェイ数が2なので、共有メモリ領域の16Kbyte間隔で、同じキャッシュ・ライン・セットを使用することを算出する。なお、計算結果と入手したキャッシュ情報(2way Set−associative Mapping)から、共有メモリ領域の16Kbyte間隔で、2つのキャッシュラインのペアで構成されるキャッシュ・ライン・セットを利用することがわかる。
【0053】
ステップST13において、キャッシュライン重複判定手段21は、画像情報設定手段11に設定されている処理対象の画像情報を入手する。ここで入手する画像情報は、画像サイズ(画素数)と各画素のデータサイズである。図17の例では、キャッシュライン重複判定手段21は、画像サイズが8,192×8,192画素で、1画素のサイズが8byteという情報を入手する。
【0054】
処理対象の画像情報を入手後、ステップST14において、キャッシュライン重複判定手段21は、メモリ割付手段14により算出された画像ブロック情報を入手する。ここでは、画像ブロック情報として、画像ブロックの大きさ(領域のサイズ)と1回のコーナーターンで使用するキャッシュのライン数を入手する。
【0055】
図17の例では、キャッシュライン重複判定手段21は、キャッシュのラインサイズが32byteなので、画像ブロックは32byte×32byte分の領域であることを入手する。また、1画素のデータが8byteなので、1つのキャッシュラインに4画素分のデータが格納され、画像ブロックは4画素×4画素の画像上の領域となる。このため、キャッシュライン重複判定手段21は、1つの画像ブロックのコーナーターン処理で使用するキャッシュのライン数が4であるという情報を入手する。
【0056】
画像ブロック情報を入手後、ステップST15において、キャッシュライン重複判定手段21は、入手した画像情報と画像ブロック情報と、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定する。ここで、同じキャッシュ・ライン・セットを使わずにコーナーターン処理を実行できる場合には、処理対象の画像領域にオフセット量を追加改善する処理は不要のため、ステップST16において、キャッシュライン重複判定手段21は処理を終了する。
【0057】
図17の例では、処理対象の画像が8,192×8,192画素で、1画素のサイズが8byteであり、1行(1列)分の共有メモリ領域が64Kbyteになる。算出情報から、共有メモリ領域は16Kbyte間隔で同じキャッシュ・ライン・セットを利用するから、この画像サイズでは、同じ列の画素に対するアクセスは、同じキャッシュ・ライン・セットを使うことがわかる。このため、1辺がキャッシュのラインサイズの大きさの正方形である画像ブロック単位でコーナーターン処理を行う場合には、同じキャッシュ・ライン・セットを使うことがわかる。
【0058】
同じキャッシュ・ライン・セットを使って、コーナーターン処理を実行することがわかった場合、ステップST17において、キャッシュライン重複判定手段21は、そのコーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するか(以後、これを最大キャッシュ・ライン・セット重複数と呼ぶ)を算出する。図17の例では、1つの画像ブロックのコーナーターン処理で使用する4個のキャッシュラインが全て同じキャッシュ・ライン・セットを使用するため、最大キャッシュ・ライン・セット重複数は4となる。
【0059】
また、最大キャッシュ・ライン・セット重複数を算出後、ステップST18において、キャッシュライン重複判定手段21は、最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数(以後、これをキャッシュ・ライン・セット利用可能ライン数と呼び、この数は、Set−associative Mappingの場合はウェイ数、Direct Mappingの場合は1となる)を比較する。
【0060】
この比較の結果、
最大キャッシュ・ライン・セット重複数<キャッシュ・ライン・セット利用可能ライン数
の場合には、画像領域にオフセット量を追加改善する処理は不要のため、ステップST16において、キャッシュライン重複判定手段21は処理を終了する。
【0061】
一方、
最大キャッシュ・ライン・セット重複数>キャッシュ・ライン・セット利用可能ライン数
の場合には、ステップST19において、キャッシュライン重複判定手段21は、画像領域の端に一定の共有メモリ領域であるオフセット量を設定する。図3はオフセット量追加前後の画像処理領域を説明する図であり、図3に示すように、画像領域の右端と下端にオフセット量を設定している。
【0062】
ステップST20において、キャッシュライン重複判定手段21は、再度、最大キャッシュ・ライン・セット重複数を算出し、ステップST21において、キャッシュライン重複判定手段21は、最大キャッシュ・ライン・セット重複数と、キャッシュ・ライン・セット利用可能ライン数を比較する。
最大キャッシュ・ライン・セット重複数>キャッシュ・ライン・セット利用可能ライン数
の場合には、ステップST19に戻り、キャッシュライン重複判定手段21は、さらに、オフセット量を加えて設定し、ステップST20において、キャッシュライン重複判定手段21は、再度、最大キャッシュ・ライン・セット重複数を算出する。
【0063】
このステップST19からステップST21までの処理を、
最大キャッシュ・ライン・セット重複数<キャッシュ・ライン・セット利用可能ライン数
になるまで繰り返す。ステップST21で、
最大キャッシュ・ライン・セット重複数<キャッシュ・ライン・セット利用可能ライン数
となった場合には、キャッシュライン重複判定手段21は、このオフセット量をオフセット追加手段22に通知する。
【0064】
オフセット追加手段22は、通知されたオフセット量の領域を処理対象の画像領域に追加して拡張し、オフセット追加手段22から、処理対象の画像領域の拡張が完了したとの報告を受けた後で、ステップST23において、キャッシュライン重複判定手段21は、メモリ割付手段14にオフセット量と拡張後の画像サイズを通知し処理を終了する。
【0065】
なお、最大キャッシュ・ライン・セット重複数と、キャッシュ・ライン・セット利用可能ライン数が同じ場合の判定条件については、あらかじめ、
最大キャッシュ・ライン・セット重複数<キャッシュ・ライン・セット利用可能ライン数
と判断するか、又は、
最大キャッシュ・ライン・セット重複数>キャッシュ・ライン・セット利用可能ライン数
と判断するかを、ユーザ設定等により定義しておく。
【0066】
図2の例では、最大キャッシュ・ライン・セット重複数と、キャッシュ・ライン・セット利用可能ライン数が等しい場合は、
最大キャッシュ・ライン・セット重複数>キャッシュ・ライン・セット利用可能ライン数
と判断するように設定されていると仮定し、また、図3のオフセット量については、キャッシュの1ラインサイズ分の領域を順次加えていると仮定している。
【0067】
図17の例では、前述の算出結果から、最大キャッシュ・ライン・セット重複数は4で、キャッシュ・ライン・セット利用可能ライン数は2である。このため、キャッシュライン重複判定手段21は、画像領域にオフセット量として4画素(32byte:キャッシュの1ラインサイズ分の共有メモリ領域)を加えて、再度、最大キャッシュ・ライン・セット重複数を算出する。
【0068】
このとき、オフセット量追加後の処理対象の画像領域は、8,196×8,196画素となる。図4はオフセット量を追加後の図17のコーナーターン処理でのキャッシュアクセスの概要を示す図である。すると、1行下の列の画素とは、使用するキャッシュ・ライン・セットがちょうどキャッシュの1ラインサイズ分だけずれることになる。このため、画像ブロック単位のコーナーターン処理を、異なったキャッシュ・ライン・セットを使って実行できるため、最大キャッシュ・ライン・セット重複数が0になる。
【0069】
最大キャッシュ・ライン・セット重複数がキャッシュ・ライン・セット利用可能ライン数より小さくなるため、キャッシュライン重複判定手段21は、このときのオフセット量である32byteをオフセット追加手段22に通知する。オフセット追加手段22から、処理対象の画像領域を8,196×8,196画素に拡張したとの報告を受けた後で、キャッシュライン重複判定手段21は、メモリ割付手段14にオフセット量と拡張後の画像サイズ8,196×8,196画素を通知し処理を終了する。
【0070】
この実施の形態では、キャッシュライン重複判定手段21からの指示で、オフセット追加手段22が処理対象の画像領域を拡張した後で、メモリ割付手段14は、オフセット量として追加した領域にはアクセスしないようにして、画像ブロック単位のコーナーターン処理を実行するように、各プロセッサに処理領域を割り当てていく。ここで、オフセット量分のアクセスを回避する以外は、従来例の並列画像処理装置と同様である。
【0071】
また、画像処理プログラム1でも、処理対象の画像領域の変更に伴い、各SAR画像再生処理において、オフセット量として追加した領域を使わないで処理を実行するが、基本的に従来の並列画像処理装置と同じように動作する。
【0072】
以上のように、この実施の形態1によれば、画像ブロック単位のコーナーターン処理を実行するときに、特定のキャッシュ・ライン・セットへの集中アクセスによるキャッシュラインの過不足を判定し、キャッシュのラインの不足時に、これを解消するサイズのオフセット量の領域を処理対象の画像領域に追加することで、特定のキャッシュ・ライン・セットへの集中アクセスを解消し、キャッシュの利用効率を改善できるという効果が得られる。
【0073】
また、画像ブロック単位のコーナーターン処理で必要とされる領域に限定してキャッシュ・ライン・セットへのアクセス状況を判定することで、無駄なオフセット量を追加することがないという効果が得られる。
【0074】
この実施の形態では、処理対象の画像サイズが画像ブロックの定数倍になる例で説明したが、定数倍とならないケースであっても、この実施の形態1と同様の効果が得られる。この場合には、処理対象の画像領域を画像ブロックの定数倍になるように拡張した後で、拡張済みの画像領域を対象にキャッシュラインの過不足を判定し、必要な場合にはオフセット量をさらに加えれば良い。
【0075】
この実施の形態では、図3に示すように、処理対象の画像領域の右端と下端に、同じ量のオフセット量の領域を追加する例で説明したが、それぞれ適切な異なった大きさのオフセット量の領域を追加しても良く、この実施の形態1と同様の効果が得られる。
【0076】
また、コーナーターン処理を1回だけ実施するようなケースでは、下端にはオフセット量の領域を追加せず、右端にだけオフセット量の領域を追加しても、この実施の形態1と同様の効果が得られる。例えば、レンジ方向に連続アドレスとなる画像から、アジマス方向に連続アドレスとなる画像へ1回コーナーターンするケースでは、処理前の画像の右端(レンジ行方向の端、処理前画像では行方向、処理結果画像では列方向)にだけオフセット量の領域を追加しても、この実施の形態1と同様の効果が得られる。
【0077】
この実施の形態ではSAR画像再生処理で説明したが、SAR画像再生処理以外でも、コーナーターン処理に相当する処理を実行する並列画像処理であれば、この実施の形態1と同様の効果が得られる。
【0078】
実施の形態2.
図5はこの発明の実施の形態2による並列画像処理装置の構成を示すブロック図である。図において、23は、画像情報設定手段11に設定されている画像情報、キャッシュ情報設定手段13に設定されているキャッシュ情報、及びメモリ割付手段14により算出された画像ブロック情報に基づき、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定し、キャッシュのラインが不足時には、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出する階層型キャッシュライン重複判定手段である。
【0079】
この実施の形態では、実施の形態1の図1におけるキャッシュライン重複判定手段21を、階層型キャッシュライン重複判定手段23に入れ換えて並列画像処理装置を構成し、階層型キャッシュライン重複判定手段23が階層キャッシュを考慮して、キャッシュラインの過不足を判定することが実施の形態1と異なり、その他は実施の形態1と同等である。
【0080】
次に動作について説明する。
図6は階層型キャッシュライン重複判定手段23の全体の処理を示すフローチャートである。ステップST31において、階層型キャッシュライン重複判定手段23は、まず、オフセット量と、継承オフセット量を0に初期化する。なお、継承オフセット量については後述する。
【0081】
ステップST32において、階層型キャッシュライン重複判定手段23は、プロセッサから最も遠い最下位層のキャッシュを選択し、ステップST33において、階層型キャッシュライン重複判定手段23は、キャッシュの各階層(ここでは最下位層)でのキャッシュのラインの過不足を判定する。
【0082】
図7は階層型キャッシュライン重複判定手段23の各キャッシュ階層毎のキャッシュラインの過不足判定処理を示すフローチャートである。ステップST61において、階層型キャッシュライン重複判定手段23は、1つ下の階層からのオフセット量と継承オフセット量(ここでは共に0)を受け取る。ステップST62,ST63は、実施の形態1の図2に示すステップST11,ST12と同様である。
【0083】
ステップST64において、階層型キャッシュライン重複判定手段23は、処理対象の画像情報を入手し、処理対象の画像領域に、1つ下の階層からのオフセット量と継承オフセット量を加えた画像領域(ここでは元の画像領域)を判定対象の画像領域に設定する。次のステップST65,ST66,ST68,ST69は、実施の形態1の図2に示すステップST14,ST15,ST17,ST18と同様である。
【0084】
ここで、ステップST66で同じキャッシュ・ライン・セットを使用しないとき、及びステップST69で
最大キャッシュ・ライン・セット重複数<キャッシュ・ライン・セット利用可能ライン数
の場合には、ステップST67において、次の処理、すなわち、図6のステップST34へ移行する。
【0085】
ステップST70,ST71,ST72は、実施の形態1の図2に示すステップST19,ST20,ST21と同様である。ステップST72で
最大キャッシュ・ライン・セット重複数<キャッシュ・ライン・セット利用可能ライン数
の場合には、ステップST73において、次の処理、すなわち、図6のステップST34へ移行する。
【0086】
このように、図6のステップST33における最下位層のキャッシュの過不足判定では、図7の一連の処理を行うことにより、実施の形態1のキャッシュライン重複判定手段21と同様の手順で、対象階層でのキャッシュ情報及び画像ブロック情報を基準に判定を行っている。
【0087】
そして、図7の一連の処理で、
最大キャッシュ・ライン・セット重複数>キャッシュ・ライン・セット利用可能ライン数
の場合には、実施の形態1と同様にして、キャッシュラインの不足が解消されるまで、ステップST70,ST71,ST72の処理を繰り返しながら、画像領域の端に一定のオフセット量を追加していく。ただし、キャッシュのラインの不足が解消されるオフセット量を求めた後は、このオフセット量をオフセット追加手段2に伝えず、この階層での判定処理を終了し、ステップST73において、図6のステップST34へ移行する。
【0088】
なお、図7のステップST69,ST72において、最大キャッシュ・ライン・セット重複数がキャッシュ・ライン・セット利用可能ライン数と等しい場合の判定条件については、実施の形態1と同様に、あらかじめ、最大キャッシュ・ライン・セット重複数がキャッシュ・ライン・セット利用可能ライン数より小さい又は大きいのどちらと判断するかを、ユーザ設定等により定義しておく。
【0089】
図8はこの実施の形態2におけるコーナーターン処理の概要を示す図である。図8の例では2次キャッシュの情報から、2次キャッシュに対応する2次画像ブロックを対象にキャッシュのラインの過不足判定を行う。ここでは、2次キャッシュの情報から、2次キャッシュのラインサイズが128byteで、ライン数が32,768であるため、2Mbyte毎に同じキャッシュ・ライン・セットを使用することになり、この階層ではキャッシュラインの不足が発生せずオフセット量は0である。
【0090】
図6のステップST34において、最上位層のキャッシュであるかを判定するが、ここでは、最下位層のキャッシュであるため、ステップST35において、階層型キャッシュライン重複判定手段23は、前の階層から受け継いだオフセット量(ここは、先頭のため、0になっている)と、自分の階層で算出したオフセット量の和を、次の階層へ引き継ぐ新たなオフセット量として設定する。図8の例では、2次キャッシュにおけるオフセット量が0なので、次の階層へ引き継ぐ新たなオフセット量は0である。
【0091】
ステップST36において、階層型キャッシュライン重複判定手段23は1つ上位層のキャッシュを選択し、ステップST33に戻り、図7に示す1つ上位層のキャッシュ階層での判定を開始する。ただし、図7のステップST61において、1つ下の階層からのオフセット量が0でない場合に、ステップST64において、処理対象の画像領域にこのオフセット量を追加した画像領域に対して判定する。
【0092】
図8の例では、2次キャッシュにおけるオフセット量が0なので、元の処理対象の画像領域(8,192×8,192画素)をそのまま使用して、1次キャッシュの情報と、1次キャッシュに対応する1次画像ブロックを対象に判定を行う。ここでは、1つ上位層のキャッシュである1次キャッシュのキャッシュ情報は実施の形態1と同じ条件であり、オフセット量は32byteとなる。
【0093】
このようにして、ステップST33からステップST36までの処理を繰り返し、ステップST34において、最上位層のキャッシュになると、ステップST37において、階層型キャッシュライン重複判定手段23は、最上位層で加えたオフセット量と下位層のキャッシュから受け取ったオフセット量の和を1次判定オフセット量として算出する。図8の例では、最上位層で加えたオフセット量が32byteで、下位層のキャッシュから受け取ったオフセット量が0なので、1次判定オフセット量は32byteとなる。ステップST38において、1次判定オフセット量が0の場合には、ステップST39において、階層型キャッシュライン重複判定手段23は処理を終了する。
【0094】
ステップST38で1次判定オフセット量が0以外の場合には、ステップST40以降の処理において、1次判定オフセット量を使って再び最下位層のキャッシュから、各キャッシュ階層毎に、キャッシュのラインの過不足を判定及びオフセット量の算出を行う。ここでは、ステップST40において、1回目の1次判定オフセット量の算出のため、1次判定オフセット量を、そのまま継承オフセット量として算出する。継承オフセット量とは前回までに算出した1次判定オフセット量の和である。図8の例では、1次判定のオフセット量が32byteなので、継承オフセット量も32byteとなる。
【0095】
ステップST41において、最下位層のキャッシュが引き継ぐ下位層のキャッシュからのオフセット量は0にする。ステップST42,ST43,ST44,ST45,ST46において、階層型キャッシュライン重複判定手段23が、ST32,ST33,ST34,ST35,ST36と同様にして、再度、最下位層のキャッシュから、各キャッシュ階層毎に、キャッシュのラインの過不足を判定及びオフセット量の算出を行う。
【0096】
ここで、ステップST43におけるキャッシュのラインの過不足判定は、図7に示す一連の処理を行うが、図7のステップST64において、各階層で判定に使用する処理対象の画像領域のサイズを、継承オフセット量と、1つ下位層のキャッシュから受け取ったオフセット量とを、元の処理対象の画像領域に追加した画像領域とする。
【0097】
また、図7のステップST66で同じキャッシュ・ライン・セットを使用しないとき、及びステップST69で
最大キャッシュ・ライン・セット重複数<キャッシュ・ライン・セット利用可能ライン数
の場合には、ステップST67において、次の処理、すなわち、図6のステップST44へ移行する。
【0098】
さらに、図7のステップST72で
最大キャッシュ・ライン・セット重複数<キャッシュ・ライン・セット利用可能ライン数
の場合には、ステップST73において、次の処理、すなわち、図6のステップST44へ移行する。
【0099】
ステップST44において、最上位層のキャッシュである場合に、ステップST47において、階層型キャッシュライン重複判定手段23は、再度の各キャッシュの階層でのキャッシュのラインの過不足の判定及びオフセット量の算出を行った結果として、今回の判定での1次判定オフセット量を算出する。
【0100】
ステップST48において、再び1次判定オフセット量が0以外の場合には、ステップST49において、階層型キャッシュライン重複判定手段23は、今回の判定で使用した継承オフセット量に、今回算出した1次判定オフセット量を新たな継承オフセット量として、ステップST43において、再度各キャッシュの階層でのキャッシュのラインの過不足の判定及びオフセット量の算出を行い、ステップST48において、1次判定オフセット量が0になるまでこの処理を繰り返す。
【0101】
ステップST48において、再度の判定で、1次判定オフセット量が0の場合には、ステップST50において、階層型キャッシュライン重複判定手段23は、継承オフセット量と拡張後の画像サイズ(元の画像領域の端に継承オフセット量を追加したサイズ)を、メモリ割付手段14に通知し処理を終了する。
【0102】
ステップST51において、継承オフセット量と拡張後の画像サイズを受け取ったメモリ割付手段14の処理は、実施の形態1の図2におけるステップST23と同様である。
【0103】
図8の例では、1回目の継承オフセット量が32byte(4画素分)であるため、8,196×8,196画素の画像領域を基準に、再度2次と1次のキャッシュで判定を行う。この結果、各階層では、キャッシュのライン不足は発生せず、ステップST47における1次判定オフセット量が0になる。このため、階層型キャッシュライン重複判定手段23は、継承オフセット量32byteと、拡張後の画像サイズ8,196×8,196画素を、メモリ割付手段14に伝えて処理を終了する。
【0104】
以上のように、この実施の形態2によれば、階層構造のキャッシュにおいても、画像ブロック単位のコーナーターン処理を実行するときに、特定のキャッシュ・ライン・セットへの集中アクセスによるキャッシュラインの過不足を判定し、キャッシュラインの不足時に、これを解消するサイズのオフセット量の領域を処理対象の画像領域に追加することで特定のキャッシュ・ライン・セットへの集中アクセスを解消し、キャッシュの利用効率を改善できるという効果が得られる。ここでは、全ての階層に対して、コーナーターン処理でキャッシュラインの不足が起こらないことを確認してから、オフセット量を決定するコーナーターン処理方法を得ることができる。
【0105】
また、この実施の形態2によれば、各階層毎に画像ブロック単位のコーナーターン処理で必要とされる領域に限定して、キャッシュ・ライン・セットへのアクセス状況を判定することで、無駄なオフセット量を追加することがないという効果が得られる。
【0106】
この実施の形態2では、1次と2次の2つの階層のキャッシュで説明したが、階層の数によらず、多階層構成のキャッシュに対しても、この実施の形態2と同様の効果が得られる。
【0107】
また、この実施の形態2では、処理対象の画像のサイズが画像ブロックの定数倍になる例で説明したが、実施の形態1と同様に、定数倍とならないケースであっても、この実施の形態2と同様の効果が得られる。
【0108】
さらに、この実施の形態2では、実施の形態1と同じように、追加するオフセット量の領域を画像領域の右端と下端で変えたり、右端だけ加えるようなケースについても、この実施の形態2と同様の効果が得られる。
【0109】
実施の形態3.
図9はこの発明の実施の形態3による並列画像処理装置の構成を示すブロック図である。図において、21は、画像情報設定手段11に設定されている画像情報、キャッシュ情報設定手段13に設定されているキャッシュ情報、及びメモリ割付手段14により算出された画像ブロック情報に基づき、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定するキャッシュライン重複判定手段である。
【0110】
また、図9において、24は、キャッシュライン重複判定手段21による判定の結果、キャッシュのラインが不足時には、画像情報設定手段11に設定されている画像情報、キャッシュ情報設定手段13に設定されているキャッシュ情報、及びメモリ割付手段14により算出された画像ブロック情報に基づき、キャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求めるオフセット実測手段である。
【0111】
さらに、図9において、22は、オフセット実測手段24により求められた最適のオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段であり、その他の構成は実施の形態1の図1の構成と同等である。
【0112】
次に動作について説明する。
この実施の形態では、最大キャッシュ・ライン・セット重複数がキャッシュ・ライン・セット利用可能ライン数より大きくなったときのオフセット量を、オフセット実測手段11が決定することが実施の形態1と異なり、その他は実施の形態1と同等である。
【0113】
キャッシュライン重複判定手段21は、最大キャッシュ・ライン・セット重複数がキャッシュ・ライン・セット利用可能ライン数より大きくなったときに、オフセット実測手段24にオフセット量の算出を指示する。このとき、キャッシュライン重複判定手段21は、画像情報とキャッシュ情報による計算結果である最大キャッシュ・ライン・セット重複数とキャッシュ・ライン・セット利用可能ライン数と、処理対象の画像領域のサイズと、画像ブロックのサイズをオフセット実測手段24に通知する。
【0114】
オフセット実測手段24は、キャッシュライン重複判定手段21から通知された情報に基づき種々のオフセット量を算出し、算出したオフセット量に対する実行時間を計測する。この計測の結果、最適(最短時間)となったオフセット量を求めてキャッシュライン重複判定手段21に通知する。なお、オフセット量を変える範囲は、キャッシュライン重複判定手段21からの最大キャッシュ・ライン・セット重複数と、キャッシュ・ライン・セット利用可能ライン数情報に基づき決定する。
【0115】
キャッシュライン重複判定手段21は、オフセット実測手段24が算出したオフセット量を最終的なオフセット量として選択して、オフセット追加手段22に通知する。その後の処理については実施の形態1と同じである。
【0116】
図17から図4への例に当てはめると、実施の形態1では、オフセット量は実行性能と無関係に4画素(32byte)に決定されていた。この実施の形態3では、実測結果に基づいてオフセット量を決定するため、例えば、その倍の8画素(64byte)の場合の方が、若干性能が上回る場合には、こちらをオフセット量として選択できる。
【0117】
以上のように、この実施の形態3によれば、キャッシュのラインの不足時に、実行性能が最適となるオフセット量を選択して、画像ブロック単位のコーナーターン処理を実行できるという効果が得られる。最適のオフセット量を算出するには、ハードウェアやオペレーティングシステムやコンパイラのメモリ割り付け方法等、様々な要素の相互作用を検証する必要がある。また、処理対象の画像サイズの影響も受ける。このため、事前に最適のオフセット量を決定することが難しいが、この実施の形態3では、実測値に基づいて最適のオフセット量を決定することで、この難しい課題を解決できる。
【0118】
また、この実施の形態3によれば、オフセット量を検証する範囲を、最大キャッシュ・ライン・セット重複数と、キャッシュ・ライン・セット利用可能ライン数の情報をもとに決定することで、無駄な検証を抑えることができるという効果が得られる。
【0119】
この実施の形態3では、オフセット量を1個求める例で説明したが、オフセット実測手段24では画像領域の右端と下端で別々のオフセット量を算出したり、右端だけオフセット量を算出するようなケースについても、この実施の形態3と同様の効果が得られる。
【0120】
この実施の形態3では、実施の形態1への拡張で説明を行ったが、多階層のキャッシュに対応した実施の形態2の並列画像処理装置に対しても、オフセット実測手段24を加えても良く同様の効果が得られる。
【0121】
実施の形態4.
図10はこの発明の実施の形態4による並列画像処理装置の構成を示すブロック図である。図において、25は、オフセット実測手段24により求められた最適のオフセット量と、最適のオフセット量を求めたときのキャッシュ情報及び画像情報等の入力パラメータを記録する実測値記録手段であり、キャッシュのラインが不足時には、オフセット実測手段24が、実測値記録手段25に記録されている入力パラメータと最適のオフセット量を参照して、最適のオフセット量を求める。その他の構成は、実施の形態3の図9に示す構成と同等である。
【0122】
次に動作について説明する。
この実施の形態では、オフセット実測手段24が、最適のオフセット量算出前に実測値記録手段25を参照することと、オフセット量の算出後に、その結果を実測値記録手段25に通知することが実施の形態3と異なる。
【0123】
実測値記録手段25は、オフセット実測手段24が、最適のオフセット量を算出したときに、そのときの入力パラメータ(キャッシュ情報や処理対象の画像情報等)と、算出結果である最適のオフセット量を内部に記録する。
【0124】
オフセット実測手段24が、次にキャッシュライン重複判定手段21からオフセット量の算出を指示された場合には、実測値記録手段25を参照する。入力パラメータが同じであれば、オフセット実測手段24は以前の算出結果を最適のオフセット量としてキャッシュライン重複判定手段21に通知する。同じ入力パラメータがない場合には、オフセット実測手段24は、記録されている入力パラメータを参照して、オフセット量を変える範囲を絞り込んでから実行時間の計測を行う。
【0125】
そして、最適のオフセット量を算出したときに、オフセット実測手段24は、キャッシュライン重複判定手段21からの入力パラメータと最適のオフセット量を実測値記録手段25に記録する。これ以外の処理については実施の形態3と同じである。
【0126】
以上のように、この実施の形態4によれば、キャッシュのラインの不足時に、実行性能が最適となるオフセット量を効率良く求めることができるという効果が得られる。
【0127】
実施の形態5.
図11はこの発明の実施の形態5による並列画像処理装置の構成を示すブロック図である。図において、26は、コーナーターン処理以外の処理に対するオフセット量についての要求、すなわち、コーナーターン処理以外の処理に対する最大キャッシュ・ライン・セット重複数とその処理の重要度(全実行時間に占める割合等)を設定する外部処理用オフセット設定手段である。
【0128】
また、図11において、キャッシュライン重複判定手段21は、キャッシュのラインが不足時には、外部処理用オフセット設定手段26に設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュのラインの不足を解消するサイズのオフセット量を算出する。その他の構成は実施の形態1の図1に示す構成と同等である。
【0129】
次に動作について説明する。
この実施の形態では、キャッシュライン重複判定手段21が、最大キャッシュ・ライン・セット重複数を算出するときに、外部処理用オフセット設定手段26を参照して、最大キャッシュ・ライン・セット重複数を調整することが実施の形態1と異なる。その他は実施の形態1と同じである。
【0130】
外部処理用オフセット設定手段26は、コーナーターン処理以外の処理で、画像ブロック単位のコーナーターン処理と同様に、画像サイズによってメモリアクセスが不利となるアクセスを含む処理について、その処理に対する最大キャッシュ・ライン・セット重複数とその処理の重要度(全実行時間に占める割合等)を設定する。
【0131】
キャッシュライン重複判定手段21は、最大キャッシュ・ライン・セット重複数を算出するときに、外部処理用オフセット設定手段26を参照し、外部処理用オフセット設定手段26により設定されているコーナーターン以外の処理に対する最大キャッシュ・ライン・セット重複数とその処理の重要度から、キャッシュライン重複判定手段21内部で保持する最大キャッシュ・ライン・セット重複数の値を調整する。キャッシュライン重複判定手段21は、この調整後の値を使って、実施の形態1と同様の手順で処理を行う。
【0132】
以上のように、この実施の形態5によれば、コーナーターン処理以外の処理で発生するキャッシュラインの不足も考慮して、実行性能が最適となるオフセット量を選択して、画像ブロック単位のコーナーターン処理を実行できるという効果が得られる。
【0133】
この実施の形態5では、実施の形態1への拡張で説明を行ったが、多階層のキャッシュに対応した実施の形態2の並列画像処理装置に対しても、外部処理用オフセット設定手段26を加えても良く同様の効果が得られる。
【0134】
実施の形態6.
図12はこの発明の実施の形態6による並列画像処理装置の構成を示すブロック図である。図において、27は、キャッシュライン重複判定手段21により算出されたオフセット量と、外部処理用オフセット設定手段26に設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、コーナーターン処理以外の処理へ処理範囲や方向を画像処理プログラム1に指示する外部処理用実行範囲制御手段であり、その他の構成は実施の形態5の図11に示す構成と同等である。
【0135】
次に動作について説明する。
この実施の形態では、キャッシュライン重複判定手段21が、算出したオフセット量を外部処理用実行範囲制御手段27に通知し、外部処理用実行範囲制御手段27が、このオフセット量と外部処理用オフセット設定手段26の情報を参照して、コーナーターン処理以外の処理へ処理範囲や方向を画像処理プログラム1に指示することが実施の形態5と異なる。
【0136】
外部処理用実行範囲制御手段27は、キャッシュライン重複判定手段21により算出されたオフセット量と、外部処理用オフセット設定手段26により設定されているコーナーターン処理以外の処理に対する最大キャッシュ・ライン・セット重複数から、コーナーターン処理以外の処理に対して、キャッシュ・ライン・セットの重複を極力抑えるような共有メモリ上の処理範囲や方向を指示する。
【0137】
キャッシュライン重複判定手段21は、オフセット量を決定したときに、外部処理用実行範囲制御手段27にこのオフセット量を通知する以外は、実施の形態5と同様の手順で処理を行う。
【0138】
以上のように、この実施の形態6によれば、算出したオフセット量を基準に、コーナーターン処理以外の処理へもキャッシュ・ライン・セットの重複を抑え、実行効率の良いキャッシュアクセスを実現する処理範囲や方向を指示することができるという効果が得られる。
【0139】
【発明の効果】
以上のように、この発明によれば、画像情報とキャッシュ情報を入手し画像ブロック情報を算出するメモリ割付手段と、画像情報、キャッシュ情報、及び算出された画像ブロック情報に基づき、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定し、キャッシュのラインの不足を解消するサイズのオフセット量を算出するキャッシュライン重複判定手段と、算出されたオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段とを備え、メモリ割付手段が、プロセッサの個数情報を入手し、各プロセッサがコーナーターン処理を実行するように共有メモリの対象領域を割り付けることにより、特定のキャッシュ・ライン・セットへの集中アクセスを解消し、キャッシュの利用効率を改善できるという効果がある。
【0140】
この発明によれば、コーナーターン処理以外の処理に対するオフセット量についての要求を設定する外部処理用オフセット設定手段を備え、キャッシュライン重複判定手段が、キャッシュのラインが不足時には、設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュのラインの不足を解消するサイズのオフセット量を算出することにより、コーナーターン処理以外の処理で発生するキャッシュラインの不足も考慮し、実行性能が最適となるオフセット量を選択して、画像ブロック単位のコーナーターン処理を実行できるという効果がある。
【0141】
この発明によれば、画像情報とキャッシュ情報を入手し画像ブロック情報を算出するメモリ割付手段と、画像情報、キャッシュ情報、及び算出された画像ブロック情報に基づき、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定し、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出する階層型キャッシュライン重複判定手段と、算出されたオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段とを備え、メモリ割付手段が、プロセッサの個数情報を入手し、各プロセッサがコーナーターン処理を実行するように共有メモリの対象領域を割り付けることにより、階層構造のキャッシュにおいても、特定のキャッシュ・ライン・セットへの集中アクセスを解消し、キャッシュの利用効率を改善できるという効果がある。
【0142】
この発明によれば、コーナーターン処理以外の処理に対するオフセット量についての要求を設定する外部処理用オフセット設定手段を備え、階層型キャッシュライン重複判定手段が、キャッシュのラインが不足時には、コーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出することにより、コーナーターン処理以外の処理で発生するキャッシュラインの不足も考慮し、実行性能が最適となるオフセット量を選択して、画像ブロック単位のコーナーターン処理を実行できるという効果がある。
【0143】
この発明によれば、キャッシュライン重複判定手段又は階層型キャッシュライン重複判定手段により算出されたオフセット量と、外部処理用オフセット設定手段に設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、コーナーターン処理以外の処理へ処理範囲や方向を画像処理プログラムに指示する外部処理用実行範囲制御手段を備えたことにより、算出したオフセット量を基準に、コーナーターン処理以外の処理へもキャッシュ・ライン・セットの重複を抑え、実行効率の良いキャッシュアクセスを実現する処理範囲や方向を指示することができるという効果がある。
【0144】
この発明によれば、画像情報とキャッシュ情報を入手し画像ブロック情報を算出するメモリ割付手段と、画像情報、キャッシュ情報、及び算出された画像ブロック情報に基づき、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定するキャッシュライン重複判定手段と、判定の結果、キャッシュのラインが不足時には、画像情報、キャッシュ情報、及び算出された画像ブロック情報に基づき、キャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求めるオフセット実測手段と、求められた最適のオフセット量の領域を処理対象の画像領域に追加するオフセット追加手段とを備え、メモリ割付手段が、プロセッサの個数情報を入手し、各プロセッサがコーナーターン処理を実行するように共有メモリの対象領域を割り付けることにより、キャッシュのラインの不足時に、実行性能が最適となるオフセット量を選択して、画像ブロック単位のコーナーターン処理を実行できるという効果がある。
【0145】
この発明によれば、画像情報とキャッシュ情報を入手し画像ブロック情報を算出するメモリ割付手段と、画像情報、キャッシュ情報、及び算出された画像ブロック情報に基づき、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定する階層型キャッシュライン重複判定手段と、判定の結果、キャッシュのラインが不足時には、画像情報、キャッシュ情報、及び算出された画像ブロック情報に基づき、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求めるオフセット実測手段と、求められた最適のオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段とを備え、メモリ割付手段が、プロセッサの個数情報を入手し、算出した画像ブロック単位で、各プロセッサがコーナーターン処理を実行するように共有メモリの対象領域を割り付けることにより、キャッシュのラインの不足時に、実行性能が最適となるオフセット量を選択して、画像ブロック単位のコーナーターン処理を実行できるという効果がある。
【0146】
この発明によれば、オフセット実測手段により求められた最適のオフセット量と、最適のオフセット量を求めたときのキャッシュ情報及び画像情報等の入力パラメータを記録する実測値記録手段を備え、キャッシュのラインが不足時には、オフセット実測手段が、記録されている入力パラメータと最適のオフセット量を参照して、最適のオフセット量を求めることにより、キャッシュのラインの不足時に、実行性能が最適となるオフセット量を効率良く求めることができるという効果がある。
【0147】
この発明によれば、入手した画像情報とキャッシュ情報により画像ブロック情報を算出し、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定し、キャッシュのラインの不足を解消するサイズのオフセット量を算出し、算出されたオフセット量の領域を、処理対象の画像領域に追加し、プロセッサの個数情報を入手し、各プロセッサがコーナーターン処理を実行するように共有メモリの対象領域を割り付けることにより、特定のキャッシュ・ライン・セットへの集中アクセスを解消し、キャッシュの利用効率を改善できるという効果がある。
【0148】
この発明によれば、キャッシュのラインが不足時には、設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュのラインの不足を解消するサイズのオフセット量を算出することにより、コーナーターン処理以外の処理で発生するキャッシュラインの不足も考慮して、実行性能が最適となるオフセット量を選択して、画像ブロック単位のコーナーターン処理を実行できるという効果がある。
【0149】
この発明によれば、入手した画像情報とキャッシュ情報により画像ブロック情報を算出し、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定し、キャッシュのラインが不足時には、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出し、算出されたオフセット量の領域を、処理対象の画像領域に追加し、プロセッサの個数情報を入手し、各プロセッサがコーナーターン処理を実行するように共有メモリの対象領域を割り付けることにより、階層構造のキャッシュにおいても、特定のキャッシュ・ライン・セットへの集中アクセスを解消し、キャッシュの利用効率を改善できるという効果がある。
【0150】
この発明によれば、キャッシュのラインが不足時には、設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出することにより、コーナーターン処理以外の処理で発生するキャッシュラインの不足も考慮し、実行性能が最適となるオフセット量を選択して、画像ブロック単位のコーナーターン処理を実行できるという効果がある。
【0151】
この発明によれば、算出されたオフセット量と、設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、コーナーターン処理以外の処理へ処理範囲や方向を、コーナーターン処理を含む画像の再生処理を実行する画像処理プログラムに指示することにより、算出したオフセット量を基準に、コーナーターン処理以外の処理へもキャッシュ・ライン・セットの重複を抑え、実行効率の良いキャッシュアクセスを実現する処理範囲や方向を指示することができるという効果がある。
【0152】
この発明によれば、入手した画像情報とキャッシュ情報により画像ブロック情報を算出し、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定し、判定の結果、キャッシュのラインが不足時には、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、キャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求め、求められた最適のオフセット量の領域を、処理対象の画像領域に追加し、プロセッサの個数情報を入手し、各プロセッサがコーナーターン処理を実行するように共有メモリの対象領域を割り付けることにより、キャッシュのラインの不足時に、実行性能が最適となるオフセット量を選択して、画像ブロック単位のコーナーターン処理を実行できるという効果がある。
【0153】
この発明によれば、入手した画像情報とキャッシュ情報により画像ブロック情報を算出し、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定し、判定の結果、キャッシュのラインが不足時には、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求め、求められた最適のオフセット量の領域を、処理対象の画像領域に追加し、プロセッサの個数情報を入手し、各プロセッサがコーナーターン処理を実行するように共有メモリの対象領域を割り付けることにより、階層構造のキャッシュにおいても、キャッシュのラインの不足時に、実行性能が最適となるオフセット量を選択して、画像ブロック単位のコーナーターン処理を実行できるという効果がある。
【0154】
この発明によれば、求められた最適のオフセット量と、最適のオフセット量を求めたときのキャッシュ情報及び画像情報等の入力パラメータを記録し、キャッシュのラインが不足時には、記録されている入力パラメータと最適のオフセット量を参照して、最適のオフセット量を求めることにより、キャッシュのラインの不足時に、実行性能が最適となるオフセット量を効率良く求めることができるという効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による並列画像処理装置の構成を示すブロック図である。
【図2】 この発明の実施の形態1による並列画像処理装置におけるキャッシュライン重複判定手段の処理を示すフローチャートである。
【図3】 この発明の実施の形態1による並列画像処理装置におけるオフセット量追加前後の画像処理領域を説明する図である。
【図4】 この発明の実施の形態1による並列画像処理装置におけるオフセットを追加後のコーナーターン処理でのキャッシュアクセスの概要を示す図である。
【図5】 この発明の実施の形態2による並列画像処理装置の構成を示すブロック図である。
【図6】 この発明の実施の形態2による並列画像処理装置における階層型キャッシュライン重複判定手段の全体の処理を示すフローチャートである。
【図7】 この発明の実施の形態2による並列画像処理装置における階層型キャッシュライン重複判定手段の各キャッシュ階層毎のキャッシュラインの過不足判定処理を示すフローチャートである。
【図8】 この発明の実施の形態2による並列画像処理装置におけるコーナーターン処理の概要を示す図である。
【図9】 この発明の実施の形態3による並列画像処理装置の構成を示すブロック図である。
【図10】 この発明の実施の形態4による並列画像処理装置の構成を示すブロック図である。
【図11】 この発明の実施の形態5による並列画像処理装置の構成を示すブロック図である。
【図12】 この発明の実施の形態6による並列画像処理装置の構成を示すブロック図である。
【図13】 従来の並列画像処理装置の構成を示すブロック図である。
【図14】 従来の並列画像処理装置におけるメモリ割付手段の処理を示すフローチャートである。
【図15】 従来の並列画像処理装置におけるキャッシュアクセスの概念を示す図である。
【図16】 従来の並列画像処理装置におけるキャッシュの各ラインへのデータの読み込み方法を示す図である。
【図17】 従来の並列画像処理装置におけるコーナーターン処理の概要を示す図である。
【符号の説明】
1 画像処理プログラム、2 プラットホーム、3 並列画像処理装置、11画像情報設定手段、12 使用プロセッサ数設定手段、13 キャッシュ情報設定手段、14 メモリ割付手段、21 キャッシュライン重複判定手段、22オフセット追加手段、23 階層型キャッシュライン重複判定手段、24 オフセット実測手段、25 実測値記録手段、26 外部処理用オフセット設定手段、27 外部処理用実行範囲制御手段。
Claims (16)
- 複数のプロセッサと共有メモリを含むプラットホーム上で動作し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する画像処理プログラムに上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示する並列画像処理装置において、
処理対象の画像サイズや各画素のデータサイズ等の画像情報を設定している画像情報設定手段と、
画像処理で使用する上記プロセッサの個数情報を設定している使用プロセッサ数設定手段と、
上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を設定しているキャッシュ情報設定手段と、
上記画像情報設定手段に設定されている画像情報、及び上記キャッシュ情報設定手段に設定されているキャッシュ情報を入手し、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出するメモリ割付手段と、
上記画像情報設定手段に設定されている画像情報、上記キャッシュ情報設定手段に設定されているキャッシュ情報、及び上記メモリ割付手段により算出された画像ブロック情報に基づき、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定し、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時にはキャッシュのラインの不足を解消するサイズのオフセット量を算出するキャッシュライン重複判定手段と、
上記キャッシュライン重複判定手段により算出されたオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段とを備え、
上記メモリ割付手段が、上記使用プロセッサ数設定手段に設定されているプロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付ける
ことを特徴とする並列画像処理装置。 - コーナーターン処理以外の処理に対するオフセット量についての要求を設定する外部処理用オフセット設定手段を備え、
キャッシュライン重複判定手段が、キャッシュのラインが不足時には、上記外部処理用オフセット設定手段に設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュのラインの不足を解消するサイズのオフセット量を算出する
ことを特徴とする請求項1記載の並列画像処理装置。 - 複数のプロセッサと共有メモリを含むプラットホーム上で動作し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する画像処理プログラムに上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示する並列画像処理装置において、
処理対象の画像サイズや各画素のデータサイズ等の画像情報を設定している画像情報設定手段と、
画像処理で使用する上記プロセッサの個数情報を設定している使用プロセッサ数設定手段と、
上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を設定しているキャッシュ情報設定手段と、
上記画像情報設定手段に設定されている画像情報、及び上記キャッシュ情報設定手段に設定されているキャッシュ情報を入手し、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出するメモリ割付手段と、
上記画像情報設定手段に設定されている画像情報、上記キャッシュ情報設定手段に設定されているキャッシュ情報、及び上記メモリ割付手段により算出された画像ブロック情報に基づき、キャッシュの各階層において、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定し、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時には、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出する階層型キャッシュライン重複判定手段と、
上記階層型キャッシュライン重複判定手段により算出されたオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段とを備え、
上記メモリ割付手段が、上記使用プロセッサ数設定手段に設定されているプロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付ける
ことを特徴とする並列画像処理装置。 - コーナーターン処理以外の処理に対するオフセット量についての要求を設定する外部処理用オフセット設定手段を備え、
階層型キャッシュライン重複判定手段が、キャッシュのラインが不足時には、上記外部処理用オフセット設定手段に設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出する
ことを特徴とする請求項3記載の並列画像処理装置。 - キャッシュライン重複判定手段又は階層型キャッシュライン重複判定手段により算出されたオフセット量と、外部処理用オフセット設定手段に設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、コーナーターン処理以外の処理へ処理範囲や方向を画像処理プログラムに指示する外部処理用実行範囲制御手段を
備えたことを特徴とする請求項2又は請求項4記載の並列画像処理装置。 - 複数のプロセッサと共有メモリを含むプラットホーム上で動作し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する画像処理プログラムに上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示する並列画像処理装置において、
処理対象の画像サイズや各画素のデータサイズ等の画像情報を設定している画像情報設定手段と、
画像処理で使用する上記プロセッサの個数情報を設定している使用プロセッサ数設定手段と、
上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を設定しているキャッシュ情報設定手段と、
上記画像情報設定手段に設定されている画像情報、及び上記キャッシュ情報設定手段に設定されているキャッシュ情報を入手し、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出するメモリ割付手段と、
上記画像情報設定手段に設定されている画像情報、上記キャッシュ情報設定手段に設定されているキャッシュ情報、及び上記メモリ割付手段により算出された画像ブロック情報に基づき、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定するキャッシュライン重複判定手段と、
上記キャッシュライン重複判定手段による判定の結果、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時には、上記画像情報設定手段に設定されている画像情報、上記キャッシュ情報設定手段に設定されているキャッシュ情報、及び上記メモリ割付手段により算出された画像ブロック情報に基づき、キャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求めるオフセット実測手段と、
上記オフセット実測手段により求められた最適のオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段とを備え、
上記メモリ割付手段が、上記使用プロセッサ数設定手段に設定されているプロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付ける
ことを特徴とする並列画像処理装置。 - 複数のプロセッサと共有メモリを含むプラットホーム上で動作し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する画像処理プログラムに上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示する並列画像処理装置において、
処理対象の画像サイズや各画素のデータサイズ等の画像情報を設定している画像情報設定手段と、
画像処理で使用する上記プロセッサの個数情報を設定している使用プロセッサ数設定手段と、
上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を設定しているキャッシュ情報設定手段と、
上記画像情報設定手段に設定されている画像情報、及び上記キャッシュ情報設定手段に設定されているキャッシュ情報を入手し、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出するメモリ割付手段と、
上記画像情報設定手段に設定されている画像情報、上記キャッシュ情報設定手段に設定されているキャッシュ情報、及び上記メモリ割付手段により算出された画像ブロック情報に基づき、キャッシュの各階層において、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・ セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定する階層型キャッシュライン重複判定手段と、
上記階層型キャッシュライン重複判定手段による判定の結果、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時には、上記画像情報設定手段に設定されている画像情報、上記キャッシュ情報設定手段に設定されているキャッシュ情報、及び上記メモリ割付手段により算出された画像ブロック情報に基づき、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求めるオフセット実測手段と、
上記オフセット実測手段により求められた最適のオフセット量の領域を、処理対象の画像領域に追加するオフセット追加手段とを備え、
上記メモリ割付手段が、上記使用プロセッサ数設定手段に設定されているプロセッサの個数情報を入手し、算出した画像ブロック単位で、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付ける
ことを特徴とする並列画像処理装置。 - オフセット実測手段により求められた最適のオフセット量と、最適のオフセット量を求めたときのキャッシュ情報及び画像情報等の入力パラメータを記録する実測値記録手段を備え、
キャッシュのラインが不足時には、オフセット実測手段が、上記実測値記録手段に記録されている入力パラメータと最適のオフセット量を参照して、最適のオフセット量を求める
ことを特徴とする請求項6又は請求項7記載の並列画像処理装置。 - 複数のプロセッサと共有メモリを使用し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する際に、上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示する並列画像処理方法において、
処理対象の画像サイズや各画素のデータサイズ等の画像情報を入手し、
上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を入手し、
入手した画像情報とキャッシュ情報により、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出し、
入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定し、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時にはキャッシュのラインの不足を解消するサイズのオフセット量を算出し、
算出されたオフセット量の領域を、処理対象の画像領域に追加し、
画像処理で使用する上記プロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付ける
ことを特徴とする並列画像処理方法。 - キャッシュのラインが不足時には、設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュのラインの不足を解消するサイズのオフセット量を算出する
ことを特徴とする請求項9記載の並列画像処理方法。 - 複数のプロセッサと共有メモリを使用し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する際に、上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示する並列画像処理方法において、
処理対象の画像サイズや各画素のデータサイズ等の画像情報を入手し、
上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を入手し、
入手した画像情報とキャッシュ情報により、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出し、
入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、キャッシュの各階層において、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定し、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時には、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出し、
算出されたオフセット量の領域を、処理対象の画像領域に追加し、
画像処理で使用する上記プロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付ける
ことを特徴とする並列画像処理方法。 - キャッシュのラインが不足時には、設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズのオフセット量を算出する
ことを特徴とする請求項11記載の並列画像処理方法。 - 算出されたオフセット量と、設定されているコーナーターン処理以外の処理に対するオフセット量についての要求を参照して、コーナーターン処理以外の処理へ処理範囲や方向を、コーナーターン処理を含む画像の再生処理を実行する画像処理プログラムに指示する
ことを特徴とする請求項10又は請求項12記載の並列画像処理方法。 - 複数のプロセッサと共有メモリを使用し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する際に、上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示する並列画像処理方法において、
処理対象の画像サイズや各画素のデータサイズ等の画像情報を入手し、
上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を入手し、
入手した画像情報とキャッシュ情報により、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出し、
入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、同じ キャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足を判定し、
判定の結果、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時には、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、キャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求め、
求められた最適のオフセット量の領域を、処理対象の画像領域に追加し、
画像処理で使用する上記プロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付ける
ことを特徴とする並列画像処理方法。 - 複数のプロセッサと共有メモリを使用し、画像の行方向と列方向の並びを転置するコーナーターン処理を含む画像の再生処理を実行する際に、上記複数のプロセッサへの上記共有メモリの対象領域の割り付けを指示する並列画像処理方法において、
処理対象の画像サイズや各画素のデータサイズ等の画像情報を入手し、
上記各プロセッサに搭載されているキャッシュの構成やラインサイズ等のキャッシュ情報を入手し、
入手した画像情報とキャッシュ情報により、キャッシュのラインサイズを一辺とする正方形の画像ブロックと、この画像ブロックが使用するキャッシュのライン数からなる画像ブロック情報を算出し、
入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、キャッシュの各階層において、同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔を算出し、算出した同じキャッシュ・ライン・セットを使用する共有メモリ領域の間隔から、画像ブロック単位のコーナーターン処理で、同じキャッシュ・ライン・セットを使用するか否かを判定し、コーナーターン処理を実行するときに、最大でいくつ同じキャッシュ・ライン・セットを使用するかの最大キャッシュ・ライン・セット重複数を算出し、算出した最大キャッシュ・ライン・セット重複数と、1つのキャッシュ・ライン・セットあたりで使用可能なキャッシュラインの数を示すキャッシュ・ライン・セット利用可能ライン数を比較することにより、各画像ブロック単位のコーナーターン処理でのキャッシュのラインの過不足をキャッシュの各階層間に跨って判定し、
判定の結果、上記最大キャッシュ・ライン・セット重複数が上記キャッシュ・ライン・セット利用可能ライン数より大きく、キャッシュのラインが不足時には、入手した画像情報とキャッシュ情報、及び算出された画像ブロック情報に基づき、キャッシュの各階層でのキャッシュのラインの不足を解消するサイズの種々のオフセット量を算出し、算出した種々のオフセット量に対する実行時間を計測することにより、最短の実行時間となる最適のオフセット量を求め、
求められた最適のオフセット量の領域を、処理対象の画像領域に追加し、
画像処理で使用する上記プロセッサの個数情報を入手し、上記各プロセッサが上記コーナーターン処理を実行するように上記共有メモリの対象領域を割り付ける
ことを特徴とする並列画像処理方法。 - 求められた最適のオフセット量と、最適のオフセット量を求めたときのキャッシュ情報及び画像情報等の入力パラメータを記録し、
キャッシュのラインが不足時には、記録されている入力パラメータと最適のオフセット量を参照して、最適のオフセット量を求める
ことを特徴とする請求項14又は請求項15記載の並列画像処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001024409A JP3781974B2 (ja) | 2001-01-31 | 2001-01-31 | 並列画像処理装置及び並列画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001024409A JP3781974B2 (ja) | 2001-01-31 | 2001-01-31 | 並列画像処理装置及び並列画像処理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002230539A JP2002230539A (ja) | 2002-08-16 |
JP3781974B2 true JP3781974B2 (ja) | 2006-06-07 |
Family
ID=18889553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001024409A Expired - Lifetime JP3781974B2 (ja) | 2001-01-31 | 2001-01-31 | 並列画像処理装置及び並列画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3781974B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108038830A (zh) * | 2017-12-18 | 2018-05-15 | 北京理工雷科电子信息技术有限公司 | 软件cache技术用于SAR图像几何校正的方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4529501B2 (ja) * | 2004-03-18 | 2010-08-25 | セイコーエプソン株式会社 | プリンタ、画像印刷システムおよび印刷方法 |
JP4757005B2 (ja) * | 2005-12-05 | 2011-08-24 | キヤノン株式会社 | 画像処理装置及び画像処理方法 |
-
2001
- 2001-01-31 JP JP2001024409A patent/JP3781974B2/ja not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108038830A (zh) * | 2017-12-18 | 2018-05-15 | 北京理工雷科电子信息技术有限公司 | 软件cache技术用于SAR图像几何校正的方法 |
CN108038830B (zh) * | 2017-12-18 | 2021-05-07 | 北京理工雷科电子信息技术有限公司 | 软件cache技术用于SAR图像几何校正的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2002230539A (ja) | 2002-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134514B (zh) | 基于异构内存的可扩展内存对象存储系统 | |
US5884077A (en) | Information processing system and method in which computer with high load borrows processor of computer with low load to execute process | |
US5349656A (en) | Task scheduling method in a multiprocessor system where task selection is determined by processor identification and evaluation information | |
US9218285B2 (en) | Variable mapping of memory accesses to regions within a memory | |
US6125430A (en) | Virtual memory allocation in a virtual address space having an inaccessible gap | |
CN101727331B (zh) | 升级活动虚拟机的客户操作系统的方法和设备 | |
US7577815B2 (en) | Apparatus and method for reallocating logical to physical disk devices using a storage controller, with access frequency and sequential access ratio calculations and display | |
JP3942807B2 (ja) | ブロックアラインメント機能付き半導体記憶装置 | |
JP3358655B2 (ja) | ディスクアレイ装置におけるキャッシュメモリ管理方法 | |
US6430656B1 (en) | Cache and management method using combined software and hardware congruence class selectors | |
US5873127A (en) | Universal PTE backlinks for page table accesses | |
US20080046487A1 (en) | Data processing system and method with data sharing for the same | |
CN103383653A (zh) | 云资源管理和调度方法及系统 | |
WO2024119763A1 (zh) | 一种容器集群算力调度方法及相关装置 | |
WO2013011624A1 (ja) | 仮想マシン管理システム及び仮想マシン管理方法 | |
CN113535330A (zh) | 一种基于节点评价函数的超融合系统数据本地化存储方法 | |
JP3781974B2 (ja) | 並列画像処理装置及び並列画像処理方法 | |
JP2001282617A (ja) | 共有されたキャッシュを動的に区分するための方法及びシステム | |
US20050257010A1 (en) | Method and system for migrating memory segments | |
US20030014595A1 (en) | Cache apparatus and cache method | |
WO2005015388A2 (en) | Method and computer system for accessing thread private data | |
CN116302327A (zh) | 资源调度方法及相关设备 | |
JPH1165862A (ja) | マルチプロセッサ資源分割管理方式 | |
JP5293611B2 (ja) | メモリ再配置システム | |
CN113626138A (zh) | 一种应用程序访问方法和相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060117 |
|
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: 20060207 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060308 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3781974 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100317 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110317 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120317 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130317 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130317 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140317 Year of fee payment: 8 |
|
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 |
|
EXPY | Cancellation because of completion of term |