24小时热门版块排行榜    

查看: 2704  |  回复: 21

wnryc

新虫 (初入文坛)

测试的体系不是很大(16个原子),我还是先弄清楚串行的问题。即使串行的,有时vasp对一些体系能跑起来,有些体系就出现上面提到错误报错。请大家帮我看下我的串行makefile文件是否恰当。
机器配置:
1)Xeon E5504 CPU 2.0G (两颗四核, 64 bit),内存2*4G,Cache size=4096 M
2)RHEL 5.4 (64 bit):Linux qltang1 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
3) mpich2: 1.2.1p1
4) pgi: 9.0.1

makefile内容是(部分没有修改的未列出):
.SUFFIXES: .inc .f .f90 .F
SUFFIX=.f

FC=pgf90
FCL=$(FC)

CPP_ =  ./preprocess <$*.F | /usr/bin/cpp -P -C -traditional >$*$(SUFFIX)
CPP    = $(CPP_) -DHOST=\"LinuxPgi\" \
          -Dkind8 -DNGXhalf -DCACHE_SIZE=4096 -DPGF90 -Davoidalloc \
          -DRPROMU_DGEMV
FFLAGS =  -Mfree -Mx,119,0x200000
OFLAG  = -O2  -tp p7-64

OFLAG_HIGH = $(OFLAG)
OBJ_HIGH =
OBJ_NOOPT =
DEBUG  = -g -O0
INLINE = $(OFLAG)

BLAS= -L/usr/local/pgi-9.0.1/linux86-64/9.0-1/lib -lblas
LAPACK= -L/usr/local/pgi-9.0.1/linux86-64/9.0-1/lib -llapack

LIB  = -L../vasp.4.lib -ldmy \
     ../vasp.4.lib/linpack_double.o $(LAPACK) \
     $(BLAS)

LINK    =

FFT3D   = fft3dfurth.o fft3dlib.o

用这个makefile编译的串行vasp,有些作业能跑,有些作业就出现上面的问题。请大家帮我检查下,我的makefile问题出在哪?谢谢!
Dr.Qian-LinTang
11楼2010-06-18 18:57:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

后天一

木虫 (小有名气)

我们的自由!

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
hedaors(金币+1):谢谢交流 2010-06-18 22:17:58
看你的m文件没什么问题,不过,PGI编译器问题很多。你是Intel平台为什么不试试Intel编译器 GotoBLAS库
12楼2010-06-18 22:01:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wnryc

新虫 (初入文坛)

我这儿只有Intel-Fortran-compiler-9.0,太老了,不兼容我装的新红帽系统RHEL v.5.4。我到intel主页下载新版本的Intel编译器,可速度太慢了,所以根本下载不了。搂主能否通过sftp(IP能出校外网,且是教育网)给我传一个较新版本的Intel-Fortran-compiler和mkl 呢?
谢谢!
Dr.Qian-LinTang
13楼2010-06-22 15:04:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
lvjian8596(金币+2):感谢帮助! 2010-06-22 22:14:30
引用回帖:
Originally posted by wnryc at 2010-06-18 18:56:28:
测试的体系不是很大(16个原子),我还是先弄清楚串行的问题。即使串行的,有时vasp对一些体系能跑起来,有些体系就出现上面提到错误报错。请大家帮我看下我的串行makefile文件是否恰当。
机器配置:
1)Xeon E ...

CPP    = $(CPP_) -DHOST=\"LinuxPgi\" \
          -Dkind8 -DNGXhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc \
          -DRPROMU_DGEMV
FFLAGS =  -Mfree -Mx,119,0x200000
OFLAG  = -O2   -tp x64  -mcmodel=medium

另外建议将BLAS和LAPACK用AMD 的ACML库,这个会提升速度。
14楼2010-06-22 19:47:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wnryc

新虫 (初入文坛)

谢谢valenhou001 的帮助,我把makefile中相应部分改为valenhou001所建议的设置:
CPP    = $(CPP_) -DHOST=\"LinuxPgi\" \
          -Dkind8 -DNGXhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc \
          -DRPROMU_DGEMV
FFLAGS =  -Mfree -Mx,119,0x200000
OFLAG  = -O2   -tp x64  -mcmodel=medium

可编译串行vasp后,执行vasp却出现段错误,即
[qltang@qltang1 pgi]$ vasp.recommd
vasp.4.6.21  23Feb03 complex
POSCAR found :  3 types and   48 ions
Segmentation fault

不知问题又出在哪里?
谢谢!
Dr.Qian-LinTang
15楼2010-06-24 12:08:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wnryc

新虫 (初入文坛)

