使用bsub命令调用带参数的函数

时间:2017-12-02 08:01:50

标签: python

我是python脚本的初学者,我有一个脚本,其中一个函数被多次调用,每次都传递不同的参数集。执行按顺序进行。为了使它们并行运行(因为在调用这些函数时没有依赖),我想到使用bsub命令调用这些函数使它在多台机器上运行以便更快地执行。

def func(a,b):
    do_something...

bsub -n2 func(A1,B1);

bsub -n2 func(A2,B2);

bsub -n2 func(A3,B3);

我看到以下错误:

意外令牌附近的语法错误`('

我也尝试过使用多处理         来自多处理导入过程 这导致在同一台机器上启动多个作业,这可能会减慢执行速度。

如果你们中的任何一个人有更好的方法做同样的事情,你能不能对它们说些什么?

1 个答案:

答案 0 :(得分:0)

我认为你正在将Python命令与shell的命令混合在一起。它们不是同一个东西,因此您无法将Python函数调用传递给bsub,也不能直接在Python代码中使用bsub

您可以创建一个调用该函数的脚本,并在其上使用bsub,但命令行可能需要类似于bsub -n2 my_script.py(函数调用发生在{{1}内}})。

很遗憾,我对您正在使用的my_script.py计划一无所知,所以我不知道如何使用它来为脚本传递不同的参数(这样它就知道要用于Python函数的参数)。您应该阅读其文档。

还有可能有一个Python库可用于与您的集群架构连接。它可能能够在多个系统上并行运行任意Python代码。

相关问题