| 查看: 769 | 回复: 1 | ||
| 本帖产生 1 个 1ST强帖 ,点击这里进行查看 | ||
[求助]
Parallel options设置求助
|
||
|
siesta-3.1 Parallel options cpu:i7 2600 4核 看了手册上关于BlockSize 和 ProcessorY的说明,请问这两项应该怎么设置啊? 我用的默认设置,计算时输出文件显示 这两项分别是24 和 2 如果自己指定应该设为什么? 此外 编译设定 single precision 和 double precision 哪个计算更快? |
» 猜你喜欢
售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急
已经有18人回复
售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急
已经有11人回复
2027博士申请-临床检验诊断学、病原生物学、微生物方向
已经有4人回复
售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急
已经有17人回复
售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急
已经有10人回复
售SCI文章,我:8O.5.5.1O.54,科目全,可十急
已经有22人回复
越来越担心硕士毕业后没有竞争力了
已经有14人回复
论文的挂名怎么评判贡献?基金申请中,排名第一的挂名文章
已经有3人回复
申博自荐 2篇一区TOP+1篇EI+2公开发明专利 2027博士申请
已经有3人回复
闲聊
已经有6人回复
» 本主题相关价值贴推荐,对您同样有帮助:
siesta-3.1编译成功,但有几个问题求助
已经有7人回复
【求助】安装siesta2.0.2时如何编译arch.make??
已经有17人回复
【整理】今天整理硬盘上的资料,偶然发现的好玩的小东西就直接发上来吧
已经有106人回复
【求助成功】vasp5.2并行安装不上
已经有18人回复
【求助】求详细的PWscf并行编译过程(越详细越好,包括各种环境和参数的设置,及软件�
已经有29人回复
【求助】vasp安装与编译问题(100金币)
已经有10人回复
【求助】vasp并行安装mpich2的错误
已经有10人回复
【求助】vasp安装问题
已经有27人回复
【求助】VASP考虑自旋轨道耦合的话,如何编译
已经有17人回复

zhangguangping
木虫 (著名写手)
- 1ST强帖: 23
- 应助: 71 (初中生)
- 贵宾: 0.031
- 金币: 1974.1
- 散金: 9059
- 红花: 79
- 帖子: 2681
- 在线: 2128.8小时
- 虫号: 529624
- 注册: 2008-03-20
- 性别: GG
- 专业: 原子和分子物理
【答案】应助回帖
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
liliangfang: 金币+2, 谢谢指教 2012-05-04 20:55:34
fzx2008: 1ST强帖+1 2012-05-04 20:59:25
fzx2008: 编辑内容 2012-05-04 20:59
love5264: 金币+20, ★★★★★最佳答案, 学习了,非常感谢! 2012-05-05 03:44:48
感谢参与,应助指数 +1
liliangfang: 金币+2, 谢谢指教 2012-05-04 20:55:34
fzx2008: 1ST强帖+1 2012-05-04 20:59:25
fzx2008: 编辑内容 2012-05-04 20:59
love5264: 金币+20, ★★★★★最佳答案, 学习了,非常感谢! 2012-05-05 03:44:48
|
我所了解的siesta的并行有三个地方: 1.是基函数的并行 2.是grid的并行 3.是k点的并行 首先说说第3中,这种并行效率非常高,但是前提是k点的数目比起所用的核数要多的多,这种情况一般出现在对于金属体系的计算上:体系比较小,因此基函数比较少,而要想得到比较好的结果,需要的k点数目非常多,所以这个时候k点一般来说是比核数多的多(起码比起基函数相对于核数来说要多的多),这种情况下,建议用Diag.ParallelOverK T. 但是采用了这个选项不是说所有的地方都是采用k点并行了,如果涉及到计算“能带”,“体系的波函数”这些计算的时候,程序还是采用的是对于轨道的并行。如果你的体系设置了NonCollinearSpin T,那么也不能使用这个选项。 从上面来看,用户碰到的大多数的计算的并行应该是在(1)基函数的并行框架下。 基函数的并行下,需要确定每一个核上面分得的基函数的数目,这个量是由BlockSize控制的。程序会将计算中用到的基函数的数目按照BlockSize的数目依次打包,并且轮回地发送到各个核上去计算。如果这个数目太小,那么这个分发将会很频繁,大家之后,在并行计算的时候,如果每次分给核的任务太少,那么这个分发任务的时间就显得很大,这个就降低了计算效率。但是如果每次给核分配的任务太多,对于依赖于基函数的计算来说,计算量的大小并不是严格与基函数的数目成正比。所以会出现虽然基函数的数目每一个核上一样多,但是计算量却相差很大,这也出现了负载不均衡,造成并行效率不高。因此这个数目需要合适的选择。如果输入文件中没有设置该选项的话,程序对于这个参数会做一个选择: 如果基函数数目>24*np,那么BlockSize为24, 如果基函数数目<=24*np,那么BlockSize=(基函数数目-1)/np+1 其中np表示核的数目。 同时,有些数据是grid类型的,也就是说是空间格点的文件。对于这些数据的计算,并行是针对格点并行的,因为每一个格点上面的数据会和每一个基函数相关。程序会把整个体系的大小按照LatticeVectors的形状和大小以及Meshcutoff的值来沿着三个晶包矢量对体系打网格。而格点对于各个核的分配是在Y和Z方向的划分。所以将核的数目也做成一个2D的网格,要求ProcessorY能够被核数整除因为ProcessorZ的值由np/ProcessorY得到。具体的再怎么将grid格点分配到各个节点,这个我还不懂。你可以看看程序。对于ProcessorY的寻找,程序也会自动给出一个值,但是只对np是2或3或5的倍数的np起作用,否则ProcessorY=1。 对于这两个参数,我都是让程序自动给出。这个参数不同的任务应该是不同的。如果想找最优值的话,估计任务都算出来好几遍了。 上面仅仅是个人的理解,如有理解不对的地方,请专家指教. [ Last edited by fzx2008 on 2012-5-4 at 20:59 ] |

2楼2012-05-04 20:50:25










回复此楼