我感觉是stack size limit的问题
我又试了下gump_813276建议的在vasp源程序增加一个limit.c文件,按照修改方法,我在main.F中的这个位置:
      CHARACTER (LEN=5)   IDENTIFY
!-----parameters for sphpro.f
      INTEGER :: LDIMP,LMDIMP,LTRUNC=3

!=======================================================================
! All COMMON blocks
!=======================================================================
      INTEGER IXMIN,IXMAX,IYMIN,IYMAX,IZMIN,IZMAX
      COMMON /WAVCUT/ IXMIN,IXMAX,IYMIN,IYMAX,IZMIN,IZMAX

      INTEGER  ISYMOP,NROT,IGRPOP,NROTK,INVMAP,NPCELL
      REAL(q)  GTRANS,AP
      REAL(q)  RHOTOT(4)
      INTEGER(8) IL,I1,I2_0,I3,I4
#ifdef gammareal
      CHARACTER (LEN=*),PARAMETER :: VASP='vasp.4.6.21  13Feb03 gamma-only'
#else
      CHARACTER (LEN=*),PARAMETER :: VASP='vasp.4.6.21  23Feb03 complex '
#endif

      COMMON /SYMM/   ISYMOP(3,3,48),NROT,IGRPOP(3,3,48),NROTK, &
     &                GTRANS(3,48),INVMAP(48),AP(3,3),NPCELL

!=======================================================================
!  initialise / set constants and parameters ...
!=======================================================================
      IO%LOPEN =.TRUE.  ! open all files with file names
      IO%IU0   = 6
      IO%IU6   = 8
#ifdef Fujitsu
      IO%IU5   = 7
#else
      IO%IU5   = 5
#endif
!R.S
      tiu6 = IO%IU6
      tiu0 = IO%IU0

      IO%ICMPLX=ICMPLX
      IO%MRECL =MRECL
      PRED%ICMPLX=ICMPLX

      CALL stacksize() (注:这是新增加的行)

      CALL TIMING(0,UTIME,STIME,ETIME,MINPGF,MAJPGF, &
     &            RSIZM,AVSIZ,ISWPS,IOOPS,IVCSW,IERR)
      IF (IERR/=0) ETIME=0._q
! switch off kill
然后编译串行vasp,得到二进制vasp文件。可执行测试算例时,同样VASP只读入输入文件就报这样的错误:
[qltang@qltang1 pgi]$ !vasp
vasp
Before: cur=-1,hard=-1
After: res=0,cur=-1,hard=-1
vasp.4.6.21  23Feb03 complex
POSCAR found :  3 types and   48 ions
LDA part: xc-table for Ceperly-Alder, Vosko type interpolation para-ferro
POSCAR, INCAR and KPOINTS ok, starting setup
WARNING: wrap around errors must be expected
FFT: planning ...           16
reading WAVECAR
entering main loop
       N       E                     dE             d eps       ncg     rms          rms(c)
