※ 引述《micklin (離鄉背井的米克)》之銘言:
: 不考慮UI thread的情況下,
: 執行緒的數目大於處理器(或核心)的數目是有意義的嗎?
: 現在在用openmp來加速程式的計算,
: 執行緒的處目只設成2, 用 omp_set_num_threads(omp_get_num_procs())來設定的,
: 在雙核心的處理器之下效能顯著提升,
: 如果我把執行緒的數目提到4, 有意義嗎?
應該是要看 OS 實作,不過一般來講我想差異應該不大
請問你用 openMP 前後是差多少?
未用 openMP 時兩支程式是一樣的嗎? (ex: ./a.out 用不同命令列參數跑兩次?)
兩支程式間有頻繁的互相鎖定嗎?
: 另一個問題是,
: 之前程式還未使用 openmp 時, 是一次執行兩個,
: 假設這兩個程式所需要的時間是 t1, t2,
: 那他們都執行完畢總共需要 max(t1,t2) 的時間.
: 如果現在用多執行緒的技術, 一樣要跑兩個,
: 所需要的時間是否會因為overhead之類的損耗, 反而跑更久?
應該不至於
: 謝謝您的回答!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.126.49