GNU parallel for easy multiprocessing
tags: linux
などで GNU parallel の紹介がされていて,ちょうど自分がやりたかったことにマッチしてうれしい.
インストール
http://ftp.gnu.org/gnu/parallel/ から parallel-latest.tar.bz2
をダウンロードし,
$ bzip2 -d parallel-latest.tar.bz2
$ tar xvf parallel-latest.tar
$ cd parallel-??????
$ ./configure --prefix=$HOME/local/ && make && make install
としてインストールした.
並列処理
自分の場合,多くのディレクトリ内( smpl_*/smd/
内 )で smd
というプログラムを実行したかった.
$ parallel --bar -j 12 "cd {}/smd/; ~/src/nap/pmd/smd > out.smd; cd ../.." ::: smpl_*
とすると12プロセス並列で実行してくれる. --bar
オプションで進捗状況表示もしてくれるから便利.