爲了在關鍵的多核(8)工作站中實現質量保證,我想在不同的處理器上運行相同的代碼,但不是並行或同時運行。在不同的處理器上運行Python代碼
我需要運行它8次,每個處理器運行一次。
我不知道的是如何選擇我想要的處理器。
這怎麼能在Python中完成?
爲了在關鍵的多核(8)工作站中實現質量保證,我想在不同的處理器上運行相同的代碼,但不是並行或同時運行。在不同的處理器上運行Python代碼
我需要運行它8次,每個處理器運行一次。
我不知道的是如何選擇我想要的處理器。
這怎麼能在Python中完成?
在Linux中使用schedutils,我相信你會使用taskset-c X python foo.py
上運行CPU X
(你到底如何確定你的CPU可能會有所不同特定Python進程,但我相信的數字,如1,2,3,...應該在任何地方工作)。我確定Windows,BSD版本等有類似的命令來支持直接處理器分配,但我不知道它們。
哪個進程繼續哪個核心通常由您的操作系統決定。在linux上,schedutils包中有taskset明確地在處理器上運行程序。
Python 2.6中具有multiprocessing模塊,其取蟒功能和運行它們在單獨的過程中,可能移動每個新的處理到不同的核心。
我認爲你應該包括你的目標操作系統。在大多數情況下,CPU上的調度超出了Python的範圍(忽略調用OS來執行調度)。 – Erik 2009-07-22 16:20:55