簡體   English   中英

多核獨立作業

[英]Multicore processing of independent jobs

我對應用Python多處理模塊(或任何適當的等效方法)以加快對多個數據文件的獨立處理感興趣。 當前,處理代碼在單個內核上受CPU限制,即100%cpu直到完成。

我有許多數據文件,每個數據文件都需要一些簡單的但相對CPU密集的處理操作。 處理操作已轉換為一個函數,該函數采用要處理的文件和其他一些參數。 由於每個處理操作都是完全獨立的,因此多核處理似乎是一個完美的解決方案。

我已經看到了在多處理模塊中使用Process和Queue方法的各種示例,但是老實說,我真的看不到如何將其應用於我的問題。

本質上,我想使用作業隊列系統使用機器中的所有8個內核來完成處理操作。 開始時,同時處理8個文件,每個核心上處理1個文件。 當其中一個核心完成處理操作后,我希望它處理隊列中的下一個文件。 繼續此循環,直到處理完所有文件。 由於處理操作是獨立的,因此不需要任何跨線程通信。

是否有一個簡單的示例說明了如何在Python中執行此操作?

謝謝

如果您不反對外部運行程序及其相關開銷,那么一種可能的選擇是使用任務隊列,例如Celery 開箱即用地包含所有必需的機械。 您只需要將各個工作單元包裝在@task裝飾器中,並使其入隊。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM