{"id":1224,"date":"2014-08-19T14:37:36","date_gmt":"2014-08-19T06:37:36","guid":{"rendered":"http:\/\/www.hsyyf.me\/?p=1224"},"modified":"2014-08-19T14:37:36","modified_gmt":"2014-08-19T06:37:36","slug":"ifortvasp%e7%bc%96%e8%af%91%e5%ae%89%e8%a3%85","status":"publish","type":"post","link":"https:\/\/www.hsyyf.me\/?p=1224","title":{"rendered":"ifort+vasp\u7f16\u8bd1\u5b89\u88c5"},"content":{"rendered":"<p>vasp\u7684\u7f16\u8bd1\u5b89\u88c5\u53ef\u4ee5\u8bf4\u662f\u5343\u5947\u767e\u602a\uff0c\u6211\u91c7\u7528\u7684\u662fivf\u7684\u7f16\u8bd1\u5668\u548cmpich2\u8fdb\u884c\u6700\u7b80\u5355\u7684\u7f16\u8bd1\uff0c\u7cfb\u7edf\u662fubuntu14.04\uff0c\u4e0d\u5f97\u4e0d\u8bf4\uff0c\u5c31\u662f\u56e0\u4e3a\u8fd9\u4e2a\u7cfb\u7edf\uff0c\u5f53\u65f6\u6d6a\u8d39\u4e86\u6211\u4e00\u4e2a\u661f\u671f\u7684\u65f6\u95f4\u8fdb\u884c\u7f16\u8bd1\u3002<\/p>\n<p>\u9996\u5148\uff0c\u5b89\u88c5ifort\uff0c\u9009\u62e9ifort\u7684\u4e00\u5927\u539f\u56e0\u662f\u56e0\u4e3aifort\u6709\u514d\u8d39\u9002\u7528\u7248\uff0c\u53ef\u4ee5\u7533\u8bf7\u5230\u4e00\u5e74\u7684\u9002\u7528\u6743\u3002\u5148\u7528\u90ae\u7bb1\u7533\u8bf7\u4e00\u4e2alic\uff0cIntel\u4f1a\u628aID\u548c\u4e0b\u8f7d\u5730\u5740\u901a\u8fc7\u90ae\u7bb1\u544a\u8bc9\u4f60\uff0c\u4e0b\u8f7d\u4e0b\u6765\u6b63\u5e38\u5b89\u88c5\u5373\u53ef\uff08\u6559\u80b2\u7f51\u901f\u5ea6\u5c1a\u53ef\uff0c\u80fd\u670910M\/s\u7684\u901f\u5ea6\uff0c\u4e1a\u754c\u826f\u5fc3\u554a\u3002\uff09<\/p>\n<p>\u5176\u6b21\uff0c\u5b89\u88c5mpich2\uff0cubuntu\u6e90\u91cc\u81ea\u5e26<br \/>\n<code lang=\"Bash\">sudo apt-get install mpich2<\/code><\/p>\n<p>&nbsp;<\/p>\n<p>\u5bf9\u4e8evasp\u7684\u6e90\u4ee3\u7801\uff0c\u5206\u4e24\u6b65\u7f16\u8bd1\uff0c\u4e00\u6b65\u662f\u7f16\u8bd1vasp.5.lib\uff0c\u8fd9\u4e2a\u53ea\u9700\u8981\u628amakefile_ivf\u590d\u5236\u6210makefile\u6587\u4ef6\uff0c\u628agcc\u548civf\u6362\u6210icc\u548cifort\u5373\u53ef\u3002\u8fd9\u90e8\u5206\u6ca1\u4ec0\u4e48\u96be\u5f97\u3002<\/p>\n<p>\u7f16\u8bd1\u5e76\u884cvasp\u7a0b\u5e8f\u7684makefile\u6587\u4ef6\u9996\u5148\u7528makefile_linux_ivf\u590d\u5236\u6210makefile\u6587\u4ef6\u3002\u505a\u5982\u4e0b\u4fee\u6539\uff1a<\/p>\n<p>53~55\u884c\u6ce8\u89c6\u6389\uff1b70\u884c\uff08CPP_\u5f00\u5934\uff09\u628a\u201c-C\u201d\u53c2\u6570\u5220\u6389\uff0c\u5426\u5219\u65e0\u6cd5\u6b63\u5e38\u7f16\u8bd1\uff0c\u8fd9\u4e2a\u95ee\u9898\u7ea0\u7ed3\u6211\u4e00\u4e2a\u591a\u661f\u671f\u7684\u5173\u952e\u6240\u5728\uff0c\u800c\u4e14\u7f51\u4e0a\u4e5f\u6ca1\u6709\u8bf4\u660e\uff1b\u6ce8\u91ca\u70b9BALS\u884c\uff0c\u6dfb\u52a0\u81ea\u5df1intel\u7f16\u8bd1\u5668mkl\u5e93\u7684\u4f4d\u7f6e\uff1bLAPACK\u884c\u7559\u7a7a\uff1b\u4ecempi\u5f00\u59cb\uff0c\u6253\u5f00\u76f8\u5e94\u7684\u7f16\u8bd1\u9879\u3002<\/p>\n<p>\u6700\u7ec8\u7684vasp\u5e76\u884c\u7f16\u8bd1\u7684makefile\u6a21\u7248\u5982\u4e0b\uff1a<br \/>\n<code lang=\"make\">.SUFFIXES: .inc .f .f90 .F<br \/>\n#-----------------------------------------------------------------------<br \/>\n# Makefile for Intel Fortran compiler for Pentium\/Athlon\/Opteron<br \/>\n# bases systems<br \/>\n# we recommend this makefile for both Intel as well as AMD systems<br \/>\n# for AMD based systems appropriate BLAS and fftw libraries are<br \/>\n# however mandatory (whereas they are optional for Intel platforms)<br \/>\n#<br \/>\n# The makefile was tested only under Linux on Intel and AMD platforms<br \/>\n# the following compiler versions have been tested:<br \/>\n#  - ifc.7.1  works stable somewhat slow but reliably<br \/>\n#  - ifc.8.1  fails to compile the code properly<br \/>\n#  - ifc.9.1  recommended (both for 32 and 64 bit)<br \/>\n#  - ifc.10.1 partially recommended (both for 32 and 64 bit)<br \/>\n#             tested build 20080312 Package ID: l_fc_p_10.1.015<br \/>\n#             the gamma only mpi version can not be compiles<br \/>\n#             using ifc.10.1<br \/>\n#<br \/>\n# it might be required to change some of library pathes, since<br \/>\n# LINUX installation vary a lot<br \/>\n# Hence check ***ALL*** options in this makefile very carefully<br \/>\n#-----------------------------------------------------------------------<br \/>\n#<br \/>\n# BLAS must be installed on the machine<br \/>\n# there are several options:<br \/>\n# 1) very slow but works:<br \/>\n#   retrieve the lapackage from ftp.netlib.org<br \/>\n#   and compile the blas routines (BLAS\/SRC directory)<br \/>\n#   please use g77 or f77 for the compilation. When I tried to<br \/>\n#   use pgf77 or pgf90 for BLAS, VASP hang up when calling<br \/>\n#   ZHEEV  (however this was with lapack 1.1 now I use lapack 2.0)<br \/>\n# 2) more desirable: get an optimized BLAS<br \/>\n#<br \/>\n# the two most reliable packages around are presently:<br \/>\n# 2a) Intels own optimised BLAS (PIII, P4, PD, PC2, Itanium)<br \/>\n#     http:\/\/developer.intel.com\/software\/products\/mkl\/<br \/>\n#   this is really excellent, if you use Intel CPU's<br \/>\n#<br \/>\n# 2b) probably fastest SSE2 (4 GFlops on P4, 2.53 GHz, 16 GFlops PD,<br \/>\n#     around 30 GFlops on Quad core)<br \/>\n#   Kazushige Goto's BLAS<br \/>\n#   http:\/\/www.cs.utexas.edu\/users\/kgoto\/signup_first.html<br \/>\n#   http:\/\/www.tacc.utexas.edu\/resources\/software\/<br \/>\n#<br \/>\n#-----------------------------------------------------------------------<\/p>\n<p># all CPP processed fortran files have the extension .f90<br \/>\nSUFFIX=.f90<\/p>\n<p>#-----------------------------------------------------------------------<br \/>\n# fortran compiler and linker<br \/>\n#-----------------------------------------------------------------------<br \/>\n#FC=ifort<br \/>\n# fortran linker<br \/>\n#FCL=$(FC)<\/p>\n<p>#-----------------------------------------------------------------------<br \/>\n# whereis CPP -- (I need CPP, can't use gcc with proper options)<br \/>\n# that's the location of gcc for SUSE 5.3<br \/>\n#<br \/>\n#  CPP_   =  \/usr\/lib\/gcc-lib\/i486-linux\/2.7.2\/cpp -P -C<br \/>\n#<br \/>\n# that's probably the right line for some Red Hat distribution:<br \/>\n#<br \/>\n#  CPP_   =  \/usr\/lib\/gcc-lib\/i386-redhat-linux\/2.7.2.3\/cpp -P -C<br \/>\n#<br \/>\n#  SUSE X.X, maybe some Red Hat distributions:<\/p>\n<p>CPP_ =  .\/preprocess <$*.F | \/usr\/bin\/cpp -P -traditional >$*$(SUFFIX)<\/p>\n<p>#-----------------------------------------------------------------------<br \/>\n# possible options for CPP:<br \/>\n# NGXhalf             charge density   reduced in X direction<br \/>\n# wNGXhalf            gamma point only reduced in X direction<br \/>\n# avoidalloc          avoid ALLOCATE if possible<br \/>\n# PGF89               work around some for some PGF90 \/ IFC bugs<br \/>\n# CACHE_SIZE          1000 for PII,PIII, 5000 for Athlon, 8000-12000 P4, PD<br \/>\n# RPROMU_DGEMV        use DGEMV instead of DGEMM in RPRO (depends on used BLAS)<br \/>\n# RACCMU_DGEMV        use DGEMV instead of DGEMM in RACC (depends on used BLAS)<br \/>\n# tbdyn                 MD package of Tomas  Bucko<br \/>\n#-----------------------------------------------------------------------<\/p>\n<p>#CPP     = $(CPP_)  -DHOST=\\\"LinuxIFC\\\" \\<br \/>\n#          -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc -DNGXhalf \\<br \/>\n#          -DRPROMU_DGEMV  -DRACCMU_DGEMV<\/p>\n<p>#-----------------------------------------------------------------------<br \/>\n# general fortran flags  (there must a trailing blank on this line)<br \/>\n# byterecl is strictly required for ifc, since otherwise<br \/>\n# the WAVECAR file becomes huge<br \/>\n#-----------------------------------------------------------------------<\/p>\n<p>FFLAGS =  -FR -lowercase -assume byterecl <\/p>\n<p>#-----------------------------------------------------------------------<br \/>\n# optimization<br \/>\n# we have tested whether higher optimisation improves performance<br \/>\n# -axK  SSE1 optimization,  but also generate code executable on all mach.<br \/>\n#       xK improves performance somewhat on XP, and a is required in order<br \/>\n#       to run the code on older Athlons as well<br \/>\n# -xW   SSE2 optimization<br \/>\n# -axW  SSE2 optimization,  but also generate code executable on all mach.<br \/>\n# -tpp6 P3 optimization<br \/>\n# -tpp7 P4 optimization<br \/>\n#-----------------------------------------------------------------------<\/p>\n<p># ifc.9.1, ifc.10.1 recommended<br \/>\nOFLAG=-O2 -ip -ftz <\/p>\n<p>OFLAG_HIGH = $(OFLAG)<br \/>\nOBJ_HIGH =<br \/>\nOBJ_NOOPT =<br \/>\nDEBUG  = -FR -O0<br \/>\nINLINE = $(OFLAG)<\/p>\n<p>#-----------------------------------------------------------------------<br \/>\n# the following lines specify the position of BLAS  and LAPACK<br \/>\n# VASP works fastest with the libgoto library<br \/>\n# so that's what we recommend<br \/>\n#-----------------------------------------------------------------------<\/p>\n<p># mkl.10.0<br \/>\n# set -DRPROMU_DGEMV  -DRACCMU_DGEMV in the CPP lines<br \/>\n#BLAS=-L\/opt\/intel\/mkl100\/lib\/em64t -lmkl -lpthread<\/p>\n<p># even faster for VASP Kazushige Goto's BLAS<br \/>\n# http:\/\/www.cs.utexas.edu\/users\/kgoto\/signup_first.html<br \/>\n# parallel goto version requires sometimes -libverbs<br \/>\n#BLAS=  \/opt\/libs\/libgoto\/libgoto.so<br \/>\nBLAS=-L\/opt\/intel\/composer_xe_2013_sp1.2.144\/mkl\/lib\/intel64 -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lpthread<br \/>\n# LAPACK, simplest use vasp.5.lib\/lapack_double<br \/>\nLAPACK= <\/p>\n<p># use the mkl Intel lapack<br \/>\n#LAPACK= -lmkl_lapack<\/p>\n<p>#-----------------------------------------------------------------------<\/p>\n<p>#LIB  = -L..\/vasp.5.lib -ldmy \\<br \/>\n#     ..\/vasp.5.lib\/linpack_double.o $(LAPACK) \\<br \/>\n#     $(BLAS)<br \/>\n#<br \/>\n# options for linking, nothing is required (usually)<br \/>\nLINK    = <\/p>\n<p>#-----------------------------------------------------------------------<br \/>\n# fft libraries:<br \/>\n# VASP.5.2 can use fftw.3.1.X (http:\/\/www.fftw.org)<br \/>\n# since this version is faster on P4 machines, we recommend to use it<br \/>\n#-----------------------------------------------------------------------<\/p>\n<p>#FFT3D   = fft3dfurth.o fft3dlib.o<\/p>\n<p># alternatively: fftw.3.1.X is slighly faster and should be used if available<br \/>\n#FFT3D   = fftw3d.o fft3dlib.o   \/opt\/libs\/fftw-3.1.2\/lib\/libfftw3.a<\/p>\n<p>#=======================================================================<br \/>\n# MPI section, uncomment the following lines until<br \/>\n#    general  rules and compile lines<br \/>\n# presently we recommend OPENMPI, since it seems to offer better<br \/>\n# performance than lam or mpich<br \/>\n#<br \/>\n# !!! Please do not send me any queries on how to install MPI, I will<br \/>\n# certainly not answer them !!!!<br \/>\n#=======================================================================<br \/>\n#-----------------------------------------------------------------------<br \/>\n# fortran linker for mpi<br \/>\n#-----------------------------------------------------------------------<\/p>\n<p>FC=mpif90 -f90=ifort<br \/>\nFCL=$(FC)<\/p>\n<p>#-----------------------------------------------------------------------<br \/>\n# additional options for CPP in parallel version (see also above):<br \/>\n# NGZhalf               charge density   reduced in Z direction<br \/>\n# wNGZhalf              gamma point only reduced in Z direction<br \/>\n# scaLAPACK             use scaLAPACK (usually slower on 100 Mbit Net)<br \/>\n# avoidalloc          avoid ALLOCATE if possible<br \/>\n# PGF90               work around some for some PGF90 \/ IFC bugs<br \/>\n# CACHE_SIZE          1000 for PII,PIII, 5000 for Athlon, 8000-12000 P4, PD<br \/>\n# RPROMU_DGEMV        use DGEMV instead of DGEMM in RPRO (depends on used BLAS)<br \/>\n# RACCMU_DGEMV        use DGEMV instead of DGEMM in RACC (depends on used BLAS)<br \/>\n# tbdyn                 MD package of Tomas  Bucko<br \/>\n#-----------------------------------------------------------------------<\/p>\n<p>#-----------------------------------------------------------------------<\/p>\n<p>CPP    = $(CPP_) -DMPI  -DHOST=\\\"LinuxIFC\\\" -DIFC \\<br \/>\n     -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc\\<br \/>\n     -DMPI_BLOCK=8000<br \/>\n##    -DRPROMU_DGEMV  -DRACCMU_DGEMV  -DNGZhalf<\/p>\n<p>#-----------------------------------------------------------------------<br \/>\n# location of SCALAPACK<br \/>\n# if you do not use SCALAPACK simply leave that section commented out<br \/>\n#-----------------------------------------------------------------------<\/p>\n<p>BLACS=$(HOME)\/archives\/SCALAPACK\/BLACS\/<br \/>\nSCA_=$(HOME)\/archives\/SCALAPACK\/SCALAPACK<\/p>\n<p>SCA= $(SCA_)\/libscalapack.a  \\<br \/>\n $(BLACS)\/LIB\/blacsF77init_MPI-LINUX-0.a $(BLACS)\/LIB\/blacs_MPI-LINUX-0.a $(BLACS)\/LIB\/blacsF77init_MPI-LINUX-0.a<\/p>\n<p>SCA=<\/p>\n<p>#-----------------------------------------------------------------------<br \/>\n# libraries for mpi<br \/>\n#-----------------------------------------------------------------------<\/p>\n<p>LIB     = -L..\/vasp.5.lib -ldmy  \\<br \/>\n      ..\/vasp.5.lib\/linpack_double.o $(LAPACK) \\<br \/>\n      $(SCA) $(BLAS)<\/p>\n<p># FFT: fftmpi.o with fft3dlib of Juergen Furthmueller<br \/>\nFFT3D   = fftmpi.o fftmpi_map.o fft3dfurth.o fft3dlib.o <\/p>\n<p># alternatively: fftw.3.1.X is slighly faster and should be used if available<br \/>\n#FFT3D   = fftmpiw.o fftmpi_map.o fftw3d.o fft3dlib.o  \/opt\/libs\/fftw-3.1.2\/lib\/libfftw3.a<\/p>\n<p>#-----------------------------------------------------------------------<br \/>\n# general rules and compile lines<br \/>\n#-----------------------------------------------------------------------<br \/>\nBASIC=   symmetry.o symlib.o   lattlib.o  random.o   <\/p>\n<p>SOURCE=  base.o     mpi.o      smart_allocate.o      xml.o  \\<br \/>\n         constant.o jacobi.o   main_mpi.o  scala.o   \\<br \/>\n         asa.o      lattice.o  poscar.o   ini.o  mgrid.o  xclib.o  vdw_nl.o  xclib_grad.o \\<br \/>\n         radial.o   pseudo.o   gridq.o     ebs.o  \\<br \/>\n         mkpoints.o wave.o     wave_mpi.o  wave_high.o  \\<br \/>\n         $(BASIC)   nonl.o     nonlr.o    nonl_high.o dfast.o    choleski2.o \\<br \/>\n         mix.o      hamil.o    xcgrad.o   xcspin.o    potex1.o   potex2.o  \\<br \/>\n         constrmag.o cl_shift.o relativistic.o LDApU.o \\<br \/>\n         paw_base.o metagga.o  egrad.o    pawsym.o   pawfock.o  pawlhf.o   rhfatm.o  paw.o   \\<br \/>\n         mkpoints_full.o       charge.o   Lebedev-Laikov.o  stockholder.o dipol.o    pot.o \\<br \/>\n         dos.o      elf.o      tet.o      tetweight.o hamil_rot.o \\<br \/>\n         steep.o    chain.o    dyna.o     sphpro.o    us.o  core_rel.o \\<br \/>\n         aedens.o   wavpre.o   wavpre_noio.o broyden.o \\<br \/>\n         dynbr.o    rmm-diis.o reader.o   writer.o   tutor.o xml_writer.o \\<br \/>\n         brent.o    stufak.o   fileio.o   opergrid.o stepver.o  \\<br \/>\n         chgloc.o   fast_aug.o fock.o     mkpoints_change.o sym_grad.o \\<br \/>\n         mymath.o   internals.o dynconstr.o dimer_heyden.o dvvtrajectory.o vdwforcefield.o \\<br \/>\n         hamil_high.o nmr.o    pead.o     mlwf.o     subrot.o   subrot_scf.o \\<br \/>\n         force.o    pwlhf.o  gw_model.o optreal.o   davidson.o  david_inner.o \\<br \/>\n         electron.o rot.o  electron_all.o shm.o    pardens.o  paircorrection.o \\<br \/>\n         optics.o   constr_cell_relax.o   stm.o    finite_diff.o elpol.o    \\<br \/>\n         hamil_lr.o rmm-diis_lr.o  subrot_cluster.o subrot_lr.o \\<br \/>\n         lr_helper.o hamil_lrf.o   elinear_response.o ilinear_response.o \\<br \/>\n         linear_optics.o linear_response.o   \\<br \/>\n         setlocalpp.o  wannier.o electron_OEP.o electron_lhf.o twoelectron4o.o \\<br \/>\n         ratpol.o screened_2e.o wave_cacher.o chi_base.o wpot.o local_field.o \\<br \/>\n         ump2.o bse_te.o bse.o acfdt.o chi.o sydmat.o dmft.o \\<br \/>\n         rmm-diis_mlr.o  linear_response_NMR.o<\/p>\n<p>vasp: $(SOURCE) $(FFT3D) $(INC) main.o<br \/>\nrm -f vasp<br \/>\n$(FCL) -o vasp main.o  $(SOURCE)   $(FFT3D) $(LIB) $(LINK)<br \/>\nmakeparam: $(SOURCE) $(FFT3D) makeparam.o main.F $(INC)<br \/>\n$(FCL) -o makeparam  $(LINK) makeparam.o $(SOURCE) $(FFT3D) $(LIB)<br \/>\nzgemmtest: zgemmtest.o base.o random.o $(INC)<br \/>\n$(FCL) -o zgemmtest $(LINK) zgemmtest.o random.o base.o $(LIB)<br \/>\ndgemmtest: dgemmtest.o base.o random.o $(INC)<br \/>\n$(FCL) -o dgemmtest $(LINK) dgemmtest.o random.o base.o $(LIB)<br \/>\nffttest: base.o smart_allocate.o mpi.o mgrid.o random.o ffttest.o $(FFT3D) $(INC)<br \/>\n$(FCL) -o ffttest $(LINK) ffttest.o mpi.o mgrid.o random.o smart_allocate.o base.o $(FFT3D) $(LIB)<br \/>\nkpoints: $(SOURCE) $(FFT3D) makekpoints.o main.F $(INC)<br \/>\n$(FCL) -o kpoints $(LINK) makekpoints.o $(SOURCE) $(FFT3D) $(LIB)<\/p>\n<p>clean:<br \/>\n-rm -f *.g *.f *.o *.L *.mod ; touch *.F<\/p>\n<p>main.o: main$(SUFFIX)<br \/>\n$(FC) $(FFLAGS)$(DEBUG)  $(INCS) -c main$(SUFFIX)<br \/>\nxcgrad.o: xcgrad$(SUFFIX)<br \/>\n$(FC) $(FFLAGS) $(INLINE)  $(INCS) -c xcgrad$(SUFFIX)<br \/>\nxcspin.o: xcspin$(SUFFIX)<br \/>\n$(FC) $(FFLAGS) $(INLINE)  $(INCS) -c xcspin$(SUFFIX)<\/p>\n<p>makeparam.o: makeparam$(SUFFIX)<br \/>\n$(FC) $(FFLAGS)$(DEBUG)  $(INCS) -c makeparam$(SUFFIX)<\/p>\n<p>makeparam$(SUFFIX): makeparam.F main.F<br \/>\n#<br \/>\n# MIND: I do not have a full dependency list for the include<br \/>\n# and MODULES: here are only the minimal basic dependencies<br \/>\n# if one strucuture is changed then touch_dep must be called<br \/>\n# with the corresponding name of the structure<br \/>\n#<br \/>\nbase.o: base.inc base.F<br \/>\nmgrid.o: mgrid.inc mgrid.F<br \/>\nconstant.o: constant.inc constant.F<br \/>\nlattice.o: lattice.inc lattice.F<br \/>\nsetex.o: setexm.inc setex.F<br \/>\npseudo.o: pseudo.inc pseudo.F<br \/>\nposcar.o: poscar.inc poscar.F<br \/>\nmkpoints.o: mkpoints.inc mkpoints.F<br \/>\nwave.o: wave.F<br \/>\nnonl.o: nonl.inc nonl.F<br \/>\nnonlr.o: nonlr.inc nonlr.F<\/p>\n<p>$(OBJ_HIGH):<br \/>\n$(CPP)<br \/>\n$(FC) $(FFLAGS) $(OFLAG_HIGH) $(INCS) -c $*$(SUFFIX)<br \/>\n$(OBJ_NOOPT):<br \/>\n$(CPP)<br \/>\n$(FC) $(FFLAGS) $(INCS) -c $*$(SUFFIX)<\/p>\n<p>fft3dlib_f77.o: fft3dlib_f77.F<br \/>\n$(CPP)<br \/>\n$(F77) $(FFLAGS_F77) -c $*$(SUFFIX)<\/p>\n<p>.F.o:<br \/>\n$(CPP)<br \/>\n$(FC) $(FFLAGS) $(OFLAG) $(INCS) -c $*$(SUFFIX)<br \/>\n.F$(SUFFIX):<br \/>\n$(CPP)<br \/>\n$(SUFFIX).o:<br \/>\n$(FC) $(FFLAGS) $(OFLAG) $(INCS) -c $*$(SUFFIX)<\/p>\n<p># special rules<br \/>\n#-----------------------------------------------------------------------<br \/>\n# these special rules are cummulative (that is once failed<br \/>\n#   in one compiler version, stays in the list forever)<br \/>\n# -tpp5|6|7 P, PII-PIII, PIV<br \/>\n# -xW use SIMD (does not pay of on PII, since fft3d uses double prec)<br \/>\n# all other options do no affect the code performance since -O1 is used<\/p>\n<p>fft3dlib.o : fft3dlib.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O2 -c $*$(SUFFIX)<\/p>\n<p>fft3dfurth.o : fft3dfurth.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)<\/p>\n<p>fftw3d.o : fftw3d.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)<\/p>\n<p>wave_high.o : wave_high.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)<\/p>\n<p>radial.o : radial.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)<\/p>\n<p>symlib.o : symlib.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)<\/p>\n<p>symmetry.o : symmetry.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)<\/p>\n<p>wave_mpi.o : wave_mpi.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)<\/p>\n<p>wave.o : wave.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)<\/p>\n<p>dynbr.o : dynbr.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)<\/p>\n<p>asa.o : asa.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)<\/p>\n<p>broyden.o : broyden.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O2 -c $*$(SUFFIX)<\/p>\n<p>us.o : us.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O1 -c $*$(SUFFIX)<\/p>\n<p>LDApU.o : LDApU.F<br \/>\n$(CPP)<br \/>\n$(FC) -FR -lowercase -O2 -c $*$(SUFFIX)<\/code><br \/>\n&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>vasp\u7684\u7f16\u8bd1\u5b89\u88c5\u53ef\u4ee5\u8bf4\u662f\u5343\u5947\u767e\u602a\uff0c\u6211\u91c7\u7528\u7684\u662fivf\u7684\u7f16\u8bd1\u5668\u548cmpich2\u8fdb\u884c\u6700\u7b80\u5355\u7684\u7f16\u8bd1\uff0c\u7cfb\u7edf\u662fubuntu [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[3],"tags":[108,170,169],"class_list":["post-1224","post","type-post","status-publish","format-standard","hentry","category-3","tag-fortran","tag-intel","tag-vasp"],"_links":{"self":[{"href":"https:\/\/www.hsyyf.me\/index.php?rest_route=\/wp\/v2\/posts\/1224","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hsyyf.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hsyyf.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hsyyf.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hsyyf.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1224"}],"version-history":[{"count":0,"href":"https:\/\/www.hsyyf.me\/index.php?rest_route=\/wp\/v2\/posts\/1224\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.hsyyf.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1224"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hsyyf.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1224"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hsyyf.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1224"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}