(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024170056
(43)【公開日】2024-12-06
(54)【発明の名称】分子動力学シミュレーション割り当てプログラム、分子動力学シミュレーション割り当て方法および情報処理装置
(51)【国際特許分類】
G16Z 99/00 20190101AFI20241129BHJP
G16C 10/00 20190101ALI20241129BHJP
【FI】
G16Z99/00
G16C10/00
【審査請求】未請求
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2023087006
(22)【出願日】2023-05-26
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】長坂 侑亮
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049AA20
(57)【要約】
【課題】MDシミュレーションにかかる計算時間を削減する。
【解決手段】実施形態の分子動力学シミュレーション割り当てプログラムは、推定する処理と、決定する処理とをコンピュータに実行させる。推定する処理は、所定分子の分子動力学シミュレーションを演算装置で実行した際の所定分子に含まれる原子の数と、演算装置の利用率とに基づいて、演算装置での分子動力学シミュレーションにおいて利用率を最大とする第1の原子の数を推定する。決定する処理は、分子動力学シミュレーションの対象とする複数の対象分子それぞれに含まれる第2の原子の数に基づいて、演算装置が分子動力学シミュレーションを実行中の1または複数の第1の分子に含まれる原子の総数が推定された第1の原子の数を超えないように、複数の対象分子の中から演算装置で分子動力学シミュレーションを行う1または複数の第2の分子を決定する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
所定分子の分子動力学シミュレーションを演算装置で実行した際の前記所定分子に含まれる原子の数と、前記演算装置の利用率とに基づいて、前記演算装置での分子動力学シミュレーションにおいて前記利用率を最大とする第1の原子の数を推定し、
分子動力学シミュレーションの対象とする複数の対象分子それぞれに含まれる第2の原子の数に基づいて、前記演算装置が分子動力学シミュレーションを実行中の1または複数の第1の分子に含まれる原子の総数が推定された前記第1の原子の数を超えないように、前記複数の対象分子の中から前記演算装置で分子動力学シミュレーションを行う1または複数の第2の分子を決定する、
処理をコンピュータに実行させることを特徴とする分子動力学シミュレーション割り当てプログラム。
【請求項2】
前記推定する処理は、前記複数の対象分子に含まれる1分子を前記所定分子として分子動力学シミュレーションを前記演算装置で実行する、
ことを特徴とする請求項1に記載の分子動力学シミュレーション割り当てプログラム。
【請求項3】
前記決定する処理は、推定された前記第1の原子の数から前記原子の総数を減算して前記演算装置における計算資源の空き容量に対応する第3の原子の数を求め、求めた前記第3の原子の数を超えない分子を前記第2の分子として前記複数の対象分子の中から二分探索する、
ことを特徴とする請求項1または2に記載の分子動力学シミュレーション割り当てプログラム。
【請求項4】
所定分子の分子動力学シミュレーションを演算装置で実行した際の前記所定分子に含まれる原子の数と、前記演算装置の利用率とに基づいて、前記演算装置での分子動力学シミュレーションにおいて前記利用率を最大とする第1の原子の数を推定し、
分子動力学シミュレーションの対象とする複数の対象分子それぞれに含まれる第2の原子の数に基づいて、前記演算装置が分子動力学シミュレーションを実行中の1または複数の第1の分子に含まれる原子の総数が推定された前記第1の原子の数を超えないように、前記複数の対象分子の中から前記演算装置で分子動力学シミュレーションを行う1または複数の第2の分子を決定する、
処理をコンピュータが実行することを特徴とする分子動力学シミュレーション割り当て方法。
【請求項5】
所定分子の分子動力学シミュレーションを演算装置で実行した際の前記所定分子に含まれる原子の数と、前記演算装置の利用率とに基づいて、前記演算装置での分子動力学シミュレーションにおいて前記利用率を最大とする第1の原子の数を推定し、
分子動力学シミュレーションの対象とする複数の対象分子それぞれに含まれる第2の原子の数に基づいて、前記演算装置が分子動力学シミュレーションを実行中の1または複数の第1の分子に含まれる原子の総数が推定された前記第1の原子の数を超えないように、前記複数の対象分子の中から前記演算装置で分子動力学シミュレーションを行う1または複数の第2の分子を決定する、
処理を実行する制御部を含むことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、分子動力学シミュレーション割り当てプログラム、分子動力学シミュレーション割り当て方法および情報処理装置に関する。
【背景技術】
【0002】
近年、分子動力学(Molecular Dynamics)シミュレーション(以下、MDシミュレーション)を用いて分子化合物に含まれる原子や分子の動きなどの状態遷移を求めることが、創薬等の分野において重要なこととなっている。
【0003】
MDシミュレーションでは、対象とする分子化合物(以下、分子)に含まれる各原子に働く原子間力の計算や、運動方程式にしたがった原子及び分子の座標更新を時間発展で繰り返すことで、対象分子における原子や分子の動きをシミュレートする。
【0004】
創薬等では、薬の候補となる分子をある程度絞り込んだ上でそれぞれの候補分子に対して上記のMDシミュレーションを行う。しかしながら、絞り込んだとしても候補分子の数が1万程度あることから、全ての候補分子に対するMDシミュレーションは、膨大な計算時間を要する。
【0005】
このような計算時間を短縮させる従来技術としては、複数のタスクを実行させる場合に、それぞれのタスクをCPU(Central Processing Unit)コアに割り当てるタスク割り当てを行うものが知られている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上記の従来技術は、MDシミュレーションを対象としたタスク割り当てではない。このため、上記の従来技術では、MDシミュレーションが効率的に行われるようにMDシミュレーションを割り当てることは困難であり、計算時間を削減できない場合があるという問題がある。
【0008】
図8は、MDシミュレーションの従来のケースを説明する説明図である。
図8のケースC1に示すように、演算装置P10において単一のMDシミュレーションを行う場合は、対象分子AのMDシミュレーションが行われている間、対象分子Bは順番待ちとなる。また、対象分子Aに含まれる原子数が少なく、MDシミュレーションに要する計算資源が少なくてよい場合は、対象分子AのMDシミュレーションが行われている間の演算装置P10の実行効率が低くなる。
【0009】
また、
図8のケースC2に示すように、演算装置P10において対象分子A、Bの複数のMDシミュレーションを行う場合、MDシミュレーションにかかる総原子数が多大なものとなることがある。このような場合、複数のMDシミュレーションに要する計算資源が演算装置P10の計算資源を超えてしまい、スワップなどによって演算装置P10の実行効率が低くなることがある。
【0010】
1つの側面では、MDシミュレーションにかかる計算時間を削減することができる分子動力学シミュレーション割り当てプログラム、分子動力学シミュレーション割り当て方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【0011】
1実施形態では、分子動力学シミュレーション割り当てプログラムは、推定する処理と、決定する処理とをコンピュータに実行させる。推定する処理は、所定分子の分子動力学シミュレーションを演算装置で実行した際の所定分子に含まれる原子の数と、演算装置の利用率とに基づいて、演算装置での分子動力学シミュレーションにおいて利用率を最大とする第1の原子の数を推定する。決定する処理は、分子動力学シミュレーションの対象とする複数の対象分子それぞれに含まれる第2の原子の数に基づいて、演算装置が分子動力学シミュレーションを実行中の1または複数の第1の分子に含まれる原子の総数が推定された第1の原子の数を超えないように、複数の対象分子の中から演算装置で分子動力学シミュレーションを行う1または複数の第2の分子を決定する。
【発明の効果】
【0012】
1実施態様によれば、MDシミュレーションにかかる計算時間を削減することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、実施形態にかかるMDシミュレーションの概要を説明する説明図である。
【
図2】
図2は、実施形態にかかる情報処理装置の機能構成例を示すブロック図である。
【
図3】
図3は、シミュレーションリストのソートを説明する説明図である。
【
図4】
図4は、実施形態にかかる情報処理装置におけるプレ実行の処理の一例を示すフローチャートである。
【
図5】
図5は、上限原子数の計算の一例を説明する説明図である。
【
図6】
図6は、実施形態にかかる情報処理装置の動作例を示すフローチャートである。
【
図7】
図7は、コンピュータ構成の一例を説明する説明図である。
【
図8】
図8は、MDシミュレーションの従来のケースを説明する説明図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して、実施形態にかかる分子動力学シミュレーション割り当てプログラム、分子動力学シミュレーション割り当て方法および情報処理装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明する分子動力学シミュレーション割り当てプログラム、分子動力学シミュレーション割り当て方法および情報処理装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
【0015】
図1は、実施形態にかかるMDシミュレーションの概要を説明する説明図である。
図1に示すように、演算装置P1は、MDシミュレーションの対象とする複数の対象分子を示すシミュレーションリスト41の中から割り当てられた分子のMDシミュレーションを行う。
【0016】
MDシミュレーションを実行する演算装置P1としては、例えば、CPU、GPU(Graphics Processing Unit)などを適用できる。また、演算装置P1は、1または複数のCPUおよびGPUの組み合わせなどであってもよい。
【0017】
シミュレーションリスト41には、MDシミュレーションの対象分子それぞれに関する情報が含まれる。具体的には、シミュレーションリスト41には、対象分子を識別する識別情報(ID)とともに、対象分子に含まれる原子の数(#atoms)の他、MDシミュレーションを行うための分子構造などを示す情報が含まれる。
【0018】
実施形態にかかる情報処理装置は、シミュレーションリスト41の中から演算装置P1でMDシミュレーションを行う1または複数の分子を決定し、決定した1または複数の分子のMDシミュレーションを演算装置P1に対して割り当てる。
【0019】
具体的には、実施形態にかかる情報処理装置は、所定分子(例えば検証用のサンプル分子やシミュレーションリスト41に含まれる1分子)のMDシミュレーションを演算装置P1で実行させる。実施形態にかかる情報処理装置は、所定分子のMDシミュレーションを演算装置P1で実行した際の所定分子に含まれる原子の数と、演算装置P1の利用率とに基づいて、演算装置P1でのMDシミュレーションにおいて演算装置P1の利用率を最大とする原子の数(以下、上限原子数とよぶ)を推定する。
【0020】
MDシミュレーションを実行中の演算装置P1の利用率(例えば演算装置P1がGPUの場合はGPU utilization)は、MDシミュレーションの分子に含まれる原子数(N)に比例して増加するものと想定される。なお、カットオフ内のペア数は概ねO(N)であり、すなわち演算装置P1での処理の並列数がO(N)程度であるものとする。
【0021】
したがって、実施形態にかかる情報処理装置は、所定分子のMDシミュレーションにおける演算装置P1の利用率から、上記の比例関係をもとに、演算装置P1の利用率を最大とする上限原子数を推定できる。図示例では、実施形態にかかる情報処理装置は、上限原子数を60,000と推定している。
【0022】
ついで、実施形態にかかる情報処理装置は、シミュレーションリスト41の対象分子それぞれに含まれる原子の数(#atoms)に基づいて、演算装置P1がMDシミュレーションを実行中の1または複数の分子に含まれる原子の総数が上限原子数を超えないように、シミュレーションリスト41の中からMDシミュレーションを行う1または複数の分子を決定する。
【0023】
例えば、実施形態にかかる情報処理装置は、シミュレーションリスト41の中から原子数が42,120であるID=2の対象分子のMDシミュレーションを演算装置P1に割り当てる(S1)。このとき、演算装置P1の利用率の空きに相当する原子数((上限原子数)-(MDシミュレーション実行中の分子の原子数))は、17,880である。
【0024】
したがって、実施形態にかかる情報処理装置は、MDシミュレーション実行中の分子の原子数が上限原子数を超えないように、17,880以下の対象分子をシミュレーションリスト41の中から探索し、演算装置P1への割り当てを決定する。これにより、実施形態にかかる情報処理装置は、シミュレーションリスト41の中から原子数が17,500あるID=1の対象分子のMDシミュレーションを演算装置P1に割り当てる(S2)。
【0025】
ついで、演算装置P1では、ID=2の対象分子のMDシミュレーションが終了したものとする(S3)。このとき、演算装置P1の利用率の空きに相当する原子数((上限原子数)-(MDシミュレーション実行中の分子の原子数))は、42,500である。
【0026】
したがって、実施形態にかかる情報処理装置は、MDシミュレーション実行中の分子の原子数が上限原子数を超えないように、42,500以下の対象分子をシミュレーションリスト41の中から探索し、演算装置P1への割り当てを決定する。これにより、実施形態にかかる情報処理装置は、シミュレーションリスト41の中から原子数が31,000あるID=0の対象分子のMDシミュレーションを演算装置P1に割り当てる(S4)。
【0027】
実施形態にかかる情報処理装置では、このようにMDシミュレーションを演算装置P1に割り当てることで、スワップなどによって演算装置P1の実行効率が低くなることを抑止しつつ、シミュレーションリスト41に含まれる対象分子のMDシミュレーションを効率よく行うことができる。
【0028】
図2は、実施形態にかかる情報処理装置の機能構成例を示すブロック図である。
図2に示すように、情報処理装置1は、通信部10、入力部20、表示部30、記憶部40、制御部50を有する。
【0029】
通信部10は、ネットワークを介して外部装置等とデータ通信を実行する。通信部10は、制御部50の制御のもと、シミュレーションリスト41に含まれる対象分子のMDシミュレーションの実行依頼を演算装置P1に対して通知する。また、通信部10は、後述するシミュレーションリスト41等を、外部装置から受信してもよい。入力部20は、ユーザからの操作を受付ける。表示部30は、制御部50の処理結果を表示する。
【0030】
記憶部40は、シミュレーションリスト41、上限原子数42を有する。たとえば、記憶部40は、メモリ等により実現される。
【0031】
シミュレーションリスト41については、事前に、例えば情報処理装置1の制御部50により、原子数をもとに対象分子をソートしておいてもよい。
図3は、シミュレーションリストのソートを説明する説明図である。
【0032】
図3に示すように、シミュレーションリスト41においてID順(ID=0,1…)に列挙された複数の対象分子については、原子数(#atoms)の大きい順(降順)にソートしておく。このように原子数でソートしておくことで、情報処理装置1は、シミュレーションリスト41の中から演算装置P1の利用率の空きに相当する原子数に見合う、対象分子の探索(二分探索)を容易に行うことができる。
【0033】
制御部50は、原子数推定部51、対象分子決定部52およびシミュレーション実行部53を有する。たとえば、制御部50は、プロセッサにより実現される。
【0034】
原子数推定部51は、所定分子のMDシミュレーションを演算装置P1でプレ実行し、その所定分子に含まれる原子の数と、演算装置P1の利用率とに基づいて、上限原子数42を推定する処理部である。
【0035】
図4は、実施形態にかかる情報処理装置1におけるプレ実行の処理の一例を示すフローチャートである。
【0036】
図4に示すように、プレ実行が開始されると、原子数推定部51は、プレ実行に関する入力情報を取得する(S10)。具体的には、原子数推定部51は、プレ実行に用いるMDシミュレーションの実行情報(例えば分子構造)、実行するMDシミュレーションで扱う原子数を入力情報として取得する。
【0037】
例えば、原子数推定部51は、シミュレーションリスト41に含まれる1分子の情報を入力情報として取得してもよい。また、原子数推定部51は、入力部20を介してユーザより入力された検証用のサンプル分子の情報を入力情報として取得してよい。
【0038】
ついで、原子数推定部51は、入力情報をもとにMDシミュレーションを演算装置P1で実行させ(S11)、実行中に演算装置P1の利用率をプロファイリングする(S12)。この演算装置P1の利用率は、例えばCPU利用率、GPU利用率などが相当する。
【0039】
ついで、原子数推定部51は、MDシミュレーションで扱う原子の数と、プロファイリングした演算装置P1の利用率とに基づいて上限原子数42を計算する(S13)。ついで、原子数推定部51は、計算した上限原子数42を記憶部40に格納し、処理を終了する。
【0040】
図5は、上限原子数42の計算の一例を説明する説明図である。
図5に示すように、24,000原子の対象分子AのMDシミュレーションを演算装置P1で行った場合の演算装置P1の利用率は、40%であったものとする。原子数推定部51は、演算装置P1の利用率がMDシミュレーションの分子に含まれる原子数に比例することをもとに、上限原子数42を計算する。具体的には、原子数推定部51は、上限原子数=(MDシミュレーションで扱う原子の数)*(100/演算装置P1の利用率)とする。図示例の場合は、上限原子数42が60000原子と計算される。
【0041】
図2に戻り、対象分子決定部52は、シミュレーションリスト41の中から演算装置P1でMDシミュレーションを行う1または複数の分子を決定する処理部である。シミュレーション実行部53は、対象分子決定部52が決定した1または複数の分子に関するMDシミュレーションを演算装置P1に実行させる処理部である。
【0042】
図6は、実施形態にかかる情報処理装置1の動作例を示すフローチャートである。
図6に示すように、対象分子決定部52は、MDシミュレーションに関する入力情報を取得する(S20)。具体的には、対象分子決定部52は、記憶部40よりソート済のシミュレーションリスト41、上限原子数42を読み出す。
【0043】
ついで、対象分子決定部52は、演算装置P1における計算資源の空き容量、すなわち、演算装置P1の利用率の空きに相当する原子数を上限原子数に設定する(S21)。なお、上限原子数は、第1の原子の数である。
【0044】
ついで、対象分子決定部52は、シミュレーションリスト41が空である(シミュレーションリスト41に含まれる全ての対象分子のMDシミュレーションを実行済み)であるか否かを判定する(S22)。
【0045】
シミュレーションリスト41が空である場合(S22:Yes)、シミュレーションリスト41に含まれる全ての対象分子のMDシミュレーションが完了していることから、制御部50は、処理を終了する。
【0046】
シミュレーションリスト41が空でない場合(S22:No)、対象分子決定部52は、演算装置P1において実行が終了したMDシミュレーションがあるか否かを判定する(S23)。演算装置P1におけるMDシミュレーションが実行中であり、実行が終了したMDシミュレーションがない場合(S23:No)、対象分子決定部52は、S25へ処理を進める。
【0047】
実行が終了したMDシミュレーションがある場合(S23:Yes)、対象分子決定部52は、終了したMDシミュレーションでの原子数(#atoms)を空き容量(演算装置P1の利用率の空きに相当する原子数)に追加する(S24)。
【0048】
ついで、対象分子決定部52は、シミュレーションリスト41の対象分子の原子数(第2の原子の数)をもとに、空き容量を超えない原子数の対象分子(シミュレーション)をシミュレーションリスト41から二分探索する(S25)。より具体的には、対象分子決定部52は、計算資源の空き容量に対応する原子数である第3の原子の数を求める。さらに、対象分子決定部52は、空き容量を最小とする(第3の原子の数を超えない)対象分子をシミュレーションリスト41から二分探索する。
【0049】
ついで、対象分子決定部52は、S25における二分探索によりシミュレーションリスト41からシミュレーションが見つかったか否かを判定する(S26)。シミュレーションリスト41からシミュレーションが見つからなかった場合(S26:No)、対象分子決定部52は、処理を待機したのち(S27)、S22へ処理を戻す。なお、処理の待機は、例えば、1つのMDシミュレーションの実行に見合う時間(数ms)程度である。
【0050】
シミュレーションリスト41からシミュレーションが見つかった場合(S26:Yes)、対象分子決定部52は、見つかったシミュレーション(対象分子)を演算装置P1に割り当てるものと決定する。このとき、対象分子決定部52は、当該シミュレーションでの原子数を空き容量から引き、シミュレーションリスト41から当該シミュレーションを除去する。
【0051】
ついで、シミュレーション実行部53は、対象分子決定部52が決定したシミュレーションの実行情報(例えば分子構造)をシミュレーションリスト41より読み出して演算装置P1に通知し、MDシミュレーションを演算装置P1に実行させ(S28)、S22へ処理を戻す。
【0052】
以上のように、情報処理装置1は、所定分子のMDシミュレーションを演算装置P1で実行した際の所定分子に含まれる原子の数と、演算装置P1の利用率とに基づいて、演算装置P1でのMDシミュレーションにおいて利用率を最大とする原子の数(上限原子数)を推定する。情報処理装置1は、シミュレーションリスト41の対象分子それぞれに含まれる原子の数に基づいて、演算装置P1がMDシミュレーションを実行中の1または複数の分子に含まれる原子の総数が上限原子数を超えないように、シミュレーションリスト41の対象分子の中から演算装置P1でMDシミュレーションを行う1または複数の分子を決定する。
【0053】
これにより、情報処理装置1では、演算装置P1のMDシミュレーションにおいて、スワップなどによって実行効率が低くなることを抑止するように、演算装置P1にMDシミュレーションを割り当てることができる。したがって、演算装置P1ではMDシミュレーションをより効率的に行うことができ、MDシミュレーションにかかる計算時間を削減することができる。
【0054】
また、情報処理装置1は、シミュレーションリスト41に含まれる1分子を所定分子として分子動力学シミュレーションを演算装置P1で実行する。これにより、情報処理装置1は、上限原子数を推定する際に、シミュレーションリスト41に含まれる対象分子に関するMDシミュレーションをプレ実行でき、シミュレーションリスト41のMDシミュレーションにかかる計算時間を削減することができる。
【0055】
また、情報処理装置1は、上限原子数からMDシミュレーションを実行中の原子の総数を減算して演算装置P1における計算資源の空き容量を求める。情報処理装置1は、シミュレーションリスト41の対象分子の中から原子の数が空き容量を超えない分子を二分探索する。これにより、情報処理装置1では、シミュレーションリスト41の中から、演算装置P1に対してMDシミュレーションを割り当てる対象分子を効率よく探索できる。
【0056】
なお、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0057】
また、情報処理装置1の制御部50で行われる原子数推定部51、対象分子決定部52およびシミュレーション実行部53の各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、情報処理装置1で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
【0058】
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータ構成(ハードウエア)の一例を説明する。
図7は、コンピュータ構成の一例を説明する説明図である。
【0059】
図7に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、データ入力を受け付ける入力装置202と、モニタ203と、スピーカ204とを有する。また、コンピュータ200は、記憶媒体からプログラム等を読み取る媒体読取装置205と、各種装置と接続するためのインタフェース装置206と、有線または無線により外部機器と通信接続するための通信装置207とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM208と、ハードディスク装置209とを有する。また、コンピュータ200内の各部(201~209)は、バス210に接続される。
【0060】
ハードディスク装置209には、上記の実施形態で説明した機能構成(例えば原子数推定部51、対象分子決定部52およびシミュレーション実行部53)における各種の処理を実行するためのプログラム211が記憶される。また、ハードディスク装置209には、プログラム211が参照する各種データ212が記憶される。入力装置202は、例えば、操作者から操作情報の入力を受け付ける。モニタ203は、例えば、操作者が操作する各種画面を表示する。インタフェース装置206は、例えば印刷装置等が接続される。通信装置207は、LAN(Local Area Network)等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
【0061】
CPU201は、ハードディスク装置209に記憶されたプログラム211を読み出して、RAM208に展開して実行することで、上記の機能構成(例えば原子数推定部51、対象分子決定部52およびシミュレーション実行部53)に関する各種の処理を行う。なお、プログラム211は、ハードディスク装置209に記憶されていなくてもよい。例えば、コンピュータ200が読み取り可能な記憶媒体に記憶されたプログラム211を読み出して実行するようにしてもよい。コンピュータ200が読み取り可能な記憶媒体は、例えば、CD-ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこのプログラム211を記憶させておき、コンピュータ200がこれらからプログラム211を読み出して実行するようにしてもよい。
【0062】
以上の実施形態に関し、さらに以下の付記を開示する。
【0063】
(付記1)所定分子の分子動力学シミュレーションを演算装置で実行した際の前記所定分子に含まれる原子の数と、前記演算装置の利用率とに基づいて、前記演算装置での分子動力学シミュレーションにおいて前記利用率を最大とする第1の原子の数を推定し、
分子動力学シミュレーションの対象とする複数の対象分子それぞれに含まれる第2の原子の数に基づいて、前記演算装置が分子動力学シミュレーションを実行中の1または複数の第1の分子に含まれる原子の総数が推定された前記第1の原子の数を超えないように、前記複数の対象分子の中から前記演算装置で分子動力学シミュレーションを行う1または複数の第2の分子を決定する、
処理をコンピュータに実行させることを特徴とする分子動力学シミュレーション割り当てプログラム。
【0064】
(付記2)前記推定する処理は、前記複数の対象分子に含まれる1分子を前記所定分子として分子動力学シミュレーションを前記演算装置で実行する、
ことを特徴とする付記1に記載の分子動力学シミュレーション割り当てプログラム。
【0065】
(付記3)前記決定する処理は、推定された前記第1の原子の数から前記原子の総数を減算して前記演算装置における計算資源の空き容量に対応する第3の原子の数を求め、求めた前記第3の原子の数を超えない分子を前記第2の分子として前記複数の対象分子の中から二分探索する、
ことを特徴とする付記1または2に記載の分子動力学シミュレーション割り当てプログラム。
【0066】
(付記4)所定分子の分子動力学シミュレーションを演算装置で実行した際の前記所定分子に含まれる原子の数と、前記演算装置の利用率とに基づいて、前記演算装置での分子動力学シミュレーションにおいて前記利用率を最大とする第1の原子の数を推定し、
分子動力学シミュレーションの対象とする複数の対象分子それぞれに含まれる第2の原子の数に基づいて、前記演算装置が分子動力学シミュレーションを実行中の1または複数の第1の分子に含まれる原子の総数が推定された前記第1の原子の数を超えないように、前記複数の対象分子の中から前記演算装置で分子動力学シミュレーションを行う1または複数の第2の分子を決定する、
処理をコンピュータが実行することを特徴とする分子動力学シミュレーション割り当て方法。
【0067】
(付記5)前記推定する処理は、前記複数の対象分子に含まれる1分子を前記所定分子として分子動力学シミュレーションを前記演算装置で実行する、
ことを特徴とする付記4に記載の分子動力学シミュレーション割り当て方法。
【0068】
(付記6)前記決定する処理は、推定された前記第1の原子の数から前記原子の総数を減算して前記演算装置における計算資源の空き容量に対応する第3の原子の数を求め、求めた前記第3の原子の数を超えない分子を前記第2の分子として前記複数の対象分子の中から二分探索する、
ことを特徴とする付記4または5に記載の分子動力学シミュレーション割り当て方法。
【0069】
(付記7)所定分子の分子動力学シミュレーションを演算装置で実行した際の前記所定分子に含まれる原子の数と、前記演算装置の利用率とに基づいて、前記演算装置での分子動力学シミュレーションにおいて前記利用率を最大とする第1の原子の数を推定し、
分子動力学シミュレーションの対象とする複数の対象分子それぞれに含まれる第2の原子の数に基づいて、前記演算装置が分子動力学シミュレーションを実行中の1または複数の第1の分子に含まれる原子の総数が推定された前記第1の原子の数を超えないように、前記複数の対象分子の中から前記演算装置で分子動力学シミュレーションを行う1または複数の第2の分子を決定する、
処理を実行する制御部を含むことを特徴とする情報処理装置。
【0070】
(付記8)前記推定する処理は、前記複数の対象分子に含まれる1分子を前記所定分子として分子動力学シミュレーションを前記演算装置で実行する、
ことを特徴とする付記7に記載の情報処理装置。
【0071】
(付記9)前記決定する処理は、推定された前記第1の原子の数から前記原子の総数を減算して前記演算装置における計算資源の空き容量に対応する第3の原子の数を求め、求めた前記第3の原子の数を超えない分子を前記第2の分子として前記複数の対象分子の中から二分探索する、
ことを特徴とする付記7または8に記載の情報処理装置。
【符号の説明】
【0072】
1…情報処理装置
10…通信部
20…入力部
30…表示部
40…記憶部
41…シミュレーションリスト
42…上限原子数
50…制御部
51…原子数推定部
52…対象分子決定部
53…シミュレーション実行部
200…コンピュータ
201…CPU
202…入力装置
203…モニタ
204…スピーカ
205…媒体読取装置
206…インタフェース装置
207…通信装置
208…RAM
209…ハードディスク装置
210…バス
211…プログラム
212…各種データ
A…対象分子
B…対象分子
C1、C2…ケース
P1、P10…演算装置