TOP > 国内特許検索 > 計算装置、プログラム、及び、記録媒体

計算装置、プログラム、及び、記録媒体 コモンズ

国内特許コード P110003105
整理番号 K019P11
掲載日 2011年6月16日
出願番号 特願2003-022792
公開番号 特開2004-234393
登録番号 特許第4696282号
出願日 平成15年1月30日(2003.1.30)
公開日 平成16年8月19日(2004.8.19)
登録日 平成23年3月11日(2011.3.11)
発明者
  • 片桐 孝洋
出願人
  • 国立研究開発法人科学技術振興機構
発明の名称 計算装置、プログラム、及び、記録媒体 コモンズ
発明の概要 【課題】コンピュータに備えられたライブラリのパラメータを精密に調整できるプログラムを提供する。
【解決手段】計算装置のパラメータ調整層4は、実行前最適化層4bを備えている。実行前最適化層4bは、インストール時最適化層4aが最適化したパラメータIOPを参照して、パラメータ調整層4に入力される、実行性能とライブラリの出力とを共に変化させるような基本情報パラメータを用いて、パラメータBEOPを最適化する。これにより、精密なパラメータ調整が可能となる。実行時最適化層4cは、実行前最適化層4bが最適化したパラメータBEOPを参照して、所望の精度が得られないときには、再び最適化を行う。
【選択図】 図1
従来技術、競合技術の概要


コンピュータのような計算装置において数値計算ライブラリなどのソフトウェアを用いる際には、ライブラリ中の所望のサブルーチンに対して、ユーザが所望の問題に応じてパラメータを指定する。その後、ユーザの指定したパラメータを用いてサブルーチンが実行され、結果が出力される。



例えば、数値計算ライブラリのサブルーチンとして、行列の固有値を計算する固有値計算サブルーチンを考える。このとき、サブルーチンに対してユーザが指定するパラメータのうちには、所望の行列の実体や、その行列のサイズなどがある。これらのパラメータは、その問題を実際に解く際に必要とされるパラメータである。



一方、パラメータのうちには、どのように設定しても問題の答えとしては同じものが得られるが、適切に設定することによって例えば数値計算に要する時間を短縮できたりするような、いわゆる最適化のためのパラメータがある。



例えば、計算装置が複数のプロセッサを備えた並列計算装置であるとき、行列計算におけるループアンローリング段数(アンローリング段数)は、最適化のためのパラメータである。



ここで、アンローリング段数とは、ループの計算において通常1に設定している、ループごとの増分を意味する。例えば、ベクトルA(i)とベクトルB(i)の和C(i)を計算する際に、アンローリング段数を2に設定した場合には、i成分の和C(i)=A(i)+B(i)とi+1成分の和C(i+1)=A(i+1)+B(i+1)とがループ内においてそれぞれ計算され、その後iを2だけ増加させる。



問題の性質や計算装置の性能(並列プロセッサの数など)に応じてアンローリング段数を調整することによって、計算装置における計算時間を最も短く(最適化)できる。



このような最適化のためのパラメータを調節して計算時間(性能)などのコストを最適なものとする調節機能を備えた計算装置が知られている。このような調整機能は通常ソフトウェア(自動チューニングソフトウェア)によって実現される。



従来の自動チューニングソフトウェアの構成方式として、ソフトウェアインストール時にパラメータ最適化を行うものがある。例えば、ソフトウェアインストール時にアンローリング段数を最適化する場合には、以下のようにする。



この場合には、解くべき問題の問題サイズなどが決まっていないため、適当にサンプリングした問題サイズごとに最適なアンローリング段数を求める。その後に、サンプリングした問題サイズごとの最適なアンローリング段数を、例えば問題サイズについて適当な補間関数によって補間する。なお、ある問題サイズにおいて最適なアンローリング段数を求める際に、例えばアンローリング段数についてもサンプリングを行い、補間関数を用いて最もコストの小さいアンローリング段数を選択してもよい。



このように、例えば適当な補間関数を用いたモデル化によって、後に選択を行う際に、問題サイズに応じた最適なアンローリング段数の推定値を得ることができる。



