在不同处理器上运行Python代码

7 投票
2 回答
3269 浏览
提问于 2025-04-15 13:05

为了在一个重要的八核工作站上进行质量保证,我想在不同的处理器上运行相同的代码,但不是同时运行。

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

我不知道怎么选择我想要的处理器。

在Python中怎么做到这一点呢?

2 个回答

3

哪个程序在哪个处理器上运行,通常是由你的操作系统来决定的。在Linux系统中,有一个叫做taskset的工具,它可以让你明确指定一个程序在哪个处理器上运行。

Python 2.6有一个叫做multiprocessing的模块,它可以把Python的函数放到不同的进程中去运行,可能会把每个新进程移动到不同的处理器上。

5

在Linux系统中,如果你使用了schedutils这个工具,我想你可以用taskset命令来指定某个Python程序在特定的CPU上运行。具体的命令是 -c X python foo.py,这里的 X 就是你想要指定的CPU编号(你识别CPU的方式可能会有所不同,但通常像1、2、3这样的数字在任何地方都可以用)。我相信Windows、BSD等系统也有类似的命令来支持直接指定处理器,不过我不太清楚具体的命令是什么。

撰写回答