TOP > 国内特許検索 > プログラム、及び情報処理装置

プログラム、及び情報処理装置

国内特許コード P150011509
整理番号 S2013-1064-N0
掲載日 2015年3月6日
出願番号 特願2013-144661
公開番号 特開2015-018379
登録番号 特許第6265462号
出願日 平成25年7月10日(2013.7.10)
公開日 平成27年1月29日(2015.1.29)
登録日 平成30年1月5日(2018.1.5)
発明者
  • 山際 伸一
出願人
  • 国立大学法人 筑波大学
発明の名称 プログラム、及び情報処理装置
発明の概要 【課題】プログラム毎に生じるデータのやりとりを回避して処理の時間短縮を図ることを可能とする技術を提供する。
【解決手段】プロセッサが周辺バスを介してデータとともに記憶装置に設定し、当該記憶装置に接続されたアクセラレータによって実行されるプログラムであって、プログラムは、複数の部品プログラムを含み、データは、少なくとも、前記部品プログラムの実行順序を示すシナリオデータと、前記複数の部品プログラムのうち最初に実行される部品プログラムに対する入力データと、シナリオインデックスの初期値とを含み、アクセラレータに、シナリオインデックスの初期値に従って実行すべき部品プログラムを特定する処理と、特定した部品プログラムに従った演算処理と、シナリオインデックスの値をインクリメントする処理と、インクリメントされたシナリオインデックスの値に応じて次の部品プログラムを特定する処理と、を少なくとも実行させる。
【選択図】図4
従来技術、競合技術の概要



現在、ネットワークには、様々なセンサ及びデバイスが接続され、これらのセンサ及びデバイスから刻々と出力されるデータがネットワーク上でデータストリームを形成する。データストリームを形成するデータ(ストリームデータと呼ばれる)を滞りなく処理する(リアルタイムに処理する)手法として、ストリームコンピューティングがある。





近年、ストリームコンピューティングを実現するためのアクセラレータ技術が急速に発達している。代表的なアクセラレータの一つに、GPU(Graphical Processing Unit)

がある。GPUは、画像表示に必要な演算を高速で行うことを主たる目的として設計されており、制御のための計算を得意としていない。また、通常、GPU自体は、通常OS(Operating System)で行われるようなリソース管理を行っていない。このため、ストリームコンピューティングのためにGPUが適用される場合には、以下のような手法の採用が一般的である。





すなわち、GPUは、CPU(Central Processing Unit)を搭載したコンピュータ(

情報処理装置、例えば、パーソナルコンピュータ、ワークステーションのような専用又は汎用のコンピュータ)に備えられた周辺バスに接続される。GPUが目的の計算を行うに当たっては、CPUがGPU用のプログラムのダウンロード(GPUへのプログラムの提供:プログラムマッピングともいう)と入出力データに係る設定(I/Oセットアップ)を行う。そして、CPUがGPUにダウンロードされたプログラムの実行を指示する。GPUは、指示に従ってプログラムの実行を開始し、目的の計算を行う。このようなハードウェア構成では、GPUは、CPUをメインプロセッサとした場合のコプロセッサとして機能する。

産業上の利用分野



本発明は、プログラム、及び情報処理装置に関する。

特許請求の範囲 【請求項1】
プロセッサが周辺バスを介してデータとともに記憶装置に設定し、当該記憶装置に接続されたアクセラレータによって実行されるプログラムであって、
前記プログラムは、複数の部品プログラムを含む統合プログラムであり、前記データは、少なくとも、前記複数の部品プログラムの実行順序を示すシナリオデータと、前記複数の部品プログラムのうち最初に実行される部品プログラムに対する入力データと、シナリオインデックスの初期値とを含み、
前記アクセラレータに、前記シナリオインデックスの初期値及び前記シナリオデータに従って実行すべき部品プログラムを特定する処理と、特定した部品プログラムに対応する前記記憶装置の入力アドレスからデータを読み出して前記特定した部品プログラムに従った演算を行い、前記演算によって得られた出力データを前記記憶装置の出力アドレスに書き込む処理と、前記シナリオインデックスの値をインクリメントする処理と、インクリメントされたシナリオインデックスの値及び前記シナリオデータに従って次に実行する部品プログラムを特定する処理と、前記出力データを記憶している前記出力アドレスを前記次に実行する部品プログラムの実行に用いる入力データを記憶している前記記憶装置の入力アドレスに変換する処理と、を少なくとも実行させるプログラム。

【請求項2】
前記プログラムは、前記特定した部品プログラムの前記出力データが前記次に実行する部品プログラムの前記入力データとなる場合に前記出力データと前記入力データとをペアとする定義を含み、
前記アクセラレータに、前記特定した部品プログラムの実行終了時に、前記出力データの記憶アドレスである前記出力アドレスと前記出力データとペアをなす前記入力データの記憶アドレスである前記入力アドレスとを交換する処理を実行させる、
請求項1に記載のプログラム。

