我有一個啓用了超線程的多核心。每個物理核心有兩個邏輯核心。現在我可以用1個內核和它的邏輯內核來運行我的程序嗎?意味着我們的程序使用這個核心的2個邏輯核心運行,但其他核心處於空閒狀態。用邏輯線程運行程序
0
A
回答
1
現在我可以運行我的程序與1核心及其邏輯核心?
是的,但要利用比1多的內核,您必須在多個線程中執行您的應用程序。 IE瀏覽器。如果您正在使用pthread,則使用pthread_setaffinity_np
指定線程應執行的內核。
如果您想讓您的算法並行運行,那麼請考慮使用OpenMP或TBB(線程構建模塊)。這些庫允許很容易地將順序執行的應用程序轉換爲並行應用程序IE瀏覽器。而不是使用for
您使用parallel_for
。此外,您的代碼將自動使用所有可用(或配置)的內核數 - 無論CPU是2個內核還是16個內核。
+0
您可能還會發現Ulrich Drepper的可擴展並行化講座:https://www.youtube.com/watch?v = jfimI7UC9Pg – aho
相關問題
- 1. 多線程程序邏輯
- 2. 多線程邏輯
- 3. iPhone應用程序邏輯
- 4. C#和多線程邏輯
- 5. 多線程邏輯狀態
- 6. 查詢邏輯與程序邏輯
- 7. 在本地託管和運行azure邏輯應用程序
- 8. 保存邏輯應用程序運行到數據庫
- 9. 在運行時更改應用程序的邏輯
- 10. 銀行賬戶程序邏輯錯誤
- 11. 應用程序線程繼續運行
- 12. Ruby編校程序邏輯?
- 13. 理解程序的邏輯
- 14. COBOL程序中的邏輯
- 15. C程序邏輯實現
- 16. 確定邏輯程序
- 17. 程序邏輯錯誤
- 18. 程序在運行邏輯之前退出
- 19. 超線程CPU +調度程序上的硬件線程(邏輯核心)
- 20. 應用程序邏輯與業務邏輯
- 21. 程序可視化邏輯流程
- 22. C++線程應用程序比非線程運行速度慢
- 23. 在單獨的線程中運行邏輯仍然鎖定用戶界面 - Java
- 24. 邏輯應用程序變量
- 25. Bill Splitter Calculator Android應用程序邏輯
- 26. 用決策樹邏輯實現程序
- 27. 應用程序邏輯與授權
- 28. MVVM中央應用程序邏輯
- 29. 邏輯應用程序foreach - 變體?
- 30. Dropbox OSX應用程序邏輯
從應用程序的角度來看,邏輯核心只是一個核心,線程是一個線程。線程將如何分配給內核取決於操作系統。如果你想讓一個線程在特定的核心上,你必須[設置它的親和力](http://man7.org/linux/man-pages/man3/pthread_setaffinity_np.3.html)。 –