JP4291306B2 - 数値計算ライブラリのチューニングパラメータ算出プログラム及び方法 - Google Patents

数値計算ライブラリのチューニングパラメータ算出プログラム及び方法 Download PDF

Info

Publication number
JP4291306B2
JP4291306B2 JP2005212469A JP2005212469A JP4291306B2 JP 4291306 B2 JP4291306 B2 JP 4291306B2 JP 2005212469 A JP2005212469 A JP 2005212469A JP 2005212469 A JP2005212469 A JP 2005212469A JP 4291306 B2 JP4291306 B2 JP 4291306B2
Authority
JP
Japan
Prior art keywords
policy
parameter
calculation
target
library
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 - Fee Related
Application number
JP2005212469A
Other languages
English (en)
Other versions
JP2007034375A (ja
Inventor
健 直野
正史 恵木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2005212469A priority Critical patent/JP4291306B2/ja
Priority to US11/480,393 priority patent/US7739083B2/en
Publication of JP2007034375A publication Critical patent/JP2007034375A/ja
Application granted granted Critical
Publication of JP4291306B2 publication Critical patent/JP4291306B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)
  • Stored Programmes (AREA)

Description

本発明は、数値計算ソフトウェアのパラメータの自動設定に関し、特に、数値計算ライブラリを用いる際にユーザのポリシーを反映させたパラメータの自動設定に関する。
数理計画法や多変量解析や統計解析などの数値計算を計算機を用いて行うことで、高度なシミュレーション等を実現している。このような数値計算では、ソルバー等の数値計算ライブラリを利用することが知られており、数値計算ライブラリのパラメータを選択し、チューニングすることで利用者の目的に応じた数値計算を行うことができる。
数値計算において、数値モデルなどのパラメータの選択及びチューニングは、複数のパラメータが相互に影響を与える場合があり、パラメータの設定によっては得られる結果が大きく変化することがある。このため、利用者が手動によって全てのパラメータを適正に設定するには、限界があるため、パラメータを自動的に設定するものも知られている(例えば、特許文献1)。
これは、セットアップパラメータの値の評価関数を設定し、セットアップパラメータの値を評価関数により評価して最適なセットアップパラメータを求めるものである。
特開2004−178372号
しかしながら、上記従来例においては、数値モデルなどのパラメータを適正に設定することは可能であるが、複数のパラメータの設定について、利用者の要求であるポリシーを反映させることができない、という問題がある。
ここで、上述のようなシミュレーションなどを行う数値計算では、一般に、同一の数値モデルと同一のデータを用いる場合、演算精度を高く設定すれば演算時間が増大し、精度を低くすれば演算時間が縮小できる。
上記従来例のようなパラメータの自動設定手法では、数値計算の精度等をある一定のレベルに保つことは可能であるが、利用者は短時間で概算の結果を得たい場合もあれば、時間に制限を持たず目的の精度で結果を得たい場合などがあり、数値計算に対するポリシーは演算実行の度に変化する。
一方、上記従来例のようなパラメータの自動設定手法では、数値計算の精度等をある一定のレベルに保つことは可能であるが、計算の度に変化する利用者のポリシーを反映してパラメータを設定することはできない。
そこで本発明は、上記問題点に鑑みてなされたもので、数値計算のパラメータを設定する際に、利用者のポリシーを反映させて最適なパラメータを提供することを目的とする。
本発明は、数値計算ライブラリを実行するための最適なチューニングパラメータを、前記数値計算ライブラリの実行履歴、及び、予め設定した目的評価関数に基づいて算出するプログラムであって、前記実行履歴は、前記数値計算ライブラリが過去に実行した数値計算における速度性能を示す演算時間と演算精度を示す演算誤差との関係を蓄積した実績データであって、前記目的評価関数は、前記演算誤差と前記演算時間とが最小となる解を算出する関数であって、前記数値計算ライブラリを読み込む手順と、前記目的評価関数を読み込む手順と、前記数値計算ライブラリに対する速度性能及び演算精度に関するユーザのポリシーを複数のポリシーパラメータとして設定する手順と、予め設定した数値計算ライブラリの実行履歴から前記数値計算ライブラリに関する実行履歴を読み込む手順と、前記ポリシーパラメータを満足する範囲で、前記実行履歴に基づいて、前記速度性能と演算精度の相反する要素を最適化する目的評価関数により当該数値計算ライブラリのチューニングパラメータを算出する手順と、前記目的評価関数に基づいて算出されたチューニングパラメータを出力する手順と、を計算機に機能させることを特徴とする。
したがって、本発明は、数値計算ライブラリを実行する際に最適なチューニングパラメータをユーザのポリシーを満足する範囲で得ることができる。そして、このチューニングパラメータを数値計算ライブラリの実行時に用いることで、実行の度に変化するユーザのポリシー(要求)を的確に反映させて演算結果を得ることが可能となる。
以下、本発明の一実施形態を添付図面に基づいて説明する。
図1は、第1の実施形態を示し、本発明を適用する計算機システムのブロック図である。
数値計算ライブラリを利用するユーザ(利用者)が使用するユーザ計算機1には、演算処理を行うCPU2と、プログラムやデータを一時的に格納するメモリ3と、外部の周辺機器と情報の送受を行うインターフェース(I/F)4が内部バス7を介して接続される。そして、I/F4には、プログラムやデータを格納するストレージ装置5と、利用者に情報を表示したり、利用者からの入力を受け付けるコンソール6(表示装置60及び入力装置61)と、外部の計算機と接続するネットワーク8が接続される。
ネットワーク8には、数値計算を行うプログラム(機能)や目的評価関数を複数格納したライブラリ格納部50と、後述するように過去の数値計算ライブラリを実行した実績(実行履歴)を格納した実績データベース41を管理する実績・ライブラリサーバ20が接続され、ユーザ計算機1からアクセス可能となっている。また、ネットワーク8には、他の利用者が操作するユーザ計算機1も接続され、上記ユーザ計算機1と同様に実績・ライブラリサーバ20を利用することができる。
実績・ライブラリサーバ20には、演算処理を行うCPU22と、プログラムやデータを一時的に格納するメモリ23と、外部の周辺機器等と情報の送受を行うインターフェース(I/F)24が内部バス27を介して接続される。そして、I/F24には、プログラムやデータを格納するストレージ装置25と、外部の計算機と接続するネットワーク8が接続される。
ストレージ装置25には、複数の数値計算ソフトウェアの機能(数値計算ライブラリ)と各数値計算ライブラリの目的評価関数を格納したライブラリ格納部50と、数値計算ソフトウェアを実行した実績データを格納する実績データベース41が格納される。ライブラリ格納部50は、実績・ライブラリサーバ20の図示しないOSにより外部の計算機からアクセス可能となっている。また、メモリ23にロードされたデータベースマネージメントプログラム(以下、DBMS)40により、実績データベース41が外部の計算機から利用可能となっている。
ユーザ計算機1のメモリ3には、利用者が選択した数値計算ライブラリ及びこのライブラリに対応する目的評価関数を実績・ライブラリサーバ20から読み込んで、この数値計算ライブラリに対する実行条件(入力パラメータ)と、利用者のポリシーをポリシーパラメータとして受け付け、利用者のポリシーに応じた最適なチューニングパラメータTUNE(後述)を指示するポリシーマネージャ10が実行される。
このポリシーマネージャ10は、後述するように、読み込んだ数値計算ライブラリに対応する実績データを実績データベース41から読み込み、目的評価関数に基づいて、利用者のポリシーに適したチューニングパラメータ(実行パラメータ)TUNEを演算するポリシープリプロセッサ110を中心に構成される。また、ポリシーマネージャ10は、利用者が指定した数値計算ソフトウェアのライブラリを読み込んで、利用者が設定した実行条件に基づいてソースプログラム90を生成し、コンパイラ11に引き渡す。
また、メモリ3には、ポリシーマネージャ10が生成した数値計算ライブラリのソースプログラム90(ソースコード)からオブジェクト(オブジェクトコード)12を生成するコンパイラ11がロードされて実行可能となっている。
ポリシーマネージャ10は、コンパイラ11がオブジェクト12の生成を完了すると、ポリシープリプロセッサ110が求めた最適のチューニングパラメータTUNEまたは利用者が選択したチューニングパラメータTUNEを、オブジェクト12に引き渡して実行させることができる。
なお、ネットワーク8には、複数のユーザ計算機1が接続されており、それぞれが実績・ライブラリサーバ20を利用可能となっている。
<処理の概要>
図2は、本発明のポリシーマネージャ10の構成と、図1の計算機システムで行われる処理の全体的な流れを説明するブロック図である。
本実施形態のポリシーマネージャ10は、次の3つの機能を有する。
まず第1に、利用者が指示した数値計算ライブラリについて、利用者のポリシーと実行条件を受け付けて、最適な実行パラメータ(チューニングパラメータTUNE)を出力する。ここで、チューニングパラメータTUNEは、選択したライブラリの演算を行う際に、2つの相反する条件(例えば、演算時間と演算精度)を利用者のポリシーに応じた値とするものである。選択したライブラリの実行形式(オブジェクト12)は、このチューニングパラメータTUNEに基づいて演算を制限することで、利用者が臨むポリシー(演算時間と演算精度)を実現する。
本実施形態では、ライブラリ格納部50のライブラリをソルバー51とし、チューニングパラメータTUNEは、ソルバー51の固有値eの反復演算の打ち切りの精度として設定する。すなわち、以下ではチューニングパラメータTUNEが数値計算の実行時に、計算精度(=演算精度)の制限値として作用する。
なお、このチューニングパラメータTUNEは、使用するソルバー51の性質に応じて適宜変更することができ、例えば、固有値eの反復演算の回数の打ち切りの基準値や、固有ベクトルVの演算誤差や反復回数の基準値をチューニングパラメータTUNEとしてもよい。また、チューニングパラメータTUNEとしては、後述の実績データベース41の実績データ410の項目に含まれるものが望ましい。
第2は、利用者が指定した数値計算ライブラリを含むソースプログラム90を生成し、コンパイラ11に引き渡してオブジェクト12を得る。
第3は、上記出力したチューニングパラメータTUNEのうち利用者が選択したものを、オブジェクト12に引き渡して実行させ、利用者のポリシーに応じた数値計算を実現する。
上記3つの機能を実現するため、ポリシーマネージャ10は、図2で示すように、利用者が選択した数値計算ライブラリと実行条件、ポリシーを示すポリシーパラメータ及び利用者が指定したチューニングパラメータTUNEを受け付けて、ソースプログラム90を生成するポリシー設定部111と、利用者が選択した数値計算ライブラリに対応する実績データ410と、予め設定された目的評価関数52に基づいて最適なチューニングパラメータTUNEを演算するポリシープリプロセッサ110と、ポリシープリプロセッサ110が求めたチューニングパラメータTUNEをコンソール6に出力し、利用者の選択を受け付けてオブジェクト12にチューニングパラメータTUNEを与えるパラメータ候補出力部112と、を備える。
なお、本第1実施形態においては、ポリシー設定部111が生成したソースプログラム90は、ポリシープリプロセッサ110の指令によりコンパイラ11を起動し、コンパイラ11によるオブジェクト12の生成と、最適なチューニングパラメータTUNEの演算がユーザ計算機1で並列的に実行される。
ポリシープリプロセッサ110が演算した結果、複数のチューニングパラメータTUNEが得られた場合には、パラメータ候補出力部112がコンソール6に出力した複数のチューニングパラメータTUNEの中から利用者が所望のチューニングパラメータTUNEを選択する。そして、利用者がポリシーマネージャ10に対してオブジェクト12の実行を指令すると、チューニングパラメータTUNEを実行パラメータとしてオブジェクト12が実行され、利用者のポリシーに応じた演算を行うことができる。
なお、チューニングパラメータTUNEが選択された後に、コンパイラ11がオブジェクト12を生成するのを待って、オブジェクト12が生成された時点でパラメータ候補出力部112がチューニングパラメータTUNEを与え、このオブジェクト12を実行するようにしても良い。この場合では、利用者はチューニングパラメータTUNEを入力するだけで、チューニングパラメータTUNEの設定とオブジェクト12の実行を自動的に行うことができる。
オブジェクト12の実行が完了すると、演算結果が出力されるとともに、オブジェクト12は、実行の実績(例えば、実行条件(入力パラメータ)に対する速度性能や計算精度等からなる実行履歴)を実績データ410として実績データベース41に書き込む。これにより、数値計算ライブラリの実行履歴が実績データベース41に蓄積され、チューニングパラメータTUNEの演算に利用される。
<ポリシーマネージャ及び関連ファイルの詳細>
本実施形態では、ライブラリ格納部50のライブラリがソルバー51で構成されるものとし、ポリシー設定部111はライブラリ格納部50に格納された複数のソルバー51の中から、利用者が指定したソルバー51を読み込む。また、後述するように利用者の指定に応じてポリシー設定部111が目的評価関数52をライブラリ格納部50から読み込む。
ここで、数値計算ライブラリとしてのソルバー51は、例えば、固有値求解ソルバー(以下、固有値ソルバーという)等の数理計画ソルバーである。
利用者はコンソール6を介して、ソルバー51を指定した後に、ソルバー51を実行するのに必要な実行条件とポリシーパラメータ及びチューニングパラメータTUNEをポリシー設定部111へ入力する。
まず、実行条件は、ライブラリが固有値ソルバーの場合、後述する図5で示すように、行列Aを与えてNV個の固有値eと固有ベクトルVを求める場合では、実行するライブラリ名を指定してから、行列Aと行列Aのサイズ及び固有ベクトルVの数を利用者が設定する。なお、図5、図6は、コンソール6の表示装置60に表示された画面(ユーザインターフェース)の一例を示す。
この実行条件の入力の結果は図6で示すように、図中「CALL」文に記述され、ライブラリ名にソルバー51が入力され、行列名に行列Aが、行列サイズNが、固有ベクトル数NVが、固有値Eがそれぞれ設定される。
この図6は、コンソール6の表示装置60に出力されるユーザインターフェースを示し、実行条件として、ライブラリ名601、入力パラメータ602及びチューニングパラメータTUNE入力欄603が自動的に表示される。
利用者は、ソルバー51を実行する際に、どのような計算を行いたいかを示すポリシーパラメータをポリシー設定部111で入力する。このポリシーパラメータとしては、例えば2種類の相反するポリシーパラメータで構成され、図5で示すように、演算時間(速度性能)と演算誤差(演算精度)をポリシーパラメータとする。すなわち、図6のように、利用者が所望する最小の演算時間(理想時間)を時間理想ラインTIME_BESTとし、利用者が許容する最大の演算時間(必須時間)を時間必須ラインTIME_WORSTとする。一方、利用者が希望する最小の演算誤差(理想誤差)を誤差理想ラインERROR_BESTとし、利用者が許容する最大の演算誤差(必須誤差)を誤差必須ラインERROR_WORSTとして、表示装置60に出力された各入力欄604〜607に設定する。また、ポリシーパラメータからチューニングパラメータTUNEを演算する際の選択基準SELECTIONを入力する。
この選択基準SELECTIONは、チューニングパラメータTUNEの演算を行う際に、相反するポリシーパラメータのうち重視するものを選択する。例えば、選択基準SELECTIONは、目的評価関数52によりチューニングパラメータTUNEの演算を行う「MODEL」と、ポリシーパラメータのうち時間についてのみでチューニングパラメータTUNEを求める「TIME」と、ポリシーパラメータのうち演算誤差についてのみでチューニングパラメータTUNEを求める「ERROR」の何れかを選択することができる。
選択基準SELECTIONを「MODEL」とした場合には、選択モデル名の欄にライブラリ格納部50の目的評価関数52を設定する。例えば、図6で示すように、目的評価関数52を、
min(TIME/TIME_BEST+ERROR/ERROR_BEST)
とすることで、後述するように、ポリシープリプロセッサ110に演算時間と演算誤差が最小となる目的評価関数52によってチューニングパラメータTUNEを演算させる。
ここで、目的評価関数52は、複数の相反する演算性能を評価するように予め設定されたもので、上記のように、速度性能を示す演算時間(TIME)と演算精度を示す計算誤差(ERROR)を最小化する解(チューニングパラメータTUNE)を求めるものである。
次に、ポリシー設定部111では、このソルバー51を実行する際に、相反する2つのポリシーパラメータである時間と誤差を最適な値とするためのチューニングパラメータTUNEの項目を受け付ける。このチューニングパラメータTUNEの項目は、実績データ410の項目の中から利用者が選択し、コンソール6から入力する。本実施形態では、上述したように演算精度(計算誤差)をチューニングパラメータTUNEに指定する。この指定により、ポリシープリプロセッサ110は、指定されたチューニングパラメータTUNEが最適となる演算条件(速度性能と演算精度)を演算する。なお、利用者が指定可能な実績データ410の項目は、後述する図7の計算誤差419や実行時間418など、過去の実行結果(実行履歴)を示す項目である。
以上の入力により、図6で示すように、ライブラリ名=SOLVERを先頭とする実行条件と、ポリシーパラメータとして時間理想ラインTIME_BEST=10sec、時間必須ラインTIME_WORST=40sec、誤差理想ラインERROR_BEST=10-9、誤差必須ラインERROR_WORST=10-5が入力され、さらに選択基準SELECTIONに「MODEL」が選択され、このモデルに対応して目的評価関数52が入力される。
ポリシー設定部111は、以上の実行条件、ポリシーパラメータ、チューニングパラメータTUNEを受け付け、ポリシープリプロセッサ110に渡し、また、読み込んだソルバー51を入力された実行条件で記述したソースプログラム90を生成する。
この、ソースプログラム90は、ライブラリ格納部50のソルバー51を指定する記述からなるライブラリ呼び出し部91と、ソルバー51に対する実行条件を設定するパラメータ部92と、ソルバー51を実行した実績を所定の実績データベース41に出力するための記述からなる実績出力部93を含むソースファイルである。
ポリシープリプロセッサ110によって起動されるコンパイラ11は、ポリシー設定部111が出力したソースプログラム90に基づいて、実行形式のファイルであるオブジェクト12を生成する。
コンパイラ11によって生成されたオブジェクト12は、数値計算を実行するソルバー121と、オブジェクト12を実行した結果を実績データ410として実績データベース41に出力する実績出力部122と、利用者が選択したチューニングパラメータTUNEを受け付けて、ソルバー121の実行パラメータとするチューニングパラメータ受付部123を含んだ実行ファイルとなる。
ここで、オブジェクト12の実行履歴を蓄積する実績データベース41は、例えば、図7で示すように、各ソルバー51毎に複数の実績データ410から構成される。
実績データ410は、一回の実行に対する履歴が、図7の横方向の一列の情報(レコード)で構成され、ソルバー51毎に設定された実行ID411と、オブジェクト12を実行した日時412と、ソルバー51が属するライブラリ格納部50の名称412と、パラメータで設定した次元(行列サイズ)Nと、同じくパラメータで設定した固有値eの数415と、同じく固有ベクトルVの数NV416と、ポリシーマネージャ10が出力したチューニングパラメータの中から、利用者が選択したチューニングパラメータ417と、オブジェクト12の実行に要した実行時間418と、結果として得られた固有値eの計算誤差419とから構成されている。なお、実行ID411は、例えばDBMS40が決定することができる。
次に、ポリシープリプロセッサ110は、ポリシー設定部111で受け付けた実行条件、ポリシーパラメータ、チューニングパラメータTUNEから、選択されたソルバー51の実績データベース41を参照し、入力された選択基準に基づいて最適なチューニングパラメータTUNEを演算する。
ポリシープリプロセッサ110は、上記図6で示したように、ソルバー51のライブラリ名=SOLVERから実績データベース41を参照し、ライブラリ名が一致するレコードを読み込んで、実行条件が一致するレコードを抽出する。
例えば、ライブラリ名=SOLVERで、行列サイズN=1000、固有ベクトル数NV=1000とした場合、抽出した実績データ410は、図7において、実行ID=DL02021、DL02022、DL02023、HL02011の4つがN、NE、NVが一致するレコードとして抽出される。
これらの実行時間418、計算誤差419の一組の実績データ410を抽出点とする。これら4つの抽出点をP1〜P4とし、横軸に速度性能を示す時間を取り、縦軸に演算精度を示す誤差を取るグラフを生成すると、図3のようになる。
次に、実行条件が一致する抽出点P1〜P4のうち、ポリシーパラメータとして入力した図6の時間理想ラインTIME_BEST=10sec、時間必須ラインTIME_WORST=40sec、誤差理想ラインERROR_BEST=10-9、誤差必須ラインERROR_WORST10-5で囲まれる領域内にある抽出点を抽出する。この場合では、抽出点P2〜P4がポリシーパラメータの範囲内となり、これらの抽出点を領域抽出点という。
次にポリシープリプロセッサ110は、図6の選択基準SELECTIONで設定された目的評価関数52(演算時間と演算誤差)が最小となる領域抽出点を抽出する。この例では、図3の抽出点P2となる。そして、抽出点P2の実績データ410を参照すると、図7において第2行目のデータであるので、計算誤差=3.201×10-6であり、実行時間(演算時間)=23.5secであり、このときのチューニングパラメータTUNE=1.0×10-6であったことが分かる。
ポリシープリプロセッサ110は、この抽出点P2のチューニングパラメータ417を実績データ410から取得し、この値(図7の1×10-6)を実行するオブジェクト12のチューニングパラメータTUNEとして選択する。図7において、第2行目の実績データ410は、チューニングパラメータTUNE=1×10-6を与えたときに、計算誤差が3.201×10-6となったことを示しており、チューニングパラメータTUNEは演算結果の指標を示すだけで、この場合では、演算誤差は「1×10-6台」という意味となる。
なお、ポリシープリプロセッサ110は、選択基準SELECTIONがERROR(誤差)の場合には、ポリシーパラメータの領域内で演算誤差が最小となる抽出点P4を選択し、選択基準SELECTIONがTIME(時間)の場合には、ポリシーパラメータの領域内で演算時間と計算誤差が最小となる抽出点P2を選択する。
ポリシープリプロセッサ110は、以上のように抽出した実績データ410とチューニングパラメータTUNEをパラメータ候補出力部112へ渡す。
パラメータ候補出力部112は、図3の画面イメージをコンソール6の表示装置60に出力し、利用者に最適なチューニングパラメータTUNEを指示する。このとき、最適なチューニングパラメータTUNEとなる抽出点P2をブリンクさせたり、他の抽出点とは異なる色で表示すればよい。そして、利用者は、出力されたチューニングパラメータTUNEをそのまま利用するのであれば、キーボードなどの入力装置61からenterキーを押すなどして、ポリシーマネージャ10にオブジェクト12の実行を指示する。あるいは、利用者が他の抽出点を使用したいのであれば、マウスなどの入力装置61から所望の抽出点を選択し、オブジェクト12の実行を指示することも可能である。また、図4で示すように、コンソール6にチューニングパラメータTUNEを表示するのに加え、このチューニングパラメータTUNEに対応する実績データ410を表示するようにしても良い。
パラメータ候補出力部112は、利用者からの指示に応じて、選択されたチューニングパラメータTUNEでオブジェクト12の演算を制限し、ソルバー51(121)を実行する。そして、オブジェクト12の実行が完了すると、上述のように今回の実行履歴を実績データベース41に書き込んで一連の処理を終了する。
なお、パラメータ候補出力部11では、図4で示すように、利用者がマウスなどの入力装置61により所望の抽出点を指示することで、各抽出点の詳細な実績データ410を表示することができる。これにより、利用者は実行しようとするソルバー51について、より具体的な履歴情報を得ることができる。
すなわち、数理計画などの数値計算ライブラリでは、与えるデータによって抽出点はばらつくため、単に実行条件が一致したからといって同様の演算時間や演算精度となるとは限らない。このため、利用者が選択したソルバー51については、任意の抽出点について詳細情報を表示することで、今回実行するソルバー51の特性に応じて、チューニングパラメータTUNEを補正することができる。なお、このときは、抽出点の抽出条件を変更し、上記の絞り込み(ポリシーパラメータの範囲内)を解除することが望ましい。
また、図4においては、ポリシーパラメータの範囲内の領域抽出点についてのみ、詳細な実績データ410を表示するようにしてもよい。この場合、ポリシーパラメータの範囲外の実績データ410の詳細を表示しないので、利用者は自己のポリシーパラメータに沿った抽出点からチューニングパラメータTUNEを設定することができる。
<処理手順の詳細>
次に、ポリシーマネージャ10で行われる処理について、図8のPAD図を参照しながら以下に説明する。
まず、S1では使用する数値計算ライブラリとしてのソルバー51のライブラリを指定し、選択したソルバー51の実行条件及びチューニングパラメータTUNEを設定する。
すなわち、S11では、上記図6に示した、ライブラリ名=SOLVER、行列名A、行列サイズN、固有ベクトル数NV、固有値Eの実行条件を設定する。なお、図中元プログラムが選択したソルバー51を示し、入力パラメータは実行条件を示す。そしてS12では、ソルバー51に対するチューニングパラメータTUNEが実績データ410のいずれの項目に対応するかを設定する。本実施形態では、上述したように、チューニングパラメータTUNEを計算誤差419に対応させるものとする。
次に、S2では、選択したソルバー51に対するポリシーを設定する。すなわち、上記図6で示したように、各ポリシーパラメータを設定する(S20)。つまり、時間理想ラインTIME_BEST、時間必須ラインTIME_WORST、誤差理想ラインERROR_BEST、誤差必須ラインERROR_WORSTを入力し、ポリシーパラメータからチューニングパラメータTUNEを演算する際の選択基準SELECTIONを入力する(S21〜S25)。このとき、選択基準SELECTIONが「MODEL」であれば、利用者の指定(例えば、図6のmin(f))に基づいてライブラリ格納部50から目的評価関数52を読み込んでおく。
ポリシーパラメータの入力が完了すると、S3で、ポリシーマネージャ10はソルバー51と行列名、行列サイズなどの実行条件からソースプログラム90を生成し、ソースファイルとしてストレージ装置5やメモリ3に格納する。
ソースプログラム90を生成すると、ポリシーマネージャ10は上述のポリシー設定部111からポリシープリプロセッサ110に制御を移し、ソースプログラム90のコンパイルをコンパイラ11に指示してから(S4)、最適なチューニングパラメータTUNEを求める(S5)。この処理は、チューニングパラメータTUNEの演算中に、並列的にコンパイルを行うことを意味している。
チューニングパラメータTUNEの演算は、まず、S50にて、選択したソルバー51の実行履歴を上述のように実績データベース41から検索する。そして、S51で上記図3で示したように、実行条件が一致する実績データ410から、ポリシーパラメータの範囲内の抽出点を検索し、これらの抽出点の中から選択基準SELECTIONで指定されたMODELを満たす抽出点を算出する。
このS51の演算の詳細は、図9で示すサブルーチンのようになる。
S52では、実績データベース41から同一のソルバー51を使用している実績データ410を抽出する。S53では、S52で抽出したレコードのうち、実行条件が予め設定した条件(例えば行列サイズN)と一致するレコードを抽出する。次に、S54ではS53で絞り込んだレコードの計算誤差と実行時間を一組とする抽出点とし、該当する実績データ410から複数の抽出点を選択する。
S55では、S54で抽出した抽出点のうち、時間理想ラインTIME_BEST以上かつ、時間必須ラインTIME_WORST以下で、誤差理想ラインERROR_BEST以上かつ、誤差必須ラインERROR_WORST以下の抽出点を領域抽出点として選択する。この領域抽出点の実績データ410は、利用者が設定したポリシーを満足するデータ410を示す。
S56では、選択基準SELECTIONで選択した目的評価関数52に予め設定したモデルにより、この目的評価関数52を最小化する領域抽出点を選択し、上述のように選択した領域抽出点の実績データ410に含まれるチューニングパラメータTUNEの値を最適なチューニングパラメータTUNEとする。
次に、図8へ戻り、S6では、S51で求めたチューニングパラメータTUNEの候補となる抽出点を表示装置60に出力する。また、S60では、図4で示したように、必要に応じて各抽出点の詳細な履歴情報を出力する。
S7では、利用者が選択したチューニングパラメータTUNEを用いてオブジェクト12を起動し、上述のようにチューニングパラメータTUNEでソルバー51(121)の演算を制限することで、利用者の要求に応じた演算時間と演算精度で数値計算ライブラリを実行することができる。なお、このS5では、ポリシーマネージャ10は、コンパイラ11がオブジェクト12の生成完了を待ってから、オブジェクト12を起動する。
以上のように本発明によれば、利用者のポリシーに基づいて、実績データベース41から抽出点を選択し、選択した抽出点の中から最適なチューニングパラメータTUNEを出力する。
したがって、利用者は数値計算の誤差の範囲と演算時間の範囲を指示すれば、ポリシーマネージャ10は、過去の数値計算(ソルバー51)の実行履歴から最適なチューニングパラメータTUNEを得ることができるので、利用者が複数のパラメータを調節する必要はなくなって、極めて容易に数値計算ライブラリのチューニングを行うことができる。
<第2実施形態>
図10は、第2の実施形態を示し、前記第1実施形態の図9に示した最適なチューニングパラメータTUNEの演算を、図3のように横軸を速度性能、縦軸を計算誤差とした2次元座標空間に予想ラインLを設定してから求めるようにしたもので、その他の構成は前記第1実施形態と同様である。
S51〜S54は前記第1実施形態と同様であり、同一のソルバー51で実行条件が一致する抽出点を選択する。
S155では、各抽出点の実行時間と計算誤差から図3に示す予想ライン(理想誤差ライン)Lを求める。この予想ラインL(実行履歴の特性)の演算は、線形近似など公知の手法を用いればよい。
S156では、ポリシーパラメータの範囲内で、図3に示した時間理想ラインTIME_BESTと、誤差理想ラインERROR_BESTの交点Cからの距離Fが最小となる予想ラインL上の点PLを求める。この演算は、例えば、時間軸方向に所定の間隔で予想ラインL上の点をサンプルし、これらの点と上記交点Cからの距離が最小となったものを点PLとする。
S157では求めた点PLに対応するチューニングパラメータTUNEを最適な値として選択する。このチューニングパラメータTUNEの値は、各抽出点のチューニングパラメータTUNEの値を線形近似に求めたものである。
以上の処理によっても、前記第1実施形態と同様に、最適なチューニングパラメータTUNEを得ることができる。
<第3実施形態>
図11、図12は、第3の実施形態を示し、前記第1実施形態のポリシーマネージャ10を、予め作成されたソースプログラム90を読み込んで、最適なチューニングパラメータTUNEをコンソール6に出力するようにしたもので、コンパイラ11の起動と、オブジェクト12の起動は、利用者がコンソール6から指令する。その他の構成は前記第1実施形態と同様である。すなわち、前記第1実施形態に示した3つの機能のうち、第2の機能のみを備えた場合を示している。
ソースプログラム90には、予めソルバー51や実行条件(入力パラメータ)等が記述されており、ポリシー設定部111は、ソースプログラム90を読み込んでポリシーパラメータを設定するだけである(図12のS2〜S25)。本第3実施形態は、前記第1実施形態の図8から、S1、S11、S12、S3、S4、S7を除いたもので、ソースプログラム90に対する最適なチューニングパラメータTUNEのみを指示するようにしたものである。
図11において、ユーザ計算機1の利用者は、ポリシーマネージャ10に対してポリシーパラメータを与え、最適なチューニングパラメータTUNEを得る。
このとき、利用者は、所望の値を得るまで繰り返して最適なチューニングパラメータTUNEを演算させることができる。
所望のチューニングパラメータTUNEが決まると、利用者はコンソール6からコンパイルを指令し、生成されたオブジェクト12に対してポリシーマネージャ10から得た最適なチューニングパラメータTUNEをオプションとして設定して実行できる。
このように、本発明のポリシーマネージャ10を単独で利用し、最適なチューニングパラメータTUNEを得ることもができる。
<第4実施形態>
図13は、第4の実施形態を示し、前記第1実施形態のネットワーク8に、ユーザ計算機1から依頼された計算の実行を提供する複数のユーティリティ計算機30、31と、ユーティリティ計算機30、31を利用したユーザ計算機1に関する課金情報を管理する課金サーバ140を接続し、ユーザ計算機1はコンパイラ11で生成したオブジェクト12の実行を、ユーティリティ計算機30、31の何れかに依頼するものである。ユーザ計算機1及び実績・ライブラリサーバ20は前記第1実施形態と同様に構成される。
ユーティリティ計算機30、31は、ユーザ計算機1からの依頼に応じてオブジェクト12を実行し、実行結果をユーザ計算機1に返す。そして、実行に要したユーザ計算機1の課金情報を課金サーバ140に送る。
課金サーバ140は、DBMS141が管理する課金情報データベース142を実行しており、課金情報データベース142には、ユーティリティ計算機30、31毎の利用料金と、ユーザ計算機1毎の課金情報を格納する。
ユーザ計算機1のポリシーマネージャ10は、ポリシーパラメータとして利用料金を指定可能とする。例えば、最低利用料金をCOST_BESTとし、最大利用料金をCOST_WORSTとすると、上記図6に示した目的評価関数52は、
min(TIME/TIME_BEST+ERROR/ERROR_BEST+COST/COST_BEST)
と表すことができ、選択したソルバー51を実行する際に、実行時間と計算誤差及び利用料金(COST)を最小とするチューニングパラメータTUNEを選択することが可能となる。このとき、図3に示したグラフは3次元グラフとなる。このとき、ユーティリティ計算機30、31毎に利用料金が異なる場合には、各ユーティリティ計算機毎に利用料金を推定して最も安いものを選択することができる。
このように、商用のユーティリティ計算機を利用する場合では、ポリシーパラメータに利用料金を加えることにより、利用者は、最適なチューニングパラメータTUNEとなるユーティリティ計算機に対してオブジェクト12の実行を依頼することにより、速度性能と演算性能に加えて価格性能を満足する計算機の利用環境を容易に得ることができる。
また、目的評価関数52は、速度性能と演算精度の2次元の評価関数を基礎として、上記のような利用料金の他、計算を実行する計算機のリソースの割り当て情報(CPUコアの数、メモリ容量)などを加えて、多次元とすることができる。この場合、ポリシーパラメータの範囲も多次元となる。例えば、最低限必要なCPUコア数と、理想とするCPUコア数とをポリシーパラメータとし、さらに、最低限必要なメモリ容量と、理想とするメモリ容量とをポリシーパラメータとすればよい。
なお、上記第1ないし第4の実施形態では、利用者が設定したポリシーパラメータの範囲内で、最適なチューニングパラメータTUNEが見つからない場合には、コンソール6へ警告などを表示するようにしても良い。
なお、上記第1ないし第4の実施形態では、ポリシーマネージャ10とコンパイラ11を独立したソフトウェアモジュールとした場合について説明したが、コンパイラ11に本発明のポリシーマネージャ10を組み込んでもよいし、あるいは、図示しないエディタなどにポリシーマネージャ10を組み込むようにしても良い。
以上のように、本発明ではライブラリに格納された数値計算ライブラリのチューニングを容易かつ的確に行うことができ、数値計算を行うソフトウェアやライブラリの提供に利用することができる。
第1の実施形態を示し、本発明を適用する計算機システムのブロック図。 ポリシーマネージャを中心とするソフトウェア構成のブロック図。 最適なチューニングパラメータを求めるグラフの一例を示し、速度性能と計算精度の関係を示す。 同じく、最適なチューニングパラメータを求めるグラフの一例を示し、速度性能と計算精度の関係で実行条件の詳細を示す。 実行条件とチューニングパラメータを設定する入力画面の一例を示す画面イメージ。 同じく、実行条件とチューニングパラメータを設定した後の入力画面の一例を示す画面イメージ。 実績データベース内の実績データの構成を示すテーブル。 ポリシーマネージャで行われる処理の一例を示すPAD図。 同じく、図9のS51で行われる処理の一例を示すPAD図。 第2の実施形態を示し、図9のS51で行われる処理の一例を示すPAD図。 第3の実施形態を示し、ポリシーマネージャを中心とするソフトウェア構成のブロック図。 第3の実施形態を示し、ポリシーマネージャで行われる処理の一例を示すPAD図。 第4の実施形態を示し、計算機システムのブロック図。
符号の説明
1 ユーザ計算機
10 ポリシーマネージャ
11 コンパイラ
12 オブジェクト12
20 実績・ライブラリサーバ
41 実績データベース
50 ライブラリ格納部
90 ソースプログラム
110 ポリシープリプロセッサ
111 ポリシー設定部
112 パラメータ候補出力部

Claims (15)

  1. 数値計算ライブラリを実行するための最適なチューニングパラメータを、前記数値計算ライブラリの実行履歴、及び、予め設定した目的評価関数に基づいて算出するプログラムであって、
    前記実行履歴は、前記数値計算ライブラリが過去に実行した数値計算における速度性能を示す演算時間と演算精度を示す演算誤差との関係を蓄積した実績データであって、
    前記目的評価関数は、前記演算誤差と前記演算時間とが最小となる解を算出する関数であって、
    前記数値計算ライブラリを読み込む手順と、
    前記目的評価関数を読み込む手順と、
    前記数値計算ライブラリに対する速度性能及び演算精度に関するユーザのポリシーを複数のポリシーパラメータとして設定する手順と、
    予め設定した数値計算ライブラリの実行履歴から前記数値計算ライブラリに関する実行履歴を読み込む手順と、
    前記ポリシーパラメータを満足する範囲で、前記実行履歴に基づいて前記速度性能と演算精度の相反する要素を最適化する目的評価関数により当該数値計算ライブラリのチューニングパラメータを算出する手順と、
    前記目的評価関数に基づいて算出されたチューニングパラメータを出力する手順と、
    を計算機に機能させることを特徴とする数値計算ライブラリのチューニングパラメータ算出プログラム。
  2. 前記ユーザのポリシーを複数のポリシーパラメータとして設定する手順は、
    前記速度性能の目標とする値を示す第1の目標ポリシーパラメータと、前記演算精度の目標とする値を示す第2の目標ポリシーパラメータとを設定し、
    前記チューニングパラメータを算出する手順は、
    前記目的評価関数が前記実行履歴の中から前記第1の目標ポリシーパラメータと第2の目標ポリシーパラメータに近いチューニングパラメータを求めることを特徴とする請求項1に記載の数値計算ライブラリのチューニングパラメータ算出プログラム。
  3. 前記ユーザのポリシーを複数のポリシーパラメータとして設定する手順は、
    前記速度性能に最低限必要な値を示す第1の必須ポリシーパラメータと、前記速度性能の目標とする値を示す第1の目標ポリシーパラメータと、前記演算精度に最低限必要な値を示す第2の必須ポリシーパラメータと、前記演算精度の目標とする値を示す第2の目標ポリシーパラメータとを設定し、
    前記チューニングパラメータを算出する手順は、
    前記目的評価関数が前記実行履歴の中から前記第1の必須ポリシーパラメータと第2の必須ポリシーパラメータを満たし、且つ、第1の目標ポリシーパラメータと第2の目標ポリシーパラメータに近いチューニングパラメータを求めることを特徴とする請求項1に記載の数値計算ライブラリのチューニングパラメータ算出プログラム。
  4. 前記ユーザのポリシーを複数のポリシーパラメータとして設定する手順は、
    前記実行履歴に含まれる項目と、チューニングパラメータとの対応を設定する手順を含むことを特徴とする請求項1に記載の数値計算ライブラリのチューニングパラメータ算出プログラム。
  5. 前記目的評価関数に基づいて算出されたチューニングパラメータを出力する手順は、
    前記チューニングパラメータと、当該チューニングパラメータに対応する実行履歴とを計算機の表示装置に出力することを特徴とする請求項1に記載の数値計算ライブラリのチューニングパラメータ算出プログラム。
  6. 前記チューニングパラメータを算出する手順は、
    前記速度性能と演算精度の2次元座標において、複数の実行履歴に含まれる速度性能と計算誤差から当該実行履歴の特性を求め、前記第1の目標ポリシーパラメータと第2の目標ポリシーパラメータの交点から前記特性までの距離が最小となる前記特性上の点を最適なチューニングパラメータとして算出することを特徴とする請求項2または請求項3に記載の数値計算ライブラリのチューニングパラメータ算出プログラム。
  7. 前記数値計算ライブラリを読み込む手順は、
    前記数値計算ライブラリの入力パラメータを設定する手順を含み、
    前記数値計算ライブラリに関する実行履歴を読み込む手順は、
    前記実行履歴の中から前記入力パラメータが一致する実行履歴を抽出して読み込むことを特徴する請求項1に記載の数値計算ライブラリのチューニングパラメータ算出プログラム。
  8. 前記ユーザのポリシーを複数のポリシーパラメータとして設定する手順は、
    前記速度性能の目標とする値を示す第1の目標ポリシーパラメータと、前記演算精度の目標とする値を示す第2の目標ポリシーパラメータと、数値計算ライブラリの実行に使用する計算機の利用料金について目標とする値を示す第3の目標ポリシーパラメータとを設定し、
    前記チューニングパラメータを算出する手順は、
    前記目的評価関数が前記実行履歴の中から前記第1の目標ポリシーパラメータと第2の目標ポリシーパラメータ及び第3の目標ポリシーパラメータに近いチューニングパラメータを求めることを特徴とする請求項1に記載の数値計算ライブラリのチューニングパラメータ算出プログラム。
  9. 前記ユーザのポリシーを複数のポリシーパラメータとして設定する手順は、
    前記速度性能に最低限必要な値を示す第1の必須ポリシーパラメータと、前記速度性能の目標とする値を示す第1の目標ポリシーパラメータと、前記演算精度に最低限必要な値を示す第2の必須ポリシーパラメータと、前記演算精度の目標とする値を示す第2の目標ポリシーパラメータと、数値計算ライブラリの実行に使用する計算機の利用料金について目標とする値を示す第3の目標ポリシーパラメータと、前記利用料金について許容可能な 第3の必須ポリシーパラメータとを設定し、
    前記チューニングパラメータを算出する手順は、
    前記目的評価関数が前記実行履歴の中から前記第1の必須ポリシーパラメータと第2の必須ポリシーパラメータ及び第3の必須ポリシーパラメータを満たし、且つ、第1の目標ポリシーパラメータと第2の目標ポリシーパラメータ及び第3の目標ポリシーパラメータに近いチューニングパラメータを求めることを特徴とする請求項1に記載の数値計算ライブラリのチューニングパラメータ算出プログラム。
  10. 前記ユーザのポリシーを複数のポリシーパラメータとして設定する手順は、
    前記速度性能の目標とする値を示す第1の目標ポリシーパラメータと、前記演算精度の目標とする値を示す第2の目標ポリシーパラメータと、数値計算ライブラリの実行に使用する計算機のリソースについて目標とする値を示す第3の目標ポリシーパラメータとを設定し、
    前記チューニングパラメータを算出する手順は、
    前記目的評価関数が前記実行履歴の中から前記第1の目標ポリシーパラメータと第2の目標ポリシーパラメータ及び第3の目標ポリシーパラメータに近いチューニングパラメータを求めることを特徴とする請求項1に記載の数値計算ライブラリのチューニングパラメータ算出プログラム。
  11. 前記ユーザのポリシーを複数のポリシーパラメータとして設定する手順は、
    前記速度性能に最低限必要な値を示す第1の必須ポリシーパラメータと、前記速度性能の目標とする値を示す第1の目標ポリシーパラメータと、前記演算精度に最低限必要な値を示す第2の必須ポリシーパラメータと、前記演算精度の目標とする値を示す第2の目標ポリシーパラメータと、数値計算ライブラリの実行に使用する計算機のリソースについて目標とする値を示す第3の目標ポリシーパラメータと、前記リソースについて許容可能な 第3の必須ポリシーパラメータとを設定し、
    前記チューニングパラメータを算出する手順は、
    前記目的評価関数が前記実行履歴の中から前記第1の必須ポリシーパラメータと第2の必須ポリシーパラメータ及び第3の必須ポリシーパラメータを満たし、且つ、第1の目標ポリシーパラメータと第2の目標ポリシーパラメータ及び第3の目標ポリシーパラメータに近いチューニングパラメータを求めることを特徴とする請求項1に記載の数値計算ライブラリのチューニングパラメータ算出プログラム。
  12. 前記ユーザのポリシーを複数のポリシーパラメータとして設定する手順は、
    予め設定したポリシーパラメータ入力を受け付けるインターフェースを含むことを特徴とする請求項1に記載の数値計算ライブラリのチューニングパラメータ算出プログラム。
  13. 数値計算ライブラリを実行するための最適なチューニングパラメータを、前記数値計算ライブラリの実行履歴、及び、予め設定した目的評価関数に基づいて計算機に算出させる方法であって、
    前記実行履歴は、前記数値計算ライブラリが過去に実行した数値計算における速度性能を示す演算時間と演算精度を示す演算誤差との関係を蓄積した実績データであって、
    前記目的評価関数は、前記演算誤差と前記演算時間とが最小となる解を算出する関数であって、
    前記数値計算ライブラリを前記計算機に読み込む処理と、
    前記目的評価関数を前記計算機に読み込む処理と、
    前記数値計算ライブラリに対する速度性能及び演算精度に関するユーザのポリシーを複数のポリシーパラメータとして受け付ける処理と、
    予め設定した数値計算ライブラリの実行履歴から前記数値計算ライブラリに関する実行履歴を前記計算機に読み込む処理と、
    前記ポリシーパラメータを満足する範囲で、前記実行履歴に基づいて前記速度性能と演算精度の相反する要素を最適化する前記目的評価関数により当該数値計算ライブラリのチューニングパラメータを前記計算機が算出する処理と、
    前記目的評価関数に基づいて算出されたチューニングパラメータを出力する処理と、
    を含むことを特徴とする数値計算ライブラリのチューニングパラメータ算出方法。
  14. 前記ユーザのポリシーを複数のポリシーパラメータとして受け付ける処理は、
    前記速度性能の目標とする値を示す第1の目標ポリシーパラメータと、前記演算精度の目標とする値を示す第2の目標ポリシーパラメータとを受け付けて、
    前記チューニングパラメータを前記計算機が算出する処理は、
    前記目的評価関数が前記実行履歴の中から前記第1の目標ポリシーパラメータと第2の目標ポリシーパラメータに近いチューニングパラメータを求めることを特徴とする請求項13に記載の数値計算ライブラリのチューニングパラメータ算出方法。
  15. 前記ユーザのポリシーを複数のポリシーパラメータとして受け付ける処理は、
    前記速度性能に最低限必要な値を示す第1の必須ポリシーパラメータと、前記速度性能の目標とする値を示す第1の目標ポリシーパラメータと、前記演算精度に最低限必要な値を示す第2の必須ポリシーパラメータと、前記演算精度の目標とする値を示す第2の目標ポリシーパラメータとを受け付けて、
    前記チューニングパラメータを前記計算機が算出する処理は、
    前記目的評価関数が前記実行履歴の中から前記第1の必須ポリシーパラメータと第2の必須ポリシーパラメータを満たし、且つ、第1の目標ポリシーパラメータと第2の目標ポリシーパラメータに近いチューニングパラメータを求めることを特徴とする請求項13に記載の数値計算ライブラリのチューニングパラメータ算出方法。
