24小时热门版块排行榜    

查看: 2344  |  回复: 26

hakuna

木虫 (知名作家)

引用回帖:
8楼: Originally posted by souledge at 2012-05-25 22:47:27
OpenMP和OpenMPI是两个东西,第一个是内存共享的线程并行,第二个是进程并行MPI的一个实例化程序~前者在软件有代码支持的时候不需要外加程序就可以使用,在单机多核的并行效率比MPI高。后者MPI是无论是否编译时采 ...

多敲了个I,那个地址应该是OPENMP,还有VASP测试结果
11楼2012-05-25 22:56:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

souledge

专家顾问 (著名写手)

引用回帖:
11楼: Originally posted by hakuna at 2012-05-25 22:56:27
多敲了个I,那个地址应该是OPENMP,还有VASP测试结果...

就是这个地址,清晰的说VASP不支持OpenMP,所以用了其他的方法来测试并行效率。
首先文章介绍了测试的两个程序,VASP和PWscf,前者是用MPI,后者支持OpenMP:
引用回帖:
NERSC provides a large number of precompiled Materials Science and Chemistry application codes, while majority of them are still flat MPI codes, eg., VASP, some of them have already had OpenMP directives added in the codes, eg., Quantum Espresso. To help to address the reduced per core memory on Hopper, and to take advantage of the imporved performance from using OpenMP, we chose two representative density functional theory (DFT) codes, VASP and Quantum Espresso codes, and analyzed their performance on Hopper upon the use of OpenMP and/or the multi-threaded BLAS library.

然后是上面有人已经摘抄的一段:
引用回帖:
VASP is an application for performing ab-initio quantum-mechanical molecular dynamics (MD) calculations using pseudopotentials and a plane wave basis set. Currently it is the most frequently used DFT code at NERSC. VASP is written in Fortran90 and is parallelized with MPI. The current version of VASP (5.2.11) does not have OpenMP implemented in the code. However, by linking the code to the Cray multi-threaded scientific library (-lsci_mc12_mp) we are able to get some measure of the effects of threading upon its performance. This is a low-effort OpenMP implementation. We mesured the runtime and the memory usage of the two most commonly used iteration schemes, the RMM-DIIS and the blocked Davidson, for electronic iterations with two test cases that NERSC users provided.

思想重于技巧,内涵重于表象
12楼2012-05-25 23:04:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hakuna

木虫 (知名作家)

引用回帖:
12楼: Originally posted by souledge at 2012-05-25 23:04:02
就是这个地址,清晰的说VASP不支持OpenMP,所以用了其他的方法来测试并行效率。
首先文章介绍了测试的两个程序,VASP和PWscf,前者是用MPI,后者支持OpenMP:

然后是上面有人已经摘抄的一段:
...

那这个怎么理解“However, by linking the code to the Cray multi-threaded scientific library (-lsci_mc12_mp) we are able to get some measure of the effects of threading upon its performance........”
13楼2012-05-25 23:08:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zouming1979

捐助贵宾 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
fzx2008: 金币+2, 谢谢指教 2012-05-26 12:30:47
zytcv: 金币+5, 有帮助 2012-05-31 17:45:05
如果服务器的处理器是intel的,而且是几年前买的,肯定就是2个CPU,每个CPU4个核。
目前大多数我看到的vasp都是多进程版本,不是多线程版本的,因此如果不安装MPI,应该就不能跑并行程序,只能跑串行程序了。大多系统都自带了MPI库,一般都是openmpi。
vasp的安装教程网上应该都有,找找应该能找到的。
14楼2012-05-25 23:52:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zouming1979

捐助贵宾 (小有名气)

引用回帖:
13楼: Originally posted by hakuna at 2012-05-25 23:08:34
那这个怎么理解“However, by linking the code to the Cray multi-threaded scientific library (-lsci_mc12_mp) we are able to get some measure of the effects of threading upon its performance........”...

用MPI写的程序都是send,recv之类的代码,用OpenMP主要是在循环的地方加上一些编译导语,指导编译器如何进行代码多线程化的编译。
上面的这句话的意思要看完整段话,大概应该是说部分代码直接可以链接到cray多线程的数学库,这样就可以达到多线程对性能带来的影响。因为部分代码做计算时,可以直接调用库,不必非要自己来写。因此链接多线程的库,自然在调用该函数的时候,计算进程就变成多线程的了,这样就可以评价多线程的效果,但是只是部分地方可以这样做,并不是全部地方都可以。更重要的是这样做的目的只是为了评价多线程的性能而已,不是真正的改造。
15楼2012-05-26 00:00:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hakuna

木虫 (知名作家)

引用回帖:
15楼: Originally posted by zouming1979 at 2012-05-26 00:00:47
用MPI写的程序都是send,recv之类的代码,用OpenMP主要是在循环的地方加上一些编译导语,指导编译器如何进行代码多线程化的编译。
上面的这句话的意思要看完整段话,大概应该是说部分代码直接可以链接到cray多线程 ...

领教了,多谢谢
16楼2012-05-26 08:45:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zytcv

银虫 (小有名气)

引用回帖:
3楼: Originally posted by dxf_dxf_dxf at 2012-05-24 19:20:06
如果你想用多个进程同时计算,就需要使用MPI。VASP是不支持OpenMP的。
如果你不安装MPI,一个计算任务就只有一个进程。
BTW,问一句CPU的个数和核的个数不一样啊?

应该不一样吧?8个核不会是八个cpu吧...
17楼2012-05-26 12:20:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zytcv

银虫 (小有名气)

引用回帖:
14楼: Originally posted by zouming1979 at 2012-05-25 23:52:46
如果服务器的处理器是intel的,而且是几年前买的,肯定就是2个CPU,每个CPU4个核。
目前大多数我看到的vasp都是多进程版本,不是多线程版本的,因此如果不安装MPI,应该就不能跑并行程序,只能跑串行程序了。大多系 ...

你好,教程看了不少,可是我安装mpich2的时候,出现了f90 and f90flags are replaced by fc...这样的错误,不知道怎么弄了...
18楼2012-05-26 12:24:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zytcv

银虫 (小有名气)

引用回帖:
2楼: Originally posted by hakuna at 2012-05-24 08:54:40
并行的话肯定需要MPI,并且按并行方式编译才可以....
如果不是必须并行,譬如做NEB或大体系计算或赶时间,那就无所谓了,你可以同时多加几个作业....

像这样八个核,要算晶体的能带等东西,要是不安装并行的话,是不是只会调用一个核,而且速度会比并行的慢啊?
19楼2012-05-26 12:28:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dxf_dxf_dxf

银虫 (小有名气)

引用回帖:
10楼: Originally posted by souledge at 2012-05-25 22:52:42
严格说,CPU个数是以sockets,也就是CPU接口为准的,说白了,就是买了一个CPU还是俩CPU。而核数是一个CPU内又细分的核心数量。
由于现在基本都是多核心的CPU,所以对于多socket的工作站和服务器,都是按照core *  ...

求教:
主板、CPU、核心(core)、socket之间是什么关系?
我的笔记本是i5-2430M的CPU,windows进程管理器显示有4个CPU,据同学说我这个处理器有2个核,然后每个核又被虚拟成2个,所以一共4个,实际只有2个,这个说法有问题不?如果没有问题,我的电脑有2个core,每个core有2个socket,是这样么?
20楼2012-05-26 13:23:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zytcv 的主题更新
信息提示
请填处理意见