*** glibc detected *** vasp: free(): invalid next size (fast): 0x0000000011c92760 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3fd74722ef]
/lib64/libc.so.6(cfree+0x4b)[0x3fd747273b]
vasp[0x4f6176]
======= Memory map: ========
00400000-006bc000 r-xp 00000000 08:03 1770606                            /usr/local/bin/vasp
008bb000-008e9000 rwxp 002bb000 08:03 1770606                            /usr/local/bin/vasp
008e9000-00c32000 rwxp 008e9000 00:00 0
11bc5000-123cc000 rwxp 11bc5000 00:00 0                                  [heap]
3fd6c00000-3fd6c1c000 r-xp 00000000 08:03 3204371                        /lib64/ld-2.5.so
3fd6e1b000-3fd6e1c000 r-xp 0001b000 08:03 3204371                        /lib64/ld-2.5.so
3fd6e1c000-3fd6e1d000 rwxp 0001c000 08:03 3204371                        /lib64/ld-2.5.so
3fd7400000-3fd754d000 r-xp 00000000 08:03 3204372                        /lib64/libc-2.5.so
3fd754d000-3fd774d000 ---p 0014d000 08:03 3204372                        /lib64/libc-2.5.so
3fd774d000-3fd7751000 r-xp 0014d000 08:03 3204372                        /lib64/libc-2.5.so
3fd7751000-3fd7752000 rwxp 00151000 08:03 3204372                        /lib64/libc-2.5.so
3fd7752000-3fd7757000 rwxp 3fd7752000 00:00 0
3fd7c00000-3fd7c82000 r-xp 00000000 08:03 3204376                        /lib64/libm-2.5.so
3fd7c82000-3fd7e81000 ---p 00082000 08:03 3204376                        /lib64/libm-2.5.so
3fd7e81000-3fd7e82000 r-xp 00081000 08:03 3204376                        /lib64/libm-2.5.so
3fd7e82000-3fd7e83000 rwxp 00082000 08:03 3204376                        /lib64/libm-2.5.so
3fd8000000-3fd8016000 r-xp 00000000 08:03 3204374                        /lib64/libpthread-2.5.so
3fd8016000-3fd8215000 ---p 00016000 08:03 3204374                        /lib64/libpthread-2.5.so
3fd8215000-3fd8216000 r-xp 00015000 08:03 3204374                        /lib64/libpthread-2.5.so
3fd8216000-3fd8217000 rwxp 00016000 08:03 3204374                        /lib64/libpthread-2.5.so
3fd8217000-3fd821b000 rwxp 3fd8217000 00:00 0
3fd8800000-3fd8807000 r-xp 00000000 08:03 3204377                        /lib64/librt-2.5.so
3fd8807000-3fd8a07000 ---p 00007000 08:03 3204377                        /lib64/librt-2.5.so
3fd8a07000-3fd8a08000 r-xp 00007000 08:03 3204377                        /lib64/librt-2.5.so
3fd8a08000-3fd8a09000 rwxp 00008000 08:03 3204377                        /lib64/librt-2.5.so
3fdd000000-3fdd00d000 r-xp 00000000 08:03 3202051                        /lib64/libgcc_s-4.1.2-20080825.so.1
3fdd00d000-3fdd20d000 ---p 0000d000 08:03 3202051                        /lib64/libgcc_s-4.1.2-20080825.so.1
3fdd20d000-3fdd20e000 rwxp 0000d000 08:03 3202051                        /lib64/libgcc_s-4.1.2-20080825.so.1
2b2cd10a3000-2b2cd10a9000 rwxp 2b2cd10a3000 00:00 0
2b2cd10ca000-2b2ce4648000 rwxp 2b2cd10ca000 00:00 0
7fff16e0a000-7fff16e1f000 rwxp 7ffffffea000 00:00 0                      [stack]
ffffffffff600000-ffffffffffe00000 ---p 00000000 00:00 0                  [vdso]
Aborted (core dumped)
[qltang@qltang1 pgi]$

所以我想继续请教这个问题:我的问题出在哪里呢?和我装的rhel 5.4有关吗?
谢谢!
Dr.Qian-LinTang
16楼2010-06-25 11:14:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
hedaors(金币+2):Thanks 2010-06-25 18:55:22
1、先用命令ulimit -a检查前面帖子有人提到的stack size

http://rcsg.rice.edu/rcsg/shared/ulimit.html
http://compute.cnr.berkeley.edu/cgi-bin/man-cgi?ulimit+2

2、检查你的cpu芯片的型号,如果是Intel Quad-Core Core i7 (Nehalem) 64-bit mode
也可以试试专门针对这种芯片的cpu以及pgi 9.0-1版本:
-tp nehalem-64 -fastsse -Bstatic
17楼2010-06-25 18:37:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

quantumfang

至尊木虫 (著名写手)

小木虫中医研究院院长

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
hedaors(金币+1):Thanks 2010-06-26 07:54:14
intel 的CPU就用intel编译器吧

我在AMD cpu上也用pgf90编译了vasp,稳定性极差,也是有的体系能算有的不能算,程序经常直接死掉,kill都没用,进程里面仍然挂着。当然问题不在于mpi。我用mpich1

后来换用纯intel的编译环境、数学库,非常稳定。

让AMD、PGI吹牛去吧
18楼2010-06-26 06:39:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wnryc

新虫 (初入文坛)

