24小时热门版块排行榜    

CyRhmU.jpeg
查看: 4001  |  回复: 17

yaozhq

金虫 (小有名气)

★ ★
送鲜花一朵
zh1987hs: 金币+2, 谢谢 2012-11-23 12:52:23
引用回帖:
9楼: Originally posted by 风间的记忆 at 2012-11-21 14:03:37
超线程在BIOS里关
超线程对于CPU利用低的程序是适合的
但科学计算一般CPU都要用满的
所以不适合...

不一定吧 如果细分cpu内的代码执行,仍然有存取数据所需要的时间,这个时候如果插入一个超线程的计算指令,实际上是更高效率运用cpu的。当然从整体的并行角度更多的线程可能带来更多的信息交互开销从而抵消掉CPU利用率提高造成的好处。
11楼2012-11-21 15:13:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

风间的记忆

铁杆木虫 (著名写手)

★ ★
zh1987hs: 金币+2, 谢谢 2012-11-23 12:52:37
引用回帖:
11楼: Originally posted by yaozhq at 2012-11-21 15:13:06
不一定吧 如果细分cpu内的代码执行,仍然有存取数据所需要的时间,这个时候如果插入一个超线程的计算指令,实际上是更高效率运用cpu的。当然从整体的并行角度更多的线程可能带来更多的信息交互开销从而抵消掉CPU利 ...

凡事都有不一定
我指的大多数 普遍的情况
但所谓这时候插入一个超线程的计算指令
和我所说的不相干
你那个理论上讲是对的
但前提是你哪里知道何时是CPU空闲时间
从而带来的内存数据是否要重新从硬盘读写等等都可能有很多不确定的因素
个人感觉 理论很美 现实很残酷
九州浩淼,任其东西,明日何在,但随我意。
12楼2012-11-21 15:54:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
13楼2012-11-22 09:23:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lbh_xt

新虫 (小有名气)

引用回帖:
10楼: Originally posted by jiaoyixiong at 2012-11-21 14:10:40
我测试的模拟体系大约有20万个原子,你的模拟体系太小了...

你是用lammps中的哪个命令记录整个程序运行所用的时间的啊。我是通过看log文件的。求解
安静
14楼2012-11-23 22:20:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yaozhq

金虫 (小有名气)

引用回帖:
12楼: Originally posted by 风间的记忆 at 2012-11-21 15:54:24
凡事都有不一定
我指的大多数 普遍的情况
但所谓这时候插入一个超线程的计算指令
和我所说的不相干
你那个理论上讲是对的
但前提是你哪里知道何时是CPU空闲时间
从而带来的内存数据是否要重新从硬盘读写等等 ...

我觉得应该以实际测试为准  
如果说2002年推出的时候 该技术只是一种尝试 2012年的今天 intel 应该已经把其做的更加成熟了 加之软件的支持优化 包括编译器的针对性优化
正是因为不确定性因为 才会使得cpu计算单元总是不能真正跑满  总不可能把所有数据放进缓存吧 从内存读数据对于cpu来说也是慢的了 总要闲置的  对于不是负责的跳转执行 可以很容易的知道在排队的指令里哪些是要读数据的 读的时候就让内核去跑一下另一个排队的进程指令就好了
对于超算中心那种规模可能会主动关闭  而小的单机环境应该不会那么绝对
15楼2012-11-24 14:22:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lbh_xt

新虫 (小有名气)

引用回帖:
4楼: Originally posted by jiaoyixiong at 2012-11-20 09:57:56
写个小程序就想比较计算速度,有点儿不太合适吧。
如果你一个体系很小的体系,用太多的CPU,反而浪费很多时间在信息的传递上,
并行计算的优势是大体系分块算。
我也坐过类似的测试:...

我从分子模拟论坛里看到这个     http://www.mdbbs.org/thread-19233-1-1.html
"主要是因为Linux的内核有两种,一是.elsmp,一是el,前者是symmetric multiprocessing对称对处理器,后者是uniprocessor单处理器。而我启动Linux时,选择的是后者,所以并行的核越多,速度越慢。因此,要并行的话,应该选择elsmp才对。"

可是我的LINUX装的是 ubuntu-10.04.4,开机的是候没有上面所说的两个选项,请问是不是这个原因呢?
ubuntu不支持el吗 ?怎么进行设置呢?
安静
16楼2012-11-24 15:55:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lbh_xt

新虫 (小有名气)

引用回帖:
12楼: Originally posted by 风间的记忆 at 2012-11-21 15:54:24
凡事都有不一定
我指的大多数 普遍的情况
但所谓这时候插入一个超线程的计算指令
和我所说的不相干
你那个理论上讲是对的
但前提是你哪里知道何时是CPU空闲时间
从而带来的内存数据是否要重新从硬盘读写等等 ...

我从分子模拟论坛里看到这个     http://www.mdbbs.org/thread-19233-1-1.html
"主要是因为Linux的内核有两种,一是.elsmp,一是el,前者是symmetric multiprocessing对称对处理器,后者是uniprocessor单处理器。而我启动Linux时,选择的是后者,所以并行的核越多,速度越慢。因此,要并行的话,应该选择elsmp才对。"

可是我的LINUX装的是 ubuntu-10.04.4,开机的是候没有上面所说的两个选项,请问是不是这个原因呢?
ubuntu不支持el吗 ?怎么进行设置呢?
安静
17楼2012-11-24 15:56:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meihai3166

木虫 (小有名气)

体系规模越大越能发挥并行优势,规模小用并行只会在数据交互上浪费大量时间。
ToughGuy
18楼2013-03-15 00:25:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 lbh_xt 的主题更新
信息提示
请填处理意见