Top > Search of Japanese Patents > PROGRAM, AND INFORMATION PROCESSOR

PROGRAM, AND INFORMATION PROCESSOR

Patent code P150011509
File No. S2013-1064-N0
Posted date Mar 6, 2015
Application number P2013-144661
Publication number P2015-018379A
Patent number P6265462
Date of filing Jul 10, 2013
Date of publication of application Jan 29, 2015
Date of registration Jan 5, 2018
Inventor
  • (In Japanese)山際 伸一
Applicant
  • (In Japanese)国立大学法人筑波大学
Title PROGRAM, AND INFORMATION PROCESSOR
Abstract PROBLEM TO BE SOLVED: To provide a technology capable of shortening a processing time by avoiding data exchange that occurs in each program.
SOLUTION: A processor sets a program in a storage device together with data through a peripheral bus, and the program is executed by an accelerator connected to the storage device. The program includes a plurality of component programs, and the data includes at least scenario data showing an execution sequence of the component programs, input data to the first component program to be executed among the plurality of component programs, and an initial value of a scenario index, and makes the accelerator execute at least processing for specifying a component program to be executed according to the initial value of the scenario index, arithmetic processing following the specified component program, processing for incrementing a value of the scenario index, and processing for specifying the next component program in accordance with the incremented value of the scenario index.
Outline of related art and contending technology (In Japanese)

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

近年、ストリームコンピューティングを実現するためのアクセラレータ技術が急速に発達している。代表的なアクセラレータの一つに、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をメインプロセッサとした場合のコプロセッサとして機能する。

Field of industrial application (In Japanese)

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

Scope of claims (In Japanese)
【請求項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(International Patent Classification)
F-term
Drawing

※Click image to enlarge.

JP2013144661thum.jpg
State of application right Registered
Please contact us by E-mail or facsimile if you have any interests on this patent.


PAGE TOP

close
close
close
close
close
close
close