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