私は10個のコアにアクセスできるマシンにアクセスできます。実際に使用したいのですが。私は自分のマシン上で実行するために使用していますが、このようなものになるだろう:Bash:複数のコアで同じプログラムを実行
for f in *.fa; do
myProgram (options) "./$f" "./$f.tmp"
done
は私が上でこれを行うにはしたいと思い10個のファイルがある - のはblah01.fa、それらblah00.faを呼ぶことを.. .blah09.fa。
このアプローチの問題は、myProgramが一度に1つのコアのみを使用し、マルチコアマシンでこれを実行すると、1回に1つのコアを10回使用するので、私のmahcineを最大限の能力で使用しています。
どのようにして10個の.faファイルを同時に実行できるようにスクリプトを変更できますか?私はRun a looped process in bash across multiple coresを見ましたが、私はそれが私が正確に望んだことをするという命令を得ることができませんでした。
'gnu parallel'を試しましたか?何があなたのために働かなかったのですか? –
その答えにgnu並列の提案を使ってみましたか? –
'seq 0 10 | parallel myProgram -opt1 -opt2 ./blah{}.fa ./blah {}。tmp' –