在不同处理器上运行Python代码
为了在一个重要的八核工作站上进行质量保证,我想在不同的处理器上运行相同的代码,但不是同时运行。
我需要运行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等系统也有类似的命令来支持直接指定处理器,不过我不太清楚具体的命令是什么。