±±¾©Ê¯ÓÍ»¯¹¤Ñ§Ôº2026ÄêÑо¿ÉúÕÐÉú½ÓÊÕµ÷¼Á¹«¸æ
²é¿´: 3153  |  »Ø¸´: 17

bjmaowei25

Í­³æ (СÓÐÃûÆø)

ÒýÓûØÌû:
Â¥: Originally posted by iamikaruk at 2012-01-03 14:18:03:
°Ñfftw3µÄÎļþ¿½±´µ½±àÒëĿ¼¾ÍÐÐÁË¡£

ÄܾßÌåһЩÂ𠣬ÊÇ¿½±´µ½vasp4.6 ÎļþÀïÃæÂð£¿
×·ÇóÕæÀí
11Â¥2012-01-03 17:05:12
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

iamikaruk

ľ³æ (ÖøÃûдÊÖ)

¡ï
WDD880227(½ð±Ò+1): ¸Ðл·ÖÏí~~ 2012-01-04 10:45:13
bjmaowei25: »ØÌûÖö¥ 2012-01-07 00:05:40
ÒýÓûØÌû:
11Â¥: Originally posted by bjmaowei25 at 2012-01-03 17:05:12:
ÄܾßÌåһЩÂ𠣬ÊÇ¿½±´µ½vasp4.6 ÎļþÀïÃæÂð£¿

±àÒëʱºòÐèÒªfftw.fÎļþ£¬Äã°ÑÕâ¸öÎļþ´Ófftw3µÄĿ¼¿½±´µ½vaspµÄ±àÒëĿ¼Ï¾ͿÉÒÔÁË¡£ÁíÍ⣬vaspÔÚmake cleanµÄʱºò»á°Ñfftw3.fÎļþɾ³ý
[img]http://osu.ppy.sh/stat2/iamikaruk-0.png[/img]
12Â¥2012-01-04 10:27:16
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

bjmaowei25

Í­³æ (СÓÐÃûÆø)

Ê×ÏȸÐл´ó¼ÒµÄÈÈÐİïæ£¡

ðÃÁµÄ°Ñ±¾È˵ݲװÂé·³Ìù³öÀ´£¬Ï£ÍûÄܵõ½ÄãµÄÖ¸µã£¬ÓÉÓÚʵÑéÊÒ±¾ÈËÊÒΨһһ¸ö¿ªÊ¼°²×°vaspÈí¼þµÄÈË¡£¼´Ê¹Óôó¼Ò½²µÄ°²×°¾­Ñé¶¼²»ÄÜͨ¹ý£¬ÒòÎªÍøÉϵÄintel compiler, OS¸üÐÂÌ«¿ì£¬±ðÈ˽²µÄ¾Éϵͳ¶¼²»Äܰ²×°¡£¿Ï¶¨ÓкܶàÏòÎÒÕâÑù£¬ÀûÓÃ×îа汾µÄϵͳ°²×°vasp£¬¶ø²»Äܳɹ¦µÄ¡£»¨Á˺ܳ¤Ê±¼ä¶¼Ã»ÓÐ×°³É£¬ËùÒÔÏò´ó¼ÒÇë½ÌÁË¡£

1. ϵͳ£» Cent os 6.2
uname -a
Linux localhost.localdomain 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x86_64 x86_64 GNU/Linux

2.¸ù¾Ý ¹Ù·½²¢Ðа²×°ÐèÒªµÄÈí¼þ£¬ÒÑÏÂÔØ
l_ccompxe_intel64_2011.8.273.tgz    NCOM_L_CMP_FOR_NR2M-RVWSDGX5.lic     
l_fcompxe_intel64_2011.8.273.tgz      NCOM_L_CMP_FOR_NR2M-RVWSDGX5.lic
mpich2-1.4.1p1.tar.gz
vasp.4.6.tar.gz                          vasp.4.lib.tar.gz
×¢£»ÓÉÓÚl_ccompxe_intel64_2011.8.273.tgz »òÕßl_fcompxe_intel64_2011.8.273.tgz  ÀïÃæÒѾ­´øintel MKL£¬¾ÍûÓÐÏÂÔØMKL

3. °²×°Èí¼þ½á¹ûµÄ³É¹¦±êÖ¾
[mao@localhost ~]$ which ifort
/opt/intel/composer_xe_2011_sp1.8.273/bin/intel64/ifort
[mao@localhost ~]$ which icc
/opt/intel/composer_xe_2011_sp1.8.273/bin/intel64/icc
[mao@localhost ~]$ which mpd
/opt/intel/composer_xe_2011_sp1.8.273/mpirt/bin/intel64/mpd
[mao@localhost ~]$ which mpicc
~/Downloads/MPI/mpich2-install/bin/mpicc
[mao@localhost ~]$ which mpiexec
~/Downloads/MPI/mpich2-install/bin/mpiexec
[mao@localhost ~]$ which mpirun
~/Downloads/MPI/mpich2-install/bin/mpirun
[mao@localhost ~]$ which gfortran
/usr/bin/gfortran
[mao@localhost ~]$ which gcc
/usr/bin/gcc
[mao@localhost ~]$ which g++
/usr/bin/g++
[mao@localhost ~]$ which c++
/usr/bin/c++
×¢£»ÐÞ¸ÄÁË./bashrc

4£¬ vasp ±àÒë
£¨1£©vasp.4.lib.tar.gz

[mao@localhost VASP]$ tar -zxvf vasp.4.lib.tar.gz

vasp.4.lib/

vasp.4.lib/makefile.rs6000

vasp.4.lib/makefile.linux_ifc_P4

vasp.4.lib/sclock_nec.F

vasp.4.lib/sclock_t3d.F