【請求項3】
前記シナリオインデックスの初期値が記憶される第1インデックスアドレスと、インクリメントされたシナリオインデックスの値が記憶される第2インデックスアドレスとをペアとする定義をさらに含み、
前記複数のプログラムの実行が前記複数の部品プログラム中の第1の部品プログラムの所定回数の繰り返し処理を含む場合に、前記アクセラレータに、前記第1の部品プログラムのそれぞれの実行が終了するごとに、前記第1インデックスアドレスと前記第2インデ
ックスアドレスとを交換する処理を前記所定回数に応じて実行させる、
請求項1又は2に記載のプログラム。

【請求項4】
プロセッサと、
前記プロセッサと周辺バスを介して接続される記憶装置と、
前記記憶装置に接続され、前記プロセッサによって前記記憶装置に設定されたプログラム及びデータを用いて所定の処理を行うアクセラレータとを含み、
前記プログラムは、前記所定の処理にて実行される複数の演算を行うための複数の部品プログラムを含む統合プログラムであり、前記データは、少なくとも、前記複数の部品プログラムの実行順序を示すシナリオデータと、前記複数の部品プログラムのうち最初に実行される部品プログラムに対する入力データと、シナリオインデックスの初期値とを含み、
前記アクセラレータは、前記シナリオインデックスの初期値及び前記シナリオデータに従って実行すべき部品プログラムを特定する処理と、特定した部品プログラムに対応する前記記憶装置の入力アドレスからデータを読み出して前記特定した部品プログラムに従った演算を行い、前記演算によって得られた出力データを前記記憶装置の出力アドレスに書き込む処理と、前記シナリオインデックスの値をインクリメントする処理と、インクリメントされたシナリオインデックスの値及び前記シナリオデータに従って次に実行する部品プログラムを特定する処理と、前記出力データを記憶している前記出力アドレスを前記次に実行する部品プログラムの実行に用いる入力データを記憶している前記記憶装置の入力アドレスに変換する処理と、を少なくとも実行する
情報処理装置。

【請求項5】
前記プログラムは、前記特定した部品プログラムの前記出力データが前記次に実行する部品プログラムの入力データとなる場合に前記出力データと前記入力データとをペアとする定義を含み、
前記アクセラレータは、前記特定した部品プログラムの実行終了時に、前記出力データの記憶アドレスである前記出力アドレスと前記出力データとペアをなす前記入力データの記憶アドレスである前記入力アドレスとを交換する処理を実行する、
請求項4に記載の情報処理装置。

【請求項6】
前記シナリオインデックスの初期値が記憶される第1インデックスアドレスと、インクリメントされたシナリオインデックスの値が記憶される第2インデックスアドレスとをペアとする定義をさらに含み、
前記アクセラレータは、前記複数のプログラムの実行が前記複数の部品プログラム中の第1の部品プログラムの所定回数の繰り返し処理を含む場合に、前記第1の部品プログラムのそれぞれの実行が終了するごとに、前記第1インデックスアドレスと前記第2インデックスアドレスとを交換する処理を前記所定回数に応じて実行させる、
請求項4又は5に記載の情報処理装置。

【請求項7】
所定順序で直列に実行される複数のプログラムが統合された統合プログラムの生成処理をコンピュータに実行させるプログラムであって、
ログラム間に振られた或るプログラムから次のプログラムへの遷移を示す番号毎に、前記るプログラムからの出力が前記次のプログラムの入力となる場合の出力と入力とをスワップペアとして定義するステップと
長の処理フローが得られるように番号に対応する前記或るプログラムと前記次のプログラムとの組み合わせを合成することによって前記複数のプログラムの実行順を示すシナリオを生成するステップと
ワップペアをなす入力及び出力を記憶するための記憶容量に基づいて、前記番号間のスワップペアをなす入力同士及び出力同士の合成を行うステップと
初に実行されるプログラムの入力と、いずれかのスワップペアの入力との合成、及び最後に実行されるプログラムの出力と、いずれかのスワップペアの出力との合成を、各入力及び各出力のそれぞれの記憶容量に基づいて試行するステップと、 前合成を行うステップ及び前記試行するステップの少なくとも一方で合成された入力及び出力と、前記合成を行うステップ及び前記試行するステップで合成されずに残った入力及び出力とがそれぞれ入力及び出力として定義された前記統合プログラムを定義するとともに、前記シナリオに従って実行すべきプログラムの特定に使用されるシナリオインデックスの設定を行うステップと
をコンピュータに実行させるプログラム。
国際特許分類(IPC)
Fターム
画像

※ 画像をクリックすると拡大します。

JP2013144661thum.jpg
出願権利状態 登録
この特許について質問等ある場合は、電子メールによりご連絡ください。


PAGE TOP

close
close
close
close
close
close
close