根据valenhou001的建议,
1)利用ulimit命令,我检查了stack size,而且挑高了stack size,结果也出现类似的报错信息。
2)在makefile里修改OFLAG为:OFLAG  = -O2  -tp nehalem-64 -fastsse -Bstatic,结果不能编通VASP,出现如下报错:
.....................
diolib.f:(.text+0xf21): undefined reference to `for_inquire'
diolib.f:(.text+0xf97): undefined reference to `for_inquire'
diolib.f:(.text+0x1004): undefined reference to `for_inquire'
...............................(省略)..................................................
drdatab.f:(.text+0x389): undefined reference to `for_read_seq_fmt'
drdatab.f:(.text+0x423): undefined reference to `for_concat'
drdatab.f:(.text+0x560): undefined reference to `for_cpystr'
drdatab.f:(.text+0x5ca): undefined reference to `for_cpystr'
drdatab.f:(.text+0x695): undefined reference to `for_cpstr'
drdatab.f:(.text+0x711): undefined reference to `for_cpystr'
drdatab.f:(.text+0x78d): undefined reference to `for_cpystr'
drdatab.f:(.text+0x7ae): undefined reference to `for_cpystr'
drdatab.f:(.text+0x7fa): undefined reference to `for_cpystr'
drdatab.f:(.text+0x854): undefined reference to `for_cpystr'
drdatab.f:(.text+0x91b): undefined reference to `for_cpstr'
drdatab.f:(.text+0x99f): undefined reference to `for_cpystr'
drdatab.f:(.text+0xa35): undefined reference to `for_cpystr'
drdatab.f:(.text+0xa66): undefined reference to `for_cpystr'
drdatab.f:(.text+0xad3): undefined reference to `for_cpystr'
drdatab.f:(.text+0xba5): undefined reference to `for_f90_index'
drdatab.f:(.text+0xc4c): undefined reference to `for_cpstr'
drdatab.f:(.text+0xdfd): undefined reference to `for_concat'
drdatab.f:(.text+0xea1): undefined reference to `for_concat'
drdatab.f:(.text+0xf45): undefined reference to `for_concat'
drdatab.f:(.text+0x10bb): undefined reference to `for_cpystr'
drdatab.f:(.text+0x11e9): undefined reference to `for_read_int_lis'
drdatab.f:(.text+0x1272): undefined reference to `for_read_int_lis_xmit'
drdatab.f:(.text+0x12ed): undefined reference to `for_read_int_lis_xmit'
drdatab.f:(.text+0x1326): undefined reference to `for_read_int_lis_xmit'
drdatab.f:(.text+0x13c8): undefined reference to `for_read_int_lis'
drdatab.f:(.text+0x1451): undefined reference to `for_read_int_lis_xmit'
drdatab.f:(.text+0x14cc): undefined reference to `for_read_int_lis_xmit'
drdatab.f:(.text+0x1505): undefined reference to `for_read_int_lis_xmit'
drdatab.f:(.text+0x15a7): undefined reference to `for_read_int_lis'
drdatab.f:(.text+0x1634): undefined reference to `for_read_int_lis_xmit'
drdatab.f:(.text+0x16b3): undefined reference to `for_read_int_lis_xmit'
drdatab.f:(.text+0x16ec): undefined reference to `for_read_int_lis_xmit'
drdatab.f:(.text+0x178e): undefined reference to `for_read_int_lis'
drdatab.f:(.text+0x1817): undefined reference to `for_read_int_lis_xmit'
drdatab.f:(.text+0x1892): undefined reference to `for_read_int_lis_xmit'
drdatab.f:(.text+0x18cb): undefined reference to `for_read_int_lis_xmit'
drdatab.f:(.text+0x19a3): undefined reference to `for_open'
drdatab.f:(.text+0x1a41): undefined reference to `for_write_seq_fmt'
drdatab.f:(.text+0x1a72): undefined reference to `for_rewind'
drdatab.f:(.text+0x1aca): undefined reference to `for_read_seq_lis'
drdatab.f:(.text+0x1b53): undefined reference to `for_read_seq_lis_xmit'
drdatab.f:(.text+0x1bce): undefined reference to `for_read_seq_lis_xmit'
drdatab.f:(.text+0x1c07): undefined reference to `for_read_seq_lis_xmit'
drdatab.f:(.text+0x1c93): undefined reference to `for_read_seq_lis'
drdatab.f:(.text+0x1d1c): undefined reference to `for_read_seq_lis_xmit'
drdatab.f:(.text+0x1d97): undefined reference to `for_read_seq_lis_xmit'
drdatab.f:(.text+0x1dd0): undefined reference to `for_read_seq_lis_xmit'
drdatab.f:(.text+0x1e5c): undefined reference to `for_read_seq_lis'
drdatab.f:(.text+0x1ee9): undefined reference to `for_read_seq_lis_xmit'
drdatab.f:(.text+0x1f68): undefined reference to `for_read_seq_lis_xmit'
drdatab.f:(.text+0x1fa1): undefined reference to `for_read_seq_lis_xmit'
drdatab.f:(.text+0x202d): undefined reference to `for_read_seq_lis'
drdatab.f:(.text+0x20b6): undefined reference to `for_read_seq_lis_xmit'
drdatab.f:(.text+0x2131): undefined reference to `for_read_seq_lis_xmit'
drdatab.f:(.text+0x216a): undefined reference to `for_read_seq_lis_xmit'
drdatab.f:(.text+0x21cd): undefined reference to `for_close'
drdatab.f:(.text+0x2251): undefined reference to `for_close'
drdatab.f:(.text+0x22a9): undefined reference to `for_close'
make: *** [vasp] Error 2

不知问题又出在哪里,谢谢!
Dr.Qian-LinTang
19楼2010-06-28 12:01:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wnryc

新虫 (初入文坛)

内容已删除
Dr.Qian-LinTang
20楼2010-06-28 12:09:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 wnryc 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见