我有一個for循環,它在100個不同的輸入文件夾上運行一個Python腳本〜100次。 python腳本在2個內核上效率最高,而且我有50個內核可用。所以我想使用GNU並行在25個文件夾上運行腳本。使用GNU parallel來平行bash循環
這裏是我的for循環(工作正常,但當然是連續的),蟒蛇腳本需要一堆的輸入變量,包括它運行其上的兩個內核的-p 2
的:
for folder in $(find /home/rob/PartitionFinder/ -maxdepth 2 -type d); do
python script.py --raxml --quick --no-ml-tree $folder --force -p 2
done
,這裏是我的嘗試parallelise它,它不工作:
folders=$(find /home/rob/PartitionFinder/ -maxdepth 2 -type d)
echo $folders | parallel -P 25 python script.py --raxml --quick --no-ml-tree {} --force -p 2
我打這個問題(也許它只是許多第一,雖然)是我的folders
變量不是一個列表,所以它真的只是路過的長字符串作爲的100個文件夾的腳本。
感謝所有提示。
gah!兩個簡單的方案我不會想出第一個,但應該嘗試第二個。謝謝。 – roblanf