0
我打開了一個ipython會話,用4個引擎啓動ipcluster,讓engine [0]以非阻塞模式持續工作。哪個核心在併發計算期間運行會話
現在我在ipython會話中做了一些計算。我如何知道並確保此會話中的計算不使用與引擎[0]相同的核心/ CPU /資源?
我打開了一個ipython會話,用4個引擎啓動ipcluster,讓engine [0]以非阻塞模式持續工作。哪個核心在併發計算期間運行會話
現在我在ipython會話中做了一些計算。我如何知道並確保此會話中的計算不使用與引擎[0]相同的核心/ CPU /資源?
簡短回答:如果您不明確地將工作發送到引擎0,它將不會使用引擎0的資源。
IPython不管理核心或其他物理資源,它只是分配processes。您的操作系統會將併發進程分配給CPU內核。 如果您已經使用四個引擎啓動了一個IPython集羣並且正在通過交互式IPython會話使用它,則您有五個可同時運行代碼的Python進程 - 您的四個引擎以及交互式會話本身。如果引擎0在後臺運行作業,並且在交互式會話中執行本地計算,則操作系統應將交互式會話中完成的工作分配給與引擎0佔用的內核不同的內核,前提是存在可用的內核。
這個答案如此清晰,真實:P。謝謝敏。 – Edward