| ²é¿´: 937 | »Ø¸´: 0 | |||
ljzhou86½ð³æ (ÕýʽдÊÖ)
|
[½»Á÷]
vasp£¬×ÔÐý´ò¿ªµÄ¼ÆËã½øÈë²»Á˵ç×Ó²½
|
|
ΪʲôÎÒµÄvasp£¬×ÔÐý´ò¿ªµÄ¼ÆËãËã²»¶¯£¨½ø²»ÁË£©£¬µ«Èç¹Ø±Õ×ÔÐý¼«»¯£¬¾Í¿ÉÒÔÕý³£¼ÆË㣿 ͬÑùµÄÌåϵ£¬ÉèÖþÍÊÇÒ»¸öISPIN=2,Ò»¸ö×¢Ê͵ô¡£ ¼ÆËãһֱͣÁôÔÚÕâ¸ö״̬£¬ ²»ÄܽøÈëµç×Ó×ÔÇ¢²½¡£ÎÒ¹À¼ÆÊDZàÒëµÄÎÊÌ⣬ÏȺó»»Á˲»Í¬µÄintel¡¡mklÊý¾Ý¿â£¬µ«ÎÊÌâÒÀ¾É¡£´ó¼ÒÓÐÖªµÀÔÒòµÄÂð£¿makefileµÄÖ÷ÒªÉèÖÃÈçÏ£º ....... # all CPP processed fortran files have the extension .f90 SUFFIX=.f90 #----------------------------------------------------------------------- # fortran compiler and linker #----------------------------------------------------------------------- #FC=ifort # 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) # this release should be fpp clean # we now recommend fpp as preprocessor # if this fails go back to cpp CPP_=fpp -f_com=no -free -w0 $*.F $*$(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 # PGF90 work around some for some PGF90 / IFC bugs # CACHE_SIZE 1000 for PII,PIII, 5000 for Athlon, 8000-12000 P4, PD # 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) # tbdyn MD package of Tomas Bucko #----------------------------------------------------------------------- #CPP = $(CPP_) -DHOST=\"LinuxIFC\" \ # -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc -DNGXhalf \ # -DRPROMU_DGEMV -DRACCMU_DGEMV #----------------------------------------------------------------------- # general fortran flags (there must a trailing blank on this line) # byterecl is strictly required for ifc, since otherwise # the WAVECAR file becomes huge #----------------------------------------------------------------------- #FFLAGS = -FR -names lowercase -assume byterecl FFLAGS = -I/sw/intel/composer_xe_2013_sp1.1.106/mkl/include/fftw -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 #----------------------------------------------------------------------- # ifc.9.1, ifc.10.1 recommended OFLAG=-O2 -ip OFLAG_HIGH = $(OFLAG) OBJ_HIGH = OBJ_NOOPT = DEBUG = -FR -O0 INLINE = $(OFLAG) #----------------------------------------------------------------------- # the following lines specify the position of BLAS and LAPACK # we recommend to use mkl, that is simple and most likely # fastest in Intel based machines #----------------------------------------------------------------------- # mkl path for ifc 11 compiler #MKL_PATH=$(MKLROOT)/lib/em64t # mkl path for ifc 12 compiler #MKL_PATH=$(MKLROOT)/lib/intel64 #MKL_FFTW_PATH=$(MKLROOT)/interfaces/fftw3xf/ # BLAS # setting -DRPROMU_DGEMV -DRACCMU_DGEMV in the CPP lines usually speeds up program execution # BLAS= -Wl,--start-group $(MKL_PATH)/libmkl_intel_lp64.a $(MKL_PATH)/libmkl_intel_thread.a $(MKL_PATH)/libmkl_core.a -Wl,--end-group -lguide # faster linking and available from at least version 11 #BLAS= -lguide -mkl # LAPACK, use vasp.5.lib/lapack_double #LAPACK= ../vasp.5.lib/lapack_double.o # LAPACK from mkl, usually faster and contains scaLAPACK as well #LAPACK= $(MKL_PATH)/libmkl_intel_lp64.a # here a tricky version, link in libgoto and use mkl as a backup # also needs a special line for LAPACK # this is the best thing you can do on AMD based systems !!!!!! #BLAS = -Wl,--start-group /opt/libs/libgoto/libgoto.so $(MKL_PATH)/libmkl_intel_thread.a $(MKL_PATH)/libmkl_core.a -Wl,--end-group -liomp5 #LAPACK= /opt/libs/libgoto/libgoto.so $(MKL_PATH)/libmkl_intel_lp64.a #----------------------------------------------------------------------- #LIB = -L../vasp.5.lib -ldmy \ # ../vasp.5.lib/linpack_double.o $(LAPACK) \ # $(BLAS) # options for linking, nothing is required (usually) LINK = #----------------------------------------------------------------------- # fft libraries: # VASP.5.2 can use fftw.3.1.X (http://www.fftw.org) # since this version is faster on P4 machines, we recommend to use it #----------------------------------------------------------------------- FFT3D = fft3dfurth.o fft3dlib.o # alternatively: fftw.3.1.X is slighly faster and should be used if available #FFT3D = fftw3d.o fft3dlib.o /opt/libs/fftw-3.1.2/lib/libfftw3.a # you may also try to use the fftw wrapper to mkl (but the path might vary a lot) # it seems this is best for AMD based systems #FFT3D = fftw3d.o fft3dlib.o $(MKL_FFTW_PATH)/libfftw3xf_intel.a #INCS = -I$(MKLROOT)/include/fftw #======================================================================= # MPI section, uncomment the following lines until # general rules and compile lines # presently we recommend OPENMPI, since it seems to offer better # performance than lam or mpich # # !!! Please do not send me any queries on how to install MPI, I will # certainly not answer them !!!! #======================================================================= #----------------------------------------------------------------------- # fortran linker for mpi #----------------------------------------------------------------------- FC=mpif90 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 (recommended if mkl is available) # avoidalloc avoid ALLOCATE if possible # PGF90 work around some for some PGF90 / IFC bugs # CACHE_SIZE 1000 for PII,PIII, 5000 for Athlon, 8000-12000 P4, PD # 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) # tbdyn MD package of Tomas Bucko #----------------------------------------------------------------------- #----------------------------------------------------------------------- CPP = $(CPP_) -DMPI -DHOST=\"LinuxIFC\" -DIFC \ -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc -DNGZhalf \ -DMPI_BLOCK=8000 -Duse_collective -DscaLAPACK ## -DRPROMU_DGEMV -DRACCMU_DGEMV #----------------------------------------------------------------------- # location of SCALAPACK # if you do not use SCALAPACK simply leave this section commented out #----------------------------------------------------------------------- # usually simplest link in mkl scaLAPACK BLACS= -lmkl_blacs_openmpi_lp64 SCA= /sw/intel/composer_xe_2015.2.164/mkl/lib/intel64/libmkl_scalapack_lp64.a $(BLACS) #SCA= /sw/intel/composer_xe_2013_sp1.1.106/mkl/lib/intel64/libmkl_scalapack_lp64.a $(BLACS) BLAS= -L/sw/intel/composer_xe_2015.2.164/mkl/lib/intel64 -lmkl_blacs_openmpi_lp64 -lmkl_intel_lp64 -lmkl_blacs_lp64 -lmkl_intel_thread -liomp5 -lpthread -lmkl_sequential -lmkl_core -i-static #BLAS= -L/sw/intel/composer_xe_2013_sp1.1.106/mkl/lib/intel64 -lmkl_blacs_openmpi_lp64 -lmkl_intel_lp64 -lmkl_blacs_lp64 -lmkl_intel_thread -liomp5 -lpthread -lmkl_sequential -lmkl_core -i-st atic # LAPACK, simplest use vasp.5.lib/lapack_double #LAPACK=-L/sw/intel/composer_xe_2013_sp1.1.106/mkl/lib -lmkl_intel_lp64 -lmkl_lapack95_ilp64 LAPACK= ../vasp.5.lib/lapack_double.o #LAPACK= -L/sw/intel/composer_xe_2013_sp1.1.106/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_lapack95_ilp64 #LAPACK= -L/sw/intel/composer_xe_2015.2.164/mkl/lib/intel64 -lmkl_intel_lp64 -lmkl_lapack95_ilp64 #----------------------------------------------------------------------- # libraries #----------------------------------------------------------------------- LIB = -L../vasp.5.lib -ldmy \ ../vasp.5.lib/linpack_double.o \ $(SCA) $(LAPACK) $(BLAS) #----------------------------------------------------------------------- # parallel FFT #----------------------------------------------------------------------- # FFT: fftmpi.o with fft3dlib of Juergen Furthmueller FFT3D = fftmpi.o fftmpi_map.o fft3dfurth.o fft3dlib.o # alternatively: fftw.3.1.X is slighly faster and should be used if available #FFT3D = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o /opt/libs/fftw-3.1.2/lib/libfftw3.a # you may also try to use the fftw wrapper to mkl (but the path might vary a lot) # it seems this is best for AMD based systems #FFT3D = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o $(MKL_FFTW_PATH)/libfftw3xf_intel.a #INCS = -I$(MKLROOT)/include/fftw #----------------------------------------------------------------------- # general rules and compile lines #----------------------------------------------------------------------- BASIC= symmetry.o symlib.o lattlib.o random.o SOURCE= base.o mpi.o smart_allocate.o xml.o \ ¡¡¡¡ ¡¡¡¡ |
» ²ÂÄãϲ»¶
ÉúÎïѧѧ˶Çóµ÷¼Á
ÒѾÓÐ10È˻ظ´
ÉϺ£µçÁ¦´óѧ²ÄÁÏ·À»¤ÓëвÄÁÏÖØµãʵÑéÊÒÕÐÊÕµ÷¼ÁÑо¿Éú£¨²ÄÁÏ¡¢»¯Ñ§¡¢µç»¯Ñ§£¬»·¾³£©
ÒѾÓÐ4È˻ظ´
²ÄÁÏѧÇóµ÷¼Á
ÒѾÓÐ6È˻ظ´
303Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
Ò»Ö¾Ô¸ÎäÀí085500»úеרҵ×Ü·Ö300Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
¿¼Ñе÷¼Á
ÒѾÓÐ4È˻ظ´
281Çóµ÷¼Á
ÒѾÓÐ4È˻ظ´
0805 316Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
085601Çóµ÷¼Á×Ü·Ö293Ó¢Ò»Êý¶þ
ÒѾÓÐ3È˻ظ´
08¹¤Ñ§µ÷¼Á
ÒѾÓÐ17È˻ظ´













»Ø¸´´ËÂ¥