看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《hoson (林老師賣的冰淇淋)》之銘言: : 大家好 : 我想請問兩個問題 : 1.我目前寫了一個程式 可是都沒有用到thread等多工的概念 : 可以從XP的工作管理員發現 兩顆CPU都有在運作 兩個的計算量是差不多大的 : 然後總共的CPU使用率約八十 : 想請問 是因為OS將我的程式的運算量自動分配到兩個core上嗎? single thread的, 最多佔50% (雙CPU), 50~80%那部份是別的程式吃掉了... : 2.在OpenMP上 我可以指定某個thread在core1跑 另外一個thread在core2上跑嗎? : 如果可行的話 可以請板友分享一下關鍵字嗎? : 謝謝大家 理論上無法強制指定是哪一顆幫你執行 CPU硬體是抽象的, 由OS幫你分配資源, 但是可以啟動多個thread, 理論上OS會幫你做到負載平衡... 關鍵字 OpenMP ( = =||| ) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.195.2.203
hoson:感謝原po 不過似乎可以指定cpu? 雖然我還沒有試出來就是了.. 03/18 05:22
WPC001:不用客氣, 程式不應該"強姦"OS而去控制程式碼被哪顆CPU執行 03/18 20:11
WPC001:process的管理是屬於OS該做的事情, 而且應該是level 0的 03/18 20:12
WPC001:AP應該坐落在level 3, 很多事情不是你該管該煩惱的... 03/18 20:12
hoson:ok! 再次感謝! 03/19 03:20