有没有比循环在多个文件上运行 python 函数更快的方法?

有没有比循环在多个文件上运行 python 函数更快的方法?

我正在尝试使用 for 循环在 100 个文件上运行 python 函数,如下所示。看起来这个过程非常缓慢。我想知道是否有办法让这个过程更快,因为我使用的是带有 GPU 的 HPC 计算机。

#!/usr/bin/env bash

FILES="/directory_with_files/*.ply"
for i in $FILES; 
do python3 function.py -file $i --odir /output_directory --verbose; done

答案1

除非程序本身已经使用了 GPU,否则 GPU 不会为您提供帮助,但我的首选工具是GNU 并行。它有很多标志,但我想你的命令会是这样的:

$ find /directory_with_files -name '*.ply' | parallel "python3 function.py -file {} --odir /output_directory --verbose"

它将并行运行它认为合适的任意数量的作业,默认情况下每个核心一个。

有传言说应该也可以通过 SSH 使用它来运行远程作业,但我从未尝试过。

相关内容