在不同的处理器中运行Python代码

时间:2009-07-22 16:08:51

标签: python qa multicore

为了在关键的多核(8)工作站中进行质量保证,我想在不同的处理器中运行相同的代码,但不能并行或同时运行。

我需要运行8次,每个处理器运行一次。

我不知道如何选择我想要的处理器。

如何在Python中完成?

2 个答案:

答案 0 :(得分:4)

在使用schedutils的Linux中,我相信你会使用taskset -c X python foo.py在CPU X上运行特定的Python进程(确切地说,如何识别您的CPU可能会有所不同) ,但我相信1,2,3等数字应该可以在任何地方使用。我确信Windows,BSD版本等具有类似的命令来支持直接处理器分配,但我不知道它们。

答案 1 :(得分:3)

哪个进程取决于您的操作系统正式决定哪个核心。在linux上,来自schedutils包的taskset用于在处理器上显式运行程序。

Python 2.6有一个multiprocessing模块,它接受python函数并在单独的进程中运行它们,可能将每个新进程移动到不同的核心。