MIRAI、さらに2.5倍高速に!

Javaに書き直して1.75倍高速化した後、プログラムを見直して改良した結果、速度自体がさらに2.5倍高速化した。
最適解探索部分も改良したので、トータルにかかる時間は劇的に早くなっている。

ちなみに、温度依存性の大規模計算で、3日間計算して4500サイクル計算したものの結果より、10分で40サイクル計算したものの方がより良く収束している。

前のプログラムで40000回ぐらい計算しようとすると、30日間かかり、その間には停電が起きたりする。

引退した研究者が科学技術計算を行おうとすると、マシン能力に直結するMO,MD計算では勝負にならない。その辺りは現役に任せて、アイデア次第で100倍,1000倍効率化できる領域を狙うのは大事な視点だろう。

その時大事なのは、このプログラムの高速化が、いわゆる、プログラミング・テクニックに基づいたものでは無い事だ。

並列計算とか、スレッドとかでは無く、化学的に考えて、探索結果はここを重点的にって考えた結果だ。

自分は、プロの計算機屋では無いので、そんなに高度なプログラミングテクニックは持っていない。だから逆に言えば、数値演算、ループ、条件分岐ぐらいしか使わないので、プログラム言語を変えるのも簡単なことだ。
つまり、40代であろうと50代であろうと、もと理科系であれば簡単に習得できるだろう。
すると大事なのは、化学のセンスの方だ。これは一朝一夕に身につくものではない。

今朝の新聞でも働かない50代のおじさんの話題が出ていた。
働かなくても給料を貰えるうちに、自分の知識をプログラムに落とす事を考えれば良いのにと思う。(以降、化学系のおじさんの話だ。)

2時間の映画を10分に縮めて観なくてはならない程、時間が枯渇している若者と比べ、学習効率が半分でも、1/4でも、働かなくて良いおじさんは有利だろう。
「覚える端から忘れていく」って、そうなっても良いように「PCに覚えてもらうためにプログラムを書く」と気楽に考える。

それなりのPCに投資しなくてはならないかもしれないが、種を植えて育て始めれば、次のステップに繋げられる。

まー、問題は、こんな事をいくら書いても、「働かないおじさん」には届かない事だろうな。