Windows版 Firefly のコマンドプロンプトでの実行方法

Fireflyでのシークエンシャル計算 (1コア)

  1. 入力データファイルを作成し、実行ファイル Firefly820.exe のあるフォルダにコピーします。
  2. 「コマンドプロンプ」トを起動します。
  3. cdで、実行ファイル Firefly820.exeのあるフォルダに移動します。
  4. 入力データファイルと結果を出力するファイル名を指定して Firefly820.exe を起動します。

    >Firefly820.exe -i hcho.inp -o hcho.out

    結果は、hcho.out として同じフォルダに書き込まれます。

バッチファイルを利用したシークエンシャル計算

  1. 「コマンドプロンプト」を起動します。
  2. cdで、実行ファイル Firefly820.exeのあるフォルダに移動します。
  3. 入力データファイル名を指定してバッチファイル firefly.bat を起動します。

    >firefly hcho.inp

    結果は、hcho.out として同じフォルダに書き込まれます。

firefly.bat

 下記のようなバッチファイルを作成し、実行ファイル Firefly820.exeのあるフォルダにコピーします。

@echo off
echo Executing calculation for %1.
echo Starting at %time%
Firefly820.exe -i %1 -o %~n1.out
ren PUNCH %~n1.pun
del input
del DICTNRY
if exist IRCDATA ren IRCDATA %~n1.irc
if exist EFPIND del EFPIND
if exist MOINTS del MOINTS
if exist AOINTS del AOINTS
if exist WORK16 del WORK16
if exist WORK15 del WORK15
echo Completed at %time%

Fireflyでの並列計算 (マルチコア)

 4コアの場合を例に取って説明します。

  1. 使用するコアの数に相当するフォルダを作成しておきます。(フォルダ名は任意です。)

    例   D:\node1 D:\node2  D:\node3  D:\node4 
  2. 入力データファイルを作成し、最初のフォルダ (この場合は D:\node1)にコピーします。
  3. 「コマンドプロンプ」トを起動します。
  4. cdで、実行ファイル Firefly820.exeのあるフォルダに移動します。
  5. 入力データファイルと結果を出力するファイル名、使用するフォルダ名、コア数を指定して Firefly820.exe を起動します。

    >Firefly820.exe -i hcho.inp -o hcho.out d:\node1 d:\node2 d:\node3 d:\node4 -np 4

    結果は最初のフォルダ (この場合は D:\node1)に書き込まれます。


※ 2コアの場合は

 >Firefly820.exe -i hcho.inp -o hcho.out d:\node1 d:\node2 -np 2

となります。

バッチファイルを利用した並列計算

  1. 使用するコアの数に相当するフォルダを作成しておきます。(フォルダ名は任意です。)

    例  D:\node1 D:\node2 D:\node3  D:\node4 

  2. 「コマンドプロンプ」トを起動します。
  3. cdで、実行ファイル Firefly820.exeのあるフォルダに移動します。
  4. 入力データファイル名を指定してバッチファイル firefly-p4.bat を起動します。

    >firefly-p4 hcho.inp

    結果はhcho.out として最初のフォルダ (この場合は D:\node1)に書き込まれます。

firefly-p4.bat (4コアの場合)

 下記のようなバッチファイルを作成し、実行ファイル Firefly820.exeのあるフォルダにコピーします。

@echo off
copy %1 D:\node1\INPUT /y
echo Executing calculation for %1.
echo Starting at %time%
Firefly820.exe -o %~n1.out D:\node1 D:\node2 D:\node3 D:\node4 -np 4
pushd D:\node1
ren PUNCH %~n1.pun
del INPUT
del DICTNRY.0000
if exist IRCDATA ren IRCDATA %~n1.irc
if exist EFPIND del EFPIND
if exist MOINTS del MOINTS
if exist AOINTS del AOINTS
if exist WORK16 del WORK16
if exist WORK15 del WORK15
popd
echo Completed at %time%

バッチファイルのダウンロード

 右クリックしてダウンロードし、拡張子を bat に変えてください。

謝辞

 バッチファイルの作成に際して、「PC GAMESSのSMP環境における並列化」(http://pc-chem.info/2007/01/pc_gamesssmp_1.html)の記述を参考にさせていただきました。

同ページは、現在は「Fireflyの入手とセットアップ」(https://pc-chem.info/programs/126)に変更になっています。

Return

2009 Copyright by Hiroshi Kihara