vasp.4.lib/derrf.c

vasp.4.lib/fujitsu.F

vasp.4.lib/README.lapack

vasp.4.lib/ptimers.f

vasp.4.lib/ptimers.h

vasp.4.lib/linpack_double.f

vasp.4.lib/makefile.dec

vasp.4.lib/makefile.nec

vasp.4.lib/makefile.t3d

vasp.4.lib/makefile.t3e

vasp.4.lib/makefile.sgi

vasp.4.lib/makefile.sp2

vasp.4.lib/makefile.sun

vasp.4.lib/makefile.vpp

vasp.4.lib/drdatab.F

vasp.4.lib/lapack_double_1.1.f

vasp.4.lib/crayerrf.F

vasp.4.lib/diolib.F

vasp.4.lib/lapack_double.f

vasp.4.lib/serrf.c

vasp.4.lib/preclib.F

vasp.4.lib/dclock_simple.c

vasp.4.lib/linpack_single.f

vasp.4.lib/makefile.linux

vasp.4.lib/timing_.c

vasp.4.lib/dclock.c

vasp.4.lib/sclock_cray.F

vasp.4.lib/lapack_single.f

vasp.4.lib/makefile.linux_pg

vasp.4.lib/timing_ds20.c

vasp.4.lib/makefile.rs6000_p1

vasp.4.lib/makefile.linux_ifc_ath

vasp.4.lib/makefile.linux_ifc_opt

vasp.4.lib/makefile.linux_pgi_opt

vasp.4.lib/dclock_.c

vasp.4.lib/stripnr

vasp.4.lib/lapack_atlas.f

vasp.4.lib/errf.F

vasp.4.lib/timing.fujitsu.F

vasp.4.lib/makefile.fujitsu

vasp.4.lib/makefile.hpux_itanium

vasp.4.lib/derrf_.c

vasp.4.lib/dclock_ds20.c

vasp.4.lib/makefile.linux_alpha

vasp.4.lib/makefile.linux_efc_itanium

vasp.4.lib/makefile.hp

vasp.4.lib/makefile.cray

vasp.4.lib/timing.c

vasp.4.lib/lapack_single_1.1.f

vasp.4.lib/dlexlib.F

vasp.4.lib/makefile.linux_abs

vasp.4.lib/itmtv.s

vasp.4.lib/derrf_t3d.c

[mao@localhost vasp.4.lib]$ cp makefile.linux_ifc_ath makefile

[mao@localhost vasp.4.lib]$ gedit makefile
        #  FC=ifc  ¸Ä³É FC=ifort  
[mao@localhost vasp.4.lib]$ make

gcc -E -P -C preclib.F >preclib.f

ifort         -O0 -FI -FR  -c preclib.f

cc -O -c timing_.c

cc -O -c derrf_.c

cc -O -c dclock_.c

gcc -E -P -C diolib.F >diolib.f

ifort         -O0 -FI -FR  -c diolib.f

gcc -E -P -C dlexlib.F >dlexlib.f

ifort         -O0 -FI -FR  -c dlexlib.f

gcc -E -P -C drdatab.F >drdatab.f

ifort         -O0 -FI -FR  -c drdatab.f

ifort         -O0 -FI  -c lapack_double.f

ifort         -O0 -FI  -c linpack_double.f

ifort         -O0 -FI  -c lapack_atlas.f

rm libdmy.a

