与えられた一定量の計算をより短い時間で完了する技術が、ベクトル化や並列化といった狭義の HPC (High Performance Computing) ですが、計算効率の向上を目指す別のアプローチとして、計算の意味をできるだけ保ったまま、その絶対量を減らすというやり方も考えられます。例えば、数多くの粒子が相互作用しながら運動する系のシミュレーションといった問題の場合、十分遠くにある粒子群を、一つの粒子で代表させる事で近似的に扱ったり、あるいは作用の強さの定量的評価に基づいて完全に無視する、などといった方法が考えられます。分子動力学計算で用いられるブックキーピングという技法は後者の一例であって、分子間力の有効到達距離の評価に基づいて、一定の距離 "cutoff length" 以上離れた分子対の相互作用を全て無視することで、計算量のオーダーを下げ、効率の向上を図ります。

ブックキーピングのアイディアが最初に論文として現れたのは、1960年代(*1)と言われており、科学計算のためのアルゴリズムとして、既に50年近い歴史を持っています。その50年の間に、様々な方法が提案・研究されてきたわけですが、与えられた問題から自動的に導かれる決定的なレシピが得られたわけではなく、未検討項目の多い、多分にヒューリスティックな部分を残す計算技術であるということができます。

実際、ブックキーピングに関する論文を読み、それをそのまま実装しても、所望の計算速度が実現できるとは限りません。ブックの更新間隔を決定するアルゴリズムや、セルパーティションに代表される分子集合の分割方法などについて、十分な検討を加えて初めて有意な計算効率の向上が実現されます。

当社では、お客様が取り組んでおられる問題や、使用される計算機環境に合わせたカスタマイズを行い、ご所望の計算速度を実現するお手伝いをさせていただいております。ブックキーピング法を用いれば、高額な並列計算機を用いずとも、当社実績値として5~6倍以上の計算高速化を実現することができます。

(*1)Loup Verlet,Computer "Experiments" on Classical Fluids. I.Thermodynamical Properties of Lennard-Jones Molecules,Physical Review, Volume 159, Number 1, 1967.