7

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

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

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

这如何在 Python 中实现?

4

2 回答 2

5

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

于 2009-07-22T16:45:28.323 回答
3

哪个进程在哪个内核上进行通常由您的操作系统决定。在 linux 上有来自 schedutils 包的任务集,用于在处理器上显式运行程序。

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

于 2009-07-22T16:31:32.360 回答