rm: cannot remove `libdmy.a': No such file or directory

make: [libdmy.a] Error 1 (ignored)

ar vq libdmy.a preclib.o timing_.o derrf_.o dclock_.o  diolib.o dlexlib.o drdatab.o

ar: creating libdmy.a

a - preclib.o

a - timing_.o

a - derrf_.o

a - dclock_.o

a - diolib.o

a - dlexlib.o

a ¨C drdatab.o


µÃµ½ libdmy.a


£¨2£©vasp.4.6.tar.gz

[mao@localhost VASP]$ tar -zxvf vasp.4.6.tar.gz

vasp.4.6/

vasp.4.6/xml_writer.F

vasp.4.6/main_mpi.F

vasp.4.6/us.F

vasp.4.6/makefile.rs6000

vasp.4.6/zgemm_opt.f

vasp.4.6/makefile.linux_ifc_P4

vasp.4.6/finite_diff.F

vasp.4.6/lattice.F

vasp.4.6/lattlib.F

vasp.4.6/nonl.inc

vasp.4.6/fftmpi.F

vasp.4.6/fftw3d.F

vasp.4.6/dfast.F

vasp.4.6/LDApU.F

vasp.4.6/relativistic.F

vasp.4.6/dgemv.f

vasp.4.6/fft3dfurth_f77.F

vasp.4.6/dipol.F

vasp.4.6/fft3dfujitsu.F

vasp.4.6/rmm-diis.F

vasp.4.6/asa.F

vasp.4.6/wave_mpi.F

vasp.4.6/ebs.F

vasp.4.6/dos.F

vasp.4.6/elf.F

vasp.4.6/ini.F

vasp.4.6/mix.F

vasp.4.6/mpi.F

vasp.4.6/paw.F

vasp.4.6/pot.F

vasp.4.6/rot.F

vasp.4.6/shm.F

vasp.4.6/edtest.F

vasp.4.6/tet.F

vasp.4.6/stm.F

vasp.4.6/xml.F

vasp.4.6/symbol.inc

vasp.4.6/makefile.dec

vasp.4.6/makefile.nec

vasp.4.6/makefile.t3d

vasp.4.6/makefile.t3e

vasp.4.6/makefile.sgi

vasp.4.6/makefile.sp2

vasp.4.6/makefile.sun

vasp.4.6/makefile.vpp

vasp.4.6/fft3dsimple.F

vasp.4.6/README

vasp.4.6/mkpoints.inc

vasp.4.6/cube.inc

vasp.4.6/fft3dfurth.F

vasp.4.6/makeparam.F

vasp.4.6/scala.F

vasp.4.6/dgemmtest.F

vasp.4.6/sphpro.F

vasp.4.6/fft3dlib.F

vasp.4.6/fft3dnec.F

vasp.4.6/mkpoints.F

vasp.4.6/setex.F

vasp.4.6/constrmag.F

vasp.4.6/all.table

vasp.4.6/poscar.inc

vasp.4.6/xcgrad.F

vasp.4.6/elpol.F

vasp.4.6/zgemmtest.F

vasp.4.6/charge.F

vasp.4.6/stepprecor.F

vasp.4.6/dynbr.F

vasp.4.6/setexch.F

vasp.4.6/stepver.F

vasp.4.6/makefile.linux_pg

vasp.4.6/fileio.F

vasp.4.6/radial.F

vasp.4.6/chgloc.F

vasp.4.6/fft3dessl+furth.F

vasp.4.6/makefile.linux_ifc_ath

vasp.4.6/makefile.linux_ifc_opt

vasp.4.6/mgrid.F

vasp.4.6/poscar.F

vasp.4.6/potex1.F

vasp.4.6/potex2.F

vasp.4.6/hamil_rot.F

vasp.4.6/base.F

vasp.4.6/steep.F

vasp.4.6/makefile.linux_pgi_opt

vasp.4.6/opergrid.F

vasp.4.6/xcspin.F

vasp.4.6/constant.F

vasp.4.6/force.F

vasp.4.6/dyna.F

vasp.4.6/jacobi.F

vasp.4.6/random.F

vasp.4.6/constant.inc

vasp.4.6/fftmpiw.F

vasp.4.6/setexm.inc

vasp.4.6/cl_shift.F

vasp.4.6/nonlr.inc

vasp.4.6/electron.F

vasp.4.6/main.F

vasp.4.6/constr_cell_relax.F

vasp.4.6/music.F

vasp.4.6/wave.inc

vasp.4.6/symlib.F

vasp.4.6/hamil.F

vasp.4.6/makefile.hpux_itanium

vasp.4.6/wavpre.F

vasp.4.6/nonl.F

vasp.4.6/tutor.F

vasp.4.6/fft3dcray.F

vasp.4.6/ffttest.F

vasp.4.6/pm.inc

vasp.4.6/smart_allocate.F

vasp.4.6/fft3dessl.F

vasp.4.6/choleski2.F

vasp.4.6/nonlr.F

vasp.4.6/symmetry.F

vasp.4.6/test.F

vasp.4.6/step.F

vasp.4.6/lattice.inc

vasp.4.6/wave.F

vasp.4.6/makefile.linux_alpha

vasp.4.6/lincom.table

vasp.4.6/makefile.linux_efc_itanium

vasp.4.6/mgrid.inc

vasp.4.6/metagga.F

vasp.4.6/preprocess

vasp.4.6/optreal.F

vasp.4.6/paircorrection.F

vasp.4.6/makefile.altrix

vasp.4.6/pseudo.F

vasp.4.6/makefile.hp

vasp.4.6/fftmpi_map.F

vasp.4.6/wavpre_noio.F

vasp.4.6/makefile.cray

vasp.4.6/pseudo.inc

vasp.4.6/subrot.F

vasp.4.6/param.inc

vasp.4.6/optics.F

vasp.4.6/ftflop.F

vasp.4.6/pardens.F

vasp.4.6/base.inc

vasp.4.6/reader.F

vasp.4.6/writer.F

vasp.4.6/setlocalpp.F

vasp.4.6/rpro.table

vasp.4.6/brent.F

vasp.4.6/broyden.F

vasp.4.6/chain.F

vasp.4.6/xclib.F

vasp.4.6/dgemm_opt.f

vasp.4.6/fft3dlib_f77.F

vasp.4.6/stufak.F

vasp.4.6/makefile.linux_abs

vasp.4.6/mpimy.inc

vasp.4.6/davidson.F

vasp.4.6/broyden.inc

[mao@localhost vasp.4.6]$ cp makefile.linux_ifc_ath makefile

[mao@localhost vasp.4.6]$ gedit makefile

[mao@localhost vasp.4.6]$ make

./preprocess base.f90 -DMPI  -DHOST=\"LinuxIFC_ath\" -DIFC -Dkind8 -DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc -DRPROMU_DGEMV

mpif90         -FR -lowercase -assume byterecl  -O3 -axK -tpp6  -c base.f90

ifort: command line remark #10010: option '-lowercase' is deprecated and will be removed in a future release. See '-help deprecated'

ifort: command line error: option '-axK' not supported

make: *** [base.o] Error 1



makefile ÎļþµÄÐ޸Ĺý³Ì£»£¨ÓÐ4´¦£¬×øÏÂÃæµÄÖÐÎıê×¢£©
.SUFFIXES: .inc .f .f90 .F

#-----------------------------------------------------------------------

# Makefile for Intel Fortran compiler for Athlon XP systems

#

# The makefile was tested only under Linux on Intel platforms

# (Suse 5.3- Suse 9.0)

# the followin compiler versions have been tested

# 5.0, 6.0, 7.0 and 7.1 (some 8.0 versions seem to fail compiling the code)

# presently we recommend version 7.1 or 7.0, since these

# releases have been used to compile the present code versions

#

# it might be required to change some of library pathes, since

# LINUX installation vary a lot

# Hence check ***ALL**** options in this makefile very carefully

#-----------------------------------------------------------------------

#

# BLAS must be installed on the machine

# there are several options:

# 1) very slow but works:

#   retrieve the lapackage from ftp.netlib.org

#   and compile the blas routines (BLAS/SRC directory)

#   please use g77 or f77 for the compilation. When I tried to

#   use pgf77 or pgf90 for BLAS, VASP hang up when calling

#   ZHEEV  (however this was with lapack 1.1 now I use lapack 2.0)

# 2) most desirable: get an optimized BLAS

#

# the two most reliable packages around are presently:

# 3a) Intels own optimised BLAS (PIII, P4, Itanium)

#     http://developer.intel.com/software/products/mkl/

#   this is really excellent when you use Intel CPU's

#

# 3b) or obtain the atlas based BLAS routines

#     http://math-atlas.sourceforge.net/

#   you certainly need atlas on the Athlon, since the  mkl

#   routines are not optimal on the Athlon.

#   If you want to use atlas based BLAS, check the lines around LIB=

#

# 3c) mindblowing fast SSE2 (4 GFlops on P4, 2.53 GHz)

#   Kazushige Goto's BLAS

#   http://www.cs.utexas.edu/users/kgoto/signup_first.html

#

#-----------------------------------------------------------------------



# all CPP processed fortran files have the extension .f90

SUFFIX=.f90



#-----------------------------------------------------------------------

# fortran compiler and linker

#-----------------------------------------------------------------------

FC=ifc

# fortran linker

FCL=$(FC)





#-----------------------------------------------------------------------

# whereis CPP ?? (I need CPP, can't use gcc with proper options)

# that's the location of gcc for SUSE 5.3

#

#  CPP_   =  /usr/lib/gcc-lib/i486-linux/2.7.2/cpp -P -C

#

# that's probably the right line for some Red Hat distribution:

#

#  CPP_   =  /usr/lib/gcc-lib/i386-redhat-linux/2.7.2.3/cpp -P -C

#

#  SUSE X.X, maybe some Red Hat distributions:



CPP_ =  ./preprocess <$*.F | /usr/bin/cpp -P -C -traditional >$*$(SUFFIX)



#-----------------------------------------------------------------------

# possible options for CPP:

# NGXhalf             charge density   reduced in X direction

# wNGXhalf            gamma point only reduced in X direction

# avoidalloc          avoid ALLOCATE if possible

# IFC                 work around some IFC bugs

# CACHE_SIZE          1000 for PII,PIII, 5000 for Athlon, 8000-12000 P4

# RPROMU_DGEMV        use DGEMV instead of DGEMM in RPRO (depends on used BLAS)

# RACCMU_DGEMV        use DGEMV instead of DGEMM in RACC (depends on used BLAS)

# for Atlas  -DRPROMU_DGEMV is recommended

#-----------------------------------------------------------------------



CPP     = $(CPP_)  -DHOST=\"LinuxIFC_ath\" \

          -Dkind8 -DNGXhalf -DCACHE_SIZE=5000 -DPGF90 -Davoidalloc \

          -DRPROMU_DGEMV



#-----------------------------------------------------------------------

# general fortran flags  (there must a trailing blank on this line)

#-----------------------------------------------------------------------



FFLAGS =  -FR -lowercase -assume byterecl



#-----------------------------------------------------------------------

# optimization

# we have tested whether higher optimisation improves performance

# -axK  SSE1 optimization,  but also generate code executable on all mach.

#       xK improves performance somewhat on XP, and a is required in order

#       to run the code on older Athlons as well

# -xW   SSE2 optimization

# -axW  SSE2 optimization,  but also generate code executable on all mach.

# -tpp6 P3 optimization

# -tpp7 P4 optimization

#-----------------------------------------------------------------------



OFLAG=-O3 -axK -tpp6



OFLAG_HIGH = $(OFLAG)

OBJ_HIGH =



OBJ_NOOPT =

DEBUG  = -FR -O0

INLINE = $(OFLAG)





#-----------------------------------------------------------------------

# the following lines specify the position of BLAS  and LAPACK

# on Athlon, VASP works fastest with the Atlas library

# so that's what I recommend

#-----------------------------------------------------------------------



# Atlas based libraries

ATLASHOME= $(HOME)/archives/BLAS_OPT/ATLAS/lib/Linux_ATHLONXP_SSE1/

BLAS=   -L$(ATLASHOME)  -lf77blas -latlas



# use the mkl Intel libraries for p4 (www.intel.com)

# mkl.5.1

# set -DRPROMU_DGEMV  -DRACCMU_DGEMV in the CPP lines

#BLAS=-L/opt/intel/mkl/lib/32 -lmkl_p4  -lpthread



# mkl.5.2 requires also to -lguide library

# set -DRPROMU_DGEMV  -DRACCMU_DGEMV in the CPP lines

#BLAS=-L/opt/intel/mkl/lib/32 -lmkl_p4 -lguide -lpthread



# even faster Kazushige Goto's BLAS

# http://www.cs.utexas.edu/users/kgoto/signup_first.html

#BLAS=  /opt/libs/libgoto/libgoto_p4_512-r0.6.so



# LAPACK, simplest use vasp.4.lib/lapack_double

#LAPACK= ../vasp.4.lib/lapack_double.o



# use atlas optimized part of lapack

LAPACK= ../vasp.4.lib/lapack_atlas.o -llapack -lcblas



# use the mkl Intel lapack

#LAPACK= -lmkl_lapack



#-----------------------------------------------------------------------



LIB  = -L../vasp.4.lib -ldmy \

     ../vasp.4.lib/linpack_double.o $(LAPACK) \

     $(BLAS)



# options for linking (for compiler version 6.X, 7.1) nothing is required

LINK    =

# compiler version 7.0 generates some vector statments which are located

# in the svml library, add the LIBPATH and the library (just in case)

#LINK    =  -L/opt/intel/compiler70/ia32/lib/ -lsvml



#-----------------------------------------------------------------------

# fft libraries:

# VASP.4.6 can use fftw.3.0.X (http://www.fftw.org)

# since this version is faster on P4 machines, we recommend to use it

#-----------------------------------------------------------------------



FFT3D   = fft3dfurth.o fft3dlib.o

#FFT3D   = fftw3d.o fft3dlib.o   /opt/libs/fftw-3.0.1/lib/libfftw3.a





#=======================================================================

# MPI section, uncomment the following lines

#

# one comment for users of mpich or lam:

# You must *not* compile mpi with g77/f77, because f77/g77            

# appends *two* underscores to symbols that contain already an        

# underscore (i.e. MPI_SEND becomes mpi_send__).  The pgf90/ifc

# compilers however append only one underscore.

# Precompiled mpi version will also not work !!!

#

# We found that mpich.1.2.1 and lam-6.5.X to lam-7.0.4 are stable

# mpich.1.2.1 was configured with

#  ./configure -prefix=/usr/local/mpich_nodvdbg -fc="pgf77 -Mx,119,0x200000"  \

# -f90="pgf90 -Mx,119,0x200000" \

# --without-romio --without-mpe -opt=-O \

#

# lam was configured with the line

#  ./configure  -prefix /opt/libs/lam-7.0.4 --with-cflags=-O -with-fc=ifc \

# --with-f77flags=-O --without-romio

#

# please note that you might be able to use a lam or mpich version

# compiled with f77/g77, but then you need to add the following

# options: -Msecond_underscore (compilation) and -g77libs (linking)

#

# !!! Please do not send me any queries on how to install MPI, I will

# certainly not answer them !!!!

#=======================================================================

#-----------------------------------------------------------------------

# fortran linker for mpi: if you use LAM and compiled it with the options

# suggested above,  you can use the following line

#-----------------------------------------------------------------------



#FC=mpif77
                 ¸Ä³É                   FC=mpif90  
#FCL=$(FC)                ¸Ä³É                  
FCL=$(FC)   
      



#-----------------------------------------------------------------------

# additional options for CPP in parallel version (see also above):

# NGZhalf               charge density   reduced in Z direction

# wNGZhalf              gamma point only reduced in Z direction

# scaLAPACK             use scaLAPACK (usually slower on 100 Mbit Net)

# 1000 or 2000 are the optimal CACHE_SIZE for the parallel version

# and IFC on Athlon XP (gK)

#-----------------------------------------------------------------------



#CPP    = $(CPP_) -DMPI  -DHOST=\"LinuxIFC_ath\" -DIFC \

#     -Dkind8 -DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc \

#     -DRPROMU_DGEMV

¸Ä³É
CPP    = $(CPP_) -DMPI  -DHOST=\"LinuxIFC_ath\" -DIFC \

     -Dkind8 -DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc \

     -DRPROMU_DGEMV



#-----------------------------------------------------------------------

# location of SCALAPACK

# if you do not use SCALAPACK simply uncomment the line SCA

#-----------------------------------------------------------------------



BLACS=$(HOME)/archives/SCALAPACK/BLACS/

SCA_=$(HOME)/archives/SCALAPACK/SCALAPACK



SCA= $(SCA_)/libscalapack.a  \

$(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a $(BLACS)/LIB/blacs_MPI-LINUX-0.a $(BLACS)/LIB/blacsF77init_MPI-LINUX-0.a



SCA=



#-----------------------------------------------------------------------

# libraries for mpi

#-----------------------------------------------------------------------



#LIB     = -L../vasp.4.lib -ldmy  \

#      ../vasp.4.lib/linpack_double.o $(LAPACK) \

#      $(SCA) $(BLAS)

¸Ä³É
LIB     = -L../vasp.4.lib -ldmy  \

      ../vasp.4.lib/linpack_double.o $(LAPACK) \

     $(SCA) $(BLAS)



# FFT: fftmpi.o with fft3dlib of Juergen Furthmueller

#FFT3D   = fftmpi.o fftmpi_map.o fft3dlib.o



# fftw.3.0.1 is slighly faster and should be used if available

#FFT3D   = fftmpiw.o fftmpi_map.o fft3dlib.o   /opt/libs/fftw-3.0.1/lib/libfftw3.a



#-----------------------------------------------------------------------

# general rules and compile lines

#-----------------------------------------------------------------------

BASIC=   symmetry.o symlib.o   lattlib.o  random.o   



SOURCE=  base.o     mpi.o      smart_allocate.o      xml.o  \

         constant.o jacobi.o   main_mpi.o  scala.o   \

         asa.o      lattice.o  poscar.o   ini.o      setex.o     radial.o  \

         pseudo.o   mgrid.o    mkpoints.o wave.o      wave_mpi.o  $(BASIC) \

         nonl.o     nonlr.o    dfast.o    choleski2.o    \

         mix.o      charge.o   xcgrad.o   xcspin.o    potex1.o   potex2.o  \

         metagga.o  constrmag.o pot.o      cl_shift.o force.o    dos.o      elf.o      \

         tet.o      hamil.o    steep.o    \

         chain.o    dyna.o     relativistic.o LDApU.o sphpro.o  paw.o   us.o \

         ebs.o      wavpre.o   wavpre_noio.o broyden.o \

         dynbr.o    rmm-diis.o reader.o   writer.o   tutor.o xml_writer.o \

         brent.o    stufak.o   fileio.o   opergrid.o stepver.o  \

         dipol.o    xclib.o    chgloc.o   subrot.o   optreal.o   davidson.o \

         edtest.o   electron.o shm.o      pardens.o  paircorrection.o \

         optics.o   constr_cell_relax.o   stm.o    finite_diff.o \

         elpol.o    setlocalpp.o



INC=



vasp: $(SOURCE) $(FFT3D) $(INC) main.o

        rm -f vasp

        $(FCL) -o vasp $(LINK) main.o  $(SOURCE)   $(FFT3D) $(LIB)

makeparam: $(SOURCE) $(FFT3D) makeparam.o main.F $(INC)

        $(FCL) -o makeparam  $(LINK) makeparam.o $(SOURCE) $(FFT3D) $(LIB)

zgemmtest: zgemmtest.o base.o random.o $(INC)

        $(FCL) -o zgemmtest $(LINK) zgemmtest.o random.o base.o $(LIB)

dgemmtest: dgemmtest.o base.o random.o $(INC)

        $(FCL) -o dgemmtest $(LINK) dgemmtest.o random.o base.o $(LIB)

ffttest: base.o smart_allocate.o mpi.o mgrid.o random.o ffttest.o $(FFT3D) $(INC)

        $(FCL) -o ffttest $(LINK) ffttest.o mpi.o mgrid.o random.o smart_allocate.o base.o $(FFT3D) $(LIB)

kpoints: $(SOURCE) $(FFT3D) makekpoints.o main.F $(INC)

        $(FCL) -o kpoints $(LINK) makekpoints.o $(SOURCE) $(FFT3D) $(LIB)



clean:       

        -rm -f *.g *.f *.o *.L *.mod ; touch *.F



main.o: main$(SUFFIX)

        $(FC) $(FFLAGS)$(DEBUG)  $(INCS) -c main$(SUFFIX)

xcgrad.o: xcgrad$(SUFFIX)

        $(FC) $(FFLAGS) $(INLINE)  $(INCS) -c xcgrad$(SUFFIX)

xcspin.o: xcspin$(SUFFIX)

        $(FC) $(FFLAGS) $(INLINE)  $(INCS) -c xcspin$(SUFFIX)



makeparam.o: makeparam$(SUFFIX)

        $(FC) $(FFLAGS)$(DEBUG)  $(INCS) -c makeparam$(SUFFIX)



makeparam$(SUFFIX): makeparam.F main.F

#

# MIND: I do not have a full dependency list for the include

# and MODULES: here are only the minimal basic dependencies

# if one strucuture is changed then touch_dep must be called

# with the corresponding name of the structure

#

base.o: base.inc base.F

mgrid.o: mgrid.inc mgrid.F

constant.o: constant.inc constant.F

lattice.o: lattice.inc lattice.F

setex.o: setexm.inc setex.F

pseudo.o: pseudo.inc pseudo.F

poscar.o: poscar.inc poscar.F

mkpoints.o: mkpoints.inc mkpoints.F

wave.o: wave.inc wave.F

nonl.o: nonl.inc nonl.F

nonlr.o: nonlr.inc nonlr.F



$(OBJ_HIGH):

        $(CPP)

        $(FC) $(FFLAGS) $(OFLAG_HIGH) $(INCS) -c $*$(SUFFIX)

$(OBJ_NOOPT):

        $(CPP)

        $(FC) $(FFLAGS) $(INCS) -c $*$(SUFFIX)



fft3dlib_f77.o: fft3dlib_f77.F

        $(CPP)

        $(F77) $(FFLAGS_F77) -c $*$(SUFFIX)



.F.o:

        $(CPP)

        $(FC) $(FFLAGS) $(OFLAG) $(INCS) -c $*$(SUFFIX)

.F$(SUFFIX):

        $(CPP)

$(SUFFIX).o:

        $(FC) $(FFLAGS) $(OFLAG) $(INCS) -c $*$(SUFFIX)



# special rules

#-----------------------------------------------------------------------

# -tpp5|6|7 P, PII-PIII, PIV

# -xW use SIMD (does not pay of on PII, since fft3d uses double prec)

# all other options do no affect the code performance since -O1 is used

#-----------------------------------------------------------------------



fft3dlib.o : fft3dlib.F

        $(CPP)

        $(FC) -FR -lowercase -e95 -vec_report3 -O1 -tpp6 -prefetch -unroll0 -c $*$(SUFFIX)

        $(CPP)

        $(FC) -FR -lowercase -e95 -c $*$(SUFFIX)



lattlib.o: lattlib.F

        $(CPP)

        $(FC) -FR -lowercase -e95 -c $*$(SUFFIX)



radial.o : radial.F

        $(CPP)

        $(FC) -FR -lowercase -O1 -c $*$(SUFFIX)



symlib.o : symlib.F

        $(CPP)

        $(FC) -FR -lowercase -O1 -c $*$(SUFFIX)



symmetry.o : symmetry.F

        $(CPP)

        $(FC) -FR -lowercase -O1 -c $*$(SUFFIX)



dynbr.o : dynbr.F

        $(CPP)

        $(FC) -FR -lowercase -O1 -c $*$(SUFFIX)



us.o : us.F

        $(CPP)

        $(FC) -FR -lowercase -O1 -c $*$(SUFFIX)



broyden.o : broyden.F

        $(CPP)

        $(FC) -FR -lowercase -O2 -c $*$(SUFFIX)



wave.o : wave.F

        $(CPP)

        $(FC) -FR -lowercase -O0 -c $*$(SUFFIX)



LDApU.o : LDApU.F

        $(CPP)

        $(FC) -FR -lowercase -O2 -c $*$(SUFFIX)



ÎÊÌâËùÔÚ£»
vasp.4.lib Ó¦¸ÃÊDZàÒë¹ýÈ¥ÁË£¬µ«ÔÚ±àÒëvasp.4.6ʱ£¬¸ÄÁËһЩmakefileµÄ»ù±¾ÎÊÌ⣬
¿ÉÊǾÍÊDZàÒë²»¹ýÈ¥£¬²»ÖªµÀÓÐÄÄΪ×î½ü³É¹¦°²×°¹ývasp³ÌÐòÄÜ·ñÖ¸µãһϡ£ÏÈллÁË£¡
×·ÇóÕæÀí
13Â¥2012-01-07 00:05:30
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

iamikaruk

ľ³æ (ÖøÃûдÊÖ)

¡ï
liliangfang(½ð±Ò+1): ¹ÄÀø½»Á÷ 2012-01-07 07:59:25
Ì«³¤ÁË£¬Â¥Ö÷Ìù³ödiff½á¹ûºÍ´íÎó¾Í¿ÉÒÔÁË
[img]http://osu.ppy.sh/stat2/iamikaruk-0.png[/img]
14Â¥2012-01-07 00:32:44
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

liliangfang

ÈÙÓþ°æÖ÷ (ÖøÃûдÊÖ)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¡ï
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
WDD880227(½ð±Ò+1): ¸ÐлÌáʾ~~ 2012-01-07 08:56:37
bjmaowei25: »ØÌûÖö¥ 2012-01-07 13:33:53
FC=ifort
OFLAG=-O3
15Â¥2012-01-07 08:06:16
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

bjmaowei25

Í­³æ (СÓÐÃûÆø)

ÒýÓûØÌû:
Â¥: Originally posted by liliangfang at 2012-01-07 08:06:16:
FC=ifort
OFLAG=-O3

ллÄãµÄ»Ø¸´£¬¸ù¾ÝÄãµÄÒâʶ¸Äºó£¬¾Í±ä³ÉÕâÑùµÄ´íÎóÁË£º


[mao@localhost vasp.4.6]$ gedit makefile
[mao@localhost vasp.4.6]$ make
./preprocess lattlib.f90 -DMPI  -DHOST=\"LinuxIFC_ath\" -DIFC -Dkind8 -DNGZhalf -DCACHE_SIZE=2000 -DPGF90 -Davoidalloc -DRPROMU_DGEMV
mpif90 -FR -lowercase -e95 -c lattlib.f90
ifort: command line remark #10010: option '-lowercase' is deprecated and will be removed in a future release. See '-help deprecated'
lattlib.f90(196): error #7342: The computed GOTO statement is an obsolescent feature in Fortran 95.
      GOTO (2,4,6,8,10,12,14,16,18,20,22,24,26,28,30) IBRAV
------^
lattlib.f90(711): error #5113: Extension to FORTRAN-90: tab formatting
               CELLDM(5)=(A3XA2*ABS2*ABS3+A3XA1*ABS1*ABS3)/ABS2P1/ABS3       
---------------------------------------------------------------------^
lattlib.f90(1372): error #6033: Sharing of a DO termination statement by more than one DO statement is an obsolescent feature in Fortran 95.  Use an END DO or CONTINUE statement for each DO statement.   [300]
  300 CONTINUE
--^
lattlib.f90(1790): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
    1 WRK(IA,I)=TAU(INDEX(IA),I)
----^
lattlib.f90(1790): error #6033: Sharing of a DO termination statement by more than one DO statement is an obsolescent feature in Fortran 95.  Use an END DO or CONTINUE statement for each DO statement.   [1]
    1 WRK(IA,I)=TAU(INDEX(IA),I)
----^
lattlib.f90(1793): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
    2 TAU(IA,I)=WRK(IA,I)
----^
lattlib.f90(1793): error #6033: Sharing of a DO termination statement by more than one DO statement is an obsolescent feature in Fortran 95.  Use an END DO or CONTINUE statement for each DO statement.   [2]
    2 TAU(IA,I)=WRK(IA,I)
----^
lattlib.f90(1822): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
    4    INDEX(NBEG+I)=INDEX(NBEG+I)+NBEG-1
----^
lattlib.f90(1832): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
    7       TAU(INDEX(ICURR),K)=TEMP
----^
lattlib.f90(1865): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
    9          INDEX(IBEG+I)=INDEX(IBEG+I)+IBEG-1
----^
lattlib.f90(1881): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
   13       TAU(INDEX(ICURR),K)=TEMP
---^
lattlib.f90(1899): error #6028: DO termination on a statement other than an END DO or CONTINUE is an obsolescent feature in Fortran 95.
   15 INDEX(IA)=NINT(WRK(IA,3))
---^
lattlib.f90(2424): error #6033: Sharing of a DO termination statement by more than one DO statement is an obsolescent feature in Fortran 95.  Use an END DO or CONTINUE statement for each DO statement.   [13]
   13 CONTINUE
---^
compilation aborted for lattlib.f90 (code 1)
make: *** [lattlib.o] Error 1
×·ÇóÕæÀí
16Â¥2012-01-07 13:33:49
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

burwoad

Òø³æ (СÓÐÃûÆø)

ÒýÓûØÌû:
2Â¥: Originally posted by souledge at 2012-01-02 22:07:08:
È¥µôFortran FlagsÖеÄ-assume£¬-tpp7µÈ²ÎÊýÊÔÊÔ~
˳±ã£¬gfortran±àÒëVASP¿ÉÐÐô¡­¡­Ò»Ö±×Ô¼º±àÒëºÍ¿´±ðÈ˱àÒë¶¼ÓõÄÊÇifort»òÕ߯äËûµÄ±àÒëÆ÷~

4.6.28 µÄÊÔ¹ýÓÃgfortran+£¨mpich2/openmpi£©+£¨blas/gotoblas2£© ºÍ±àÒ룬¿ÉÐеġ£
µ«ÊÇ×î½üÊÔÁËÏ 5.2.2 £¬±àÒëûÎÊÌ⣬µ«ÊÇÔËÐÐʱ»áÓÐ double free or corruption ÕâÀà´íÎó¡£
17Â¥2012-02-22 23:25:56
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

cuicui2397

гæ (СÓÐÃûÆø)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

ÒýÓûØÌû:
8Â¥: Originally posted by huangye2001 at 2012-01-03 10:49:32
Â¥Ö÷ÄúºÃ£¡ÎÒÒ²·Ç³£Ïëѧvasp£¬ÄãÄܰѸÃÈí¼þ´«¸øÎÒô£¬Ð»Ð»£¡ÎÒµÄÓÊÏäÊÇhuangye2001@163.com£¬Èç¹ûÄú°²³É¹¦ÁË£¬Âé·³¸æËßһϰ²×°·½·¨£¬²»Ê¤¸Ðл

ͬÇó°¡£¡Ð»Ð»£¡ÎÒÓÊÏä1020189550@qq.com
18Â¥2013-09-11 10:02:56
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ bjmaowei25 µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] Çóµ÷¼Á +7 ÕÅzic 2026-04-05 8/400 2026-04-05 22:57 by Hdyxbekcb
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +13 Ò»ÑùYWY 2026-04-03 14/700 2026-04-05 18:20 by À¶ÔÆË¼Óê
[¿¼ÑÐ] µç×ÓÐÅÏ¢µ÷¼Á½»²æÑ§¿ÆÓÐÍÆ¼öÂð +6 jhtfeybgj 2026-04-01 9/450 2026-04-05 11:13 by Öí»á·É
[¿¼ÑÐ] µ÷¼ÁÇóÖú +10 Ïë»»ÊÖ»ú²»Ïë½âÊ 2026-04-02 13/650 2026-04-05 09:41 by sam3303
[¿¼ÑÐ] 085600£¬321·ÖÇóµ÷¼Á +10 ´ó²öС×Ó 2026-04-04 11/550 2026-04-05 08:25 by 544594351
[¿¼ÑÐ] ²ÄÁϵ÷¼Á +10 ÀÁÑòÑòÇáÖÃÓñÍÎ 2026-04-02 11/550 2026-04-04 21:56 by laoshidan
[¿¼ÑÐ] Ò»Ö¾Ô¸211£¬»¯Ñ§Ñ§Ë¶£¬310·Ö£¬±¾¿ÆÖصãË«·Ç£¬Çóµ÷¼Á +11 ŬÁ¦·Ü¶·112 2026-04-04 11/550 2026-04-04 20:51 by À¶ÔÆË¼Óê
[¿¼ÑÐ] 315Çóµ÷¼Á +13 СÑòСÑò_ 2026-04-02 14/700 2026-04-04 20:30 by À¶ÔÆË¼Óê
[¿¼ÑÐ] Çóµ÷¼Á +3 ffyyu 2026-04-02 3/150 2026-04-04 19:03 by À¶ÔÆË¼Óê
[¿¼ÑÐ] ¿¼Ñе÷¼Á +5 СsunÒªºÃÔË 2026-04-03 5/250 2026-04-03 21:43 by à£à£à£0119
[¿¼ÑÐ] 319Çóµ÷¼Á +18 Ì«ÈÝÒ×1018 2026-04-01 18/900 2026-04-03 11:18 by linyelide
[¿¼ÑÐ] Çóµ÷¼Á22408 288·Ö +5 new382 2026-04-02 5/250 2026-04-03 09:13 by ×íÔÚ·çÀï
[¿¼²©] ²ÄÁϹ¤³Ìרҵ˶ʿÉ격 +3 ÷ëÕýÓî 2026-03-30 3/150 2026-04-02 15:04 by greychen00
[¿¼ÑÐ] ²ÄÁÏ»¯¹¤340Çóµ÷¼Á +5 jhx777 2026-03-30 5/250 2026-04-02 12:45 by smileboy2006
[¿¼ÑÐ] Ò»Ö¾Ô¸°²»Õ´óѧ¼ÆËã»ú¿ÆÑ§Óë¼¼Êõѧ˶£¬331·ÖÇóµ÷¼Á +5 ½¯²ýÅôqtj 2026-04-01 5/250 2026-04-02 08:10 by fxue1114
[¿¼ÑÐ] 379Çóµ÷¼Á +3 ?¿à¹Ï²»¿à 2026-04-01 3/150 2026-04-01 20:09 by ÄºÔÆÇ庮
[¿¼ÑÐ] 353Çóµ÷¼Á +4 À­¹³²»Ðí±ä 2026-04-01 4/200 2026-04-01 18:10 by ¼Çʱ¾2026
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©¿Æ¼¼´óѧ085601²ÄÁϹ¤³ÌÓ¢Ò»Êý¶þ³õÊÔ×Ü·Ö335Çóµ÷¼Á +5 Ë«ÂíβƦÀϰå2 2026-03-31 5/250 2026-04-01 09:04 by oooqiao
[¿¼ÑÐ] 070300»¯Ñ§×¨Òµ279µ÷¼Á +10 ¹þ¹þ¹þ^_^ 2026-03-31 10/500 2026-03-31 23:13 by liu823948201
[¿¼ÑÐ] Ò»Ö¾Ô¸´óÁ¬Àí¹¤´óѧ£¬»úе¹¤³Ìѧ˶£¬341 +3 Î÷¹ÏÌïµÄÊØÍûÕß 2026-03-30 3/150 2026-03-31 11:08 by asdfzly
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û