我讀過R只使用一個CPU。我如何讓R使用所有可用的核心運行統計算法?如何讓R使用計算機的所有核心?
14
A
回答
23
是的,對於初學者,請參閱High Performance Computing CRAN上的任務視圖。這列出了可用於支持單臺機器上的並行計算的軟件包的詳細信息。
從r版本2.14.0,存在一種用於通過平行包,其中包括現有雪和多核包稍微修改版本並行計算的內置支持。 平行包有一個小插曲,你應該閱讀。您可以通過查看:
vignette(package="parallel", topic = "parallel")
還有其他方法通過使用多線程BLAS線性代數計算的利用你的多個內核,例如。
這是否會加快你想要做的「統計計算」,這取決於那些「統計計算」是什麼。產生多個線程或工作人員需要花費間接費用來設置它們,管理它們並收集結果。一些操作看到了使用多個內核/線程的好處(一些大的,一些小的),另一些則由於這種額外的開銷而減慢。
總之,不要指望使用ň內核,而不是僅僅1
9
得到一個ñ次在你的計算時間減少如果你碰巧做同樣的事情,幾個*迭代(或相同的代碼幾個*不同的參數),最簡單的方法是運行幾個副本的R - OS將分配在不同的核心工作。
在相反的情況下,去學習如何使用真正的並行擴展。
爲了這個答案,少數意味着少一些或相等的核心數量。
相關問題
- 1. 使用計算節點上的所有核心是否合理?
- 2. 如何讓Windows Apache使用所有的cpu核心?
- 3. 如何讓clisp或sbcl使用所有cpu核心可用?
- 4. 如何在python腳本中訪問所有計算核心進行計算?
- 5. 使用R中的多個核心計算SVD
- 6. 如何使用所有cpu核心vs2010 winform設計?
- 7. 如何使用客戶端計算機的核心服務連接到Tridion
- 8. OpenMP,使用並行的所有核心
- 9. 用於Windows計算機的CPU核心溫度的SNMP OID
- 10. 如何使用核心位置計算速度?
- 11. 如何使用核心位置計算速度?
- 12. nvidia cuda使用機器的所有核心
- 13. 如何使圖像處理使用所有的CPU核心
- 14. 如何充分利用所有使用Scala actor的核心?
- 15. 如何在所有域計算機上使用I Exchange命令?
- 16. 使用perfsuite爲所有核心
- 17. 使用networkx提取所有k核心
- 18. 使用虛擬單核虛擬化guest虛擬機上的所有cpu核心
- 19. 從林中的所有計算機獲取所有計算機LastLogon
- 20. Scala如何在這裏使用我所有的核心?
- 21. 如何讓我的計算機中的所有exe文件的路徑與c#
- 22. 如何計算使用R的組數?
- 23. 如何獲取計算機中所有打印機的列表
- 24. 如何讓Hadoop使用我係統上的所有內核?
- 25. 如何枚舉計算機所在子網的所有ip
- 26. r - 多核心計算神經網絡包
- 27. 如何找到用戶登錄到的所有計算機
- 28. 核心數據中的計算屬性
- 29. 如何在非windows計算機上的dotnet核心中創建類庫包?
- 30. 利用單機上的所有核心Hadoop
請注意,要查看小插曲,您可能必須執行'vignette(package =「parallel」,topic =「parallel」)''。對我而言,如果我不添加'topic =',它只會列出小插曲。 –
@徐旺確實。我的意思是說你可以通過該代碼列出它是如何被列出的 - 我不記得主題名稱,我還沒有在辦公室切換到2.14.0。只是懶惰。但會編輯以上。謝謝。 –
不用擔心。從你的許多詳細的答案來看,你是懶惰的對立面! –