JP2005212469A 2005-07-22 2005-07-22 数値計算ライブラリのチューニングパラメータ算出プログラム及び方法 Expired - Fee Related JP4291306B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005212469A JP4291306B2 (ja) 2005-07-22 2005-07-22 数値計算ライブラリのチューニングパラメータ算出プログラム及び方法
US11/480,393 US7739083B2 (en) 2005-07-22 2006-07-05 Program and/or method for calculating tuning parameters for numerical computation library

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005212469A JP4291306B2 (ja) 2005-07-22 2005-07-22 数値計算ライブラリのチューニングパラメータ算出プログラム及び方法

Publications (2)

Publication Number Publication Date
JP2007034375A JP2007034375A (ja) 2007-02-08
JP4291306B2 true JP4291306B2 (ja) 2009-07-08

Family

ID=37680114

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005212469A Expired - Fee Related JP4291306B2 (ja) 2005-07-22 2005-07-22 数値計算ライブラリのチューニングパラメータ算出プログラム及び方法

Country Status (2)

Country Link
US (1) US7739083B2 (ja)
JP (1) JP4291306B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011028523A (ja) * 2009-07-24 2011-02-10 Panasonic Corp プログラム変換装置およびプログラム変換システム
JP5586417B2 (ja) 2010-10-25 2014-09-10 株式会社日立製作所 ストリームデータ処理における性能保証方法および装置
JP5872324B2 (ja) * 2012-02-28 2016-03-01 株式会社日立製作所 メッシュ生成装置
US10108414B2 (en) 2014-10-09 2018-10-23 International Business Machines Corporation Maintaining the integrity of process conventions within an ALM framework
EP3423865B1 (en) * 2016-03-01 2024-03-06 Brightway Vision Ltd. Gated imaging apparatus, system and method
GB2565593B (en) * 2017-08-18 2021-03-17 Centrica Hive Ltd Automated control method and apparatus

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6253113B1 (en) * 1998-08-20 2001-06-26 Honeywell International Inc Controllers that determine optimal tuning parameters for use in process control systems and methods of operating the same
US7191130B1 (en) * 2002-09-27 2007-03-13 Nuance Communications Method and system for automatically optimizing recognition configuration parameters for speech recognition systems
JP2004178372A (ja) 2002-11-28 2004-06-24 Dainippon Printing Co Ltd 動作パラメータの自動チューニング装置および自動セットアップ装置
US20050096950A1 (en) * 2003-10-29 2005-05-05 Caplan Scott M. Method and apparatus for creating and evaluating strategies
US7079145B2 (en) * 2004-01-22 2006-07-18 Ageia Technologies, Inc. Method and program solving LCPs for rigid body dynamics
JP4680546B2 (ja) 2004-07-21 2011-05-11 株式会社日立製作所 実行条件設定支援方法および装置

Also Published As

Publication number Publication date
US20070021849A1 (en) 2007-01-25
US7739083B2 (en) 2010-06-15
JP2007034375A (ja) 2007-02-08

Similar Documents

Publication Publication Date Title
CN109766497B (zh) 排行榜生成方法及装置、存储介质、电子设备
US9772890B2 (en) Sophisticated run-time system for graph processing
US10402300B2 (en) System, controller, method, and program for executing simulation jobs
JP4291306B2 (ja) 数値計算ライブラリのチューニングパラメータ算出プログラム及び方法
CN110795455A (zh) 依赖关系解析方法、电子装置、计算机设备及可读存储介质
CN106104468B (zh) 动态地确定数据处理应用程序的模式
CN107092701A (zh) 一种多维数据模型的数据处理方法及装置
US20160117199A1 (en) Computing system with thermal mechanism and method of operation thereof
CN115981980A (zh) 系统性能测试方法、装置、设备、介质和程序产品
CN115237920A (zh) 面向负载的数据索引推荐方法及其装置、存储介质
CN107209763B (zh) 指定和应用数据的规则
US20060175393A1 (en) Analysis technique of computer system
CN113190576A (zh) 数据处理方法、装置、计算机设备和可读存储介质
JP2005148901A (ja) ジョブスケジューリングシステム
Cao et al. Revisiting Query Performance in GPU Database Systems
JP4870956B2 (ja) 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部
CN113656292B (zh) 一种多维度跨时空基础软件性能瓶颈检测方法
Chung et al. A framework for automated performance bottleneck detection
KR101621490B1 (ko) 쿼리 실행 장치 및 방법, 그리고 그를 이용한 데이터 처리 시스템
CN110059328B (zh) 结构分析模拟方法、信息处理设备和计算机可读存储介质
EP2990960A1 (en) Data retrieval via a telecommunication network
WO2007072567A1 (ja) 並列処理支援装置
CN114661301B (zh) 图形处理单元编译方法、装置、编译加速库和存储介质
JP5190899B2 (ja) 情報処理装置、設定ファイル生成方法、および設定ファイル生成プログラム
CN118277224B (zh) 构建能效模型的方法、计算机设备、存储介质及程序产品

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090202

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: 20090331

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090402

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120410

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130410

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140410

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees