作者micklin (离乡背井的米克)
看板CSSE
标题Re: [问题] 执行绪数目问题
时间Sat Jul 21 13:33:25 2007
※ 引述《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