为了在关键的多核(8)工作站中进行质量保证,我想在不同的处理器中运行相同的代码,但不能并行或同时运行。
我需要运行8次,每个处理器运行一次。
我不知道如何选择我想要的处理器。
如何在Python中完成?
答案 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函数并在单独的进程中运行它们,可能将每个新进程移动到不同的核心。