または、従来の自動チューニングソフトウェアの構成方式の他の一例として、ライブラリ実行時にパラメータ最適化を行うものがある。例えば、コストを変化させる大きな要因として、行列の実体のような実行時でないと確定しない要素が含まれる問題について、このようなパラメータ最適化を行う。



この場合には、ライブラリコールが行われた時点で、所望の問題サイズ、行列の実体などに対して所望のパラメータを幾つか試行して、最適なものを選択する。



なお、このようなライブラリ実行時に最適化を行う場合には、このチューニングを行う時間についてもコストとしての計算時間に含まれることに注意が必要である。すなわち、チューニングを行う時間とその後の計算時間とが、チューニングせずにパラメータを何らかの値に固定しておく場合の計算時間よりも少なくなる必要がある。



これらの従来の自動チューニングソフトウェアについては、以下の非特許文献1、非特許文献2を参照されたい。



なお、例えば日本国の公開特許公報「特開2000-276454号公報(公開日:2000年10月6日)」には、並列計算機におけるソフトウェアの実行性能を大きく左右し、かつ、ユーザインタフェースには現れないパラメータを調節してインストールを行う機能を有するソフトウェアの構成方法が記載されている。この場合には、ソフトウェアインストール時にパラメータ最適化が行われる。



【特許文献1】
特開2000-276454号公報



【非特許文献1】
片桐孝洋,他4名、「自動チューニング機構が並列数値計算ライブラリに及ぼす効果」、情報処理学会論文誌:ハイパフォーマンスコンピューティング、社団法人情報処理学会、2001年11月、第42巻、第12号(HPS4)、p.60-76



【非特許文献2】
直野健、山本有作、「単一メモリ型インタフェースを有する自動チューニング並列ライブラリの構成方法」、情報処理学会研究報告、社団法人情報処理学会、2001年7月25日、第77巻、p.25-30

産業上の利用分野


本発明は、例えばコンピュータに備えられたライブラリのパラメータの最適化を、コンピュータに実行させるためのプログラム、記録媒体およびコンピュータに関するものである。

特許請求の範囲 【請求項1】
演算性能を変化させて演算結果を変化させない性能情報パラメータと演算対象行列のサイズを示す基本情報パラメータとを参照して固有値計算を行う固有値計算手段を備えた計算装置において、上記固有値計算手段が上記固有値計算を実行する前に上記性能情報パラメータの値を最適化する最適化手段を備え、
上記最適化手段は、上記基本情報パラメータの値がユーザにより指定された時点で、予めサンプリングされた複数のサンプリング値の各々を上記性能情報パラメータとし、ユーザにより指定された指定値を上記基本情報パラメータとして上記固有値計算手段に上記固有値計算を試行させ、上記固有値計算手段が上記複数のサンプリング値の各々を上記性能情報パラメータとして上記固有値計算を試行するのに要した演算時間から、上記固有値計算手段が上記指定値を上記基本情報パラメータとして上記固有値計算を実行するのに要する演算時間を最小化する上記性能情報パラメータの値を推定するとともに、推定した上記性能情報パラメータの値をパラメータ情報ファイルに保存し、
上記固有値計算手段は、上記固有値計算の実行がユーザにより指示された時点で、上記パラメータ情報ファイルに保存された上記性能情報パラメータの値であって、上記最適化手段により推定された上記性能情報パラメータの値を参照して上記固有値計算を実行する、
ことを特徴とする計算装置。

【請求項2】
コンピュータを請求項1に記載の計算装置として動作させるためのプログラムであって、上記コンピュータを上記固有値計算手段及び上記最適化手段として機能させるプログラム。

【請求項3】
請求項2に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
国際特許分類(IPC)
Fターム
画像

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

JP2003022792thum.jpg
出願権利状態 登録
参考情報 (研究プロジェクト等) さきがけ 情報基盤と利用環境 領域
ライセンスをご希望の方、特許の内容に興味を持たれた方は、問合せボタンを押してください。


PAGE TOP

close
close
close
close
close
close
close