TOP > 国内特許検索 > アクセラレータ処理実行装置、及びアクセラレータ処理実行プログラム

アクセラレータ処理実行装置、及びアクセラレータ処理実行プログラム

国内特許コード P150011458
整理番号 S2013-1015-N0
掲載日 2015年2月27日
出願番号 特願2013-109741
公開番号 特開2014-229173
登録番号 特許第6120276号
出願日 平成25年5月24日(2013.5.24)
公開日 平成26年12月8日(2014.12.8)
登録日 平成29年4月7日(2017.4.7)
発明者
  • 山際 伸一
出願人
  • 国立大学法人 筑波大学
発明の名称 アクセラレータ処理実行装置、及びアクセラレータ処理実行プログラム
発明の概要 【課題】アクセラレータを用いるアプリケーションを開発するプログラマのプログラム生産性を向上させる。
【解決手段】アクセラレータ処理実行装置1は、CPU10と、記憶部20と、アクセラレータプログラムを実行するアクセラレータ30と、を備え、CPU10は、アクセラレータに関する処理の実行を制御する実行制御部40を有し、実行制御部40は、アクセラレータプログラムと、アクセラレータプログラムの出力データ毎にアクセラレータ側メモリ32に確保される出力バッファ32bと記憶部20における出力先とを対応付ける出力データ対応情報と、を含む実行情報を所定の形式で記述した実行形式を入力する実行形式入力部41と、アクセラレータに関する処理の手順を決定するために実行形式とは別に予め定められている規則と実行情報とに基づいて決定した処理手順を実行する処理手順実行部42と、を有する。
【選択図】図1
従来技術、競合技術の概要



GPU(GraphicsProcessing Unit)がもつ潜在的な超並列性を生かした計算技法が2006年くらいから市場に台頭するようになり、GPUを使ったハイパフォーマンスコンピューティング分野が急速に発達している。最近では、GPUがCPU(Central Processing Unit:中央処理装置)の周辺デバイスとして動作するアーキテクチャモデルに基づいて、CPUで動作するホストプログラム(CPU側プログラム)が、GPUをアクセラレータハードウェアとして扱い、アクセラレータに実行させるアクセラレータ側プログラムをCPU側からアクセラレータ側に送信(ダウンロード)し、アクセラレータに実行させるプログラミングスタイルが定着している。このアクセラレータ側プログラムは、GPUハードウェアのアーキテクチャの超並列性を引出すためにデータはストリームで提供されるといった理念に基づき、設計されている。





アクセラレータにアクセラレータ側プログラムを実行させるためのプラットフォームとして、本発明者らが開発したプラットフォームが知られている(下記非特許文献1参照)。

産業上の利用分野



本発明は、特にCPUに接続されたアクセラレータハードウェアに処理を実行させるアクセラレータ処理実行装置、及びアクセラレータ処理実行プログラムに関する。

特許請求の範囲 【請求項1】
CPUと、
前記CPUに接続され、データを記憶する第1の記憶手段と、
前記CPUに接続され、前記第1の記憶手段とは異なる、データを記憶する第2の記憶手段を有し、アクセラレータプログラムを実行するアクセラレータと、を備え、
前記CPUは、前記アクセラレータに関する処理の実行を制御する実行制御手段を有し、
前記実行制御手段は、
前記アクセラレータプログラムと、前記アクセラレータプログラムが実行されて出力される出力データ毎に前記第2の記憶手段に確保される出力バッファと前記第1の記憶手段における出力先とを対応付ける出力データ対応情報と、を含む実行情報を所定の形式で記述した実行形式を入力する実行形式入力手段と、
前記アクセラレータに関する処理の手順を決定するために前記実行形式とは別に予め定められている規則と前記実行情報とに基づいて決定した処理手順を実行する処理手順実行手段と、を有し、
前記処理手順実行手段は、
前記アクセラレータに前記アクセラレータプログラムを送信するプログラム送信処理と、
前記第2の記憶手段に前記出力バッファを確保する出力バッファ確保処理と、
前記プログラム送信処理及び前記出力バッファ確保処理よりも後に、前記アクセラレータに前記アクセラレータプログラムを実行させるプログラム実行処理と、
前記プログラム実行処理により前記出力バッファに出力された前記出力データを、当該出力バッファに対応する前記第1の記憶手段における出力先に送信する出力データ送信処理と、を実行する、
アクセラレータ処理実行装置。

【請求項2】
前記実行情報には、前記アクセラレータプログラムに対する入力データ毎に前記第1の記憶手段における記憶場所と前記第2の記憶手段に確保される入力バッファとを対応付ける入力データ対応情報が含まれ、
前記処理手順実行手段は、
前記プログラム実行処理よりも前に、前記第2の記憶手段に前記入力バッファを確保する入力バッファ確保処理と、
前記入力バッファ確保処理よりも後に、前記記憶場所に記憶されている前記入力データを、当該記憶場所に対応する前記入力バッファに送信する入力データ送信処理と、を更に実行し、
前記処理手順実行手段は、前記入力データ送信処理よりも後に前記プログラム実行処理を実行する、
請求項1記載のアクセラレータ処理実行装置。

【請求項3】
前記入力データ対応情報に含まれる前記第1の記憶手段における記憶場所、又は前記出力データ対応情報に含まれる前記第1の記憶手段における出力先として、メモリ上の共有領域が指定される、
請求項2記載のアクセラレータ処理実行装置。

【請求項4】
前記実行情報には、前記入力バッファ及び前記出力バッファの組み合わせと入替回数とを示すスワップ情報が含まれ、
前記処理手順実行手段は、前記プログラム実行処理において、前記アクセラレータプログラムの1回の実行が完了する毎に前記入力バッファと前記出力バッファとを前記組み合わせに基づいて入れ替えた後に前記アクセラレータプログラムを実行する処理を、前記入替回数だけ繰り返す、
請求項2又は3記載のアクセラレータ処理実行装置。

【請求項5】
CPUと、
前記CPUに接続され、データを記憶する第1の記憶手段と、
前記CPUに接続され、前記第1の記憶手段とは異なる、データを記憶する第2の記憶手段を有し、アクセラレータプログラムを実行するアクセラレータと、を備えるコンピュータに、
前記アクセラレータに関する処理の実行を制御する実行制御手段を実現させるためのアクセラレータ処理実行プログラムであって、
前記実行制御手段は、
前記アクセラレータプログラムと、前記アクセラレータプログラムが実行されて出力される出力データ毎に前記第2の記憶手段に確保される出力バッファと前記第1の記憶手段における出力先とを対応付ける出力データ対応情報と、を含む実行情報を所定の形式で記述した実行形式を入力する実行形式入力手段と、
前記アクセラレータに関する処理の手順を決定するために前記実行形式とは別に予め定められている規則と前記実行情報とに基づいて決定される処理手順を実行する処理手順実行手段と、を有し、
前記処理手順実行手段は、
前記アクセラレータに前記アクセラレータプログラムを送信するプログラム送信処理と、
前記第2の記憶手段に前記出力バッファを確保する出力バッファ確保処理と、
前記プログラム送信処理及び前記出力バッファ確保処理よりも後に、前記アクセラレータに前記アクセラレータプログラムを実行させるプログラム実行処理と、
前記プログラム実行処理により前記出力バッファに出力された前記出力データを、当該出力バッファに対応する前記第1の記憶手段における出力先に送信する出力データ送信処理と、を実行する、
アクセラレータ処理実行プログラム。
国際特許分類(IPC)
Fターム
画像

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

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


PAGE TOP

close
close
close
close
close
close
close