我有一个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