• Compile Lammps on Blue Waters


      Modules:

    Currently Loaded Modulefiles:
      1) modules/3.2.10.4                           17) darshan/3.1.3
      2) eswrap/1.3.3-1.020200.1280.0               18) cray-libsci/16.11.1
      3) gcc/4.9.3                                  19) udreg/2.3.2-1.0502.10518.2.17.gem
      4) craype-interlagos                          20) ugni/6.0-1.0502.10863.8.28.gem
      5) craype-network-gemini                      21) pmi/5.0.10-1.0000.11050.179.3.gem
      6) craype/2.5.8                               22) dmapp/7.0.1-1.0502.11080.8.74.gem
      7) cray-mpich/7.5.0                           23) gni-headers/4.0-1.0502.10859.7.8.gem
      8) torque/6.0.4                               24) xpmem/0.1-2.0502.64982.5.3.gem
      9) moab/9.0.2.TAS7-1490665589_71674cf-sles11  25) dvs/2.5_0.9.0-1.0502.2188.1.113.gem
     10) java/jdk1.8.0_51                           26) alps/5.2.4-2.0502.9774.31.12.gem
     11) globus/5.2.5                               27) rca/1.0.0-2.0502.60530.1.63.gem
     12) gsissh/6.2p2                               28) atp/2.0.4
     13) xalt/0.7.6.local                           29) PrgEnv-gnu/5.2.82
     14) scripts                                    30) cmake/3.1.3
     15) user-paths                                 31) fftw/3.3.4.10
     16) gnuplot/5.0.5

      Make Process:

    1 cd /u/sciteam/zhang7/softwares/lammps-11Aug17/src/
    2 cp ./MAKE/MACHINES/Makefile.xe6 ./MAKE/
    3 make -j32 xe6

      Makefile.xe6 may need to be modified as following:

    # xe6 = Cray XE6, Cray CC, native MPI, FFTW
    
    SHELL = /bin/sh
    .SUFFIXES: .cpp .d
    
    # ---------------------------------------------------------------------
    # compiler/linker settings
    # specify flags and libraries needed for your compiler
    
    CC =		CC
    CCFLAGS =	-O2 -funroll-loops -fstrict-aliasing -Wall -W -Wno-uninitialized
    SHFLAGS =	-fPIC
    DEPFLAGS =	-M
    
    LINK =		CC
    LINKFLAGS =	-O
    LIB = 
    SIZE =		size
    
    ARCHIVE =	ar
    ARFLAGS =	-rc
    SHLIBFLAGS =	-shared
    
    # ---------------------------------------------------------------------
    # LAMMPS-specific settings, all OPTIONAL
    # specify settings for LAMMPS features you will use
    # if you change any -D setting, do full re-compile after "make clean"
    
    # LAMMPS ifdef settings
    # see possible settings in Section 2.2 (step 4) of manual
    
    LMP_INC =	-DLAMMPS_GZIP
    
    # MPI library
    # see discussion in Section 2.2 (step 5) of manual
    # MPI wrapper compiler/linker can provide this info
    # can point to dummy MPI library in src/STUBS as in Makefile.serial
    # use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts
    # INC = path for mpi.h, MPI compiler settings
    # PATH = path for MPI library
    # LIB = name of MPI library
    
    MPI_INC =       -DMPICH_SKIP_MPICXX 
    MPI_PATH = 
    MPI_LIB =	
    
    # FFT library
    # see discussion in Section 2.2 (step 6) of manaul
    # can be left blank to use provided KISS FFT library
    # INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings
    # PATH = path for FFT library
    # LIB = name of FFT library
    
    FFT_INC =       -DFFT_FFTW3
    FFT_PATH = 	-L$(FFTWDIR)/lib
    FFT_LIB =	-lfftw3
    
    # JPEG and/or PNG library
    # see discussion in Section 2.2 (step 7) of manual
    # only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC
    # INC = path(s) for jpeglib.h and/or png.h
    # PATH = path(s) for JPEG library and/or PNG library
    # LIB = name(s) of JPEG library and/or PNG library
    
    JPG_INC =       
    JPG_PATH = 	
    JPG_LIB =	
    
    # ---------------------------------------------------------------------
    # build rules and dependencies
    # do not edit this section
    
    include	Makefile.package.settings
    include	Makefile.package
    
    EXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC)
    EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH)
    EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB)
    EXTRA_CPP_DEPENDS = $(PKG_CPP_DEPENDS)
    EXTRA_LINK_DEPENDS = $(PKG_LINK_DEPENDS)
    
    # Path to src files
    
    vpath %.cpp ..
    vpath %.h ..
    
    # Link target
    
    $(EXE):	$(OBJ) $(EXTRA_LINK_DEPENDS)
    	$(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE)
    	$(SIZE) $(EXE)
    
    # Library targets
    
    lib:	$(OBJ) $(EXTRA_LINK_DEPENDS)
    	$(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ)
    
    shlib:	$(OBJ) $(EXTRA_LINK_DEPENDS)
    	$(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) 
            $(OBJ) $(EXTRA_LIB) $(LIB)
    
    # Compilation rules
    
    %.o:%.cpp $(EXTRA_CPP_DEPENDS)
    	$(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $<
    
    %.d:%.cpp $(EXTRA_CPP_DEPENDS)
    	$(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@
    
    %.o:%.cu $(EXTRA_CPP_DEPENDS)
    	$(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $<
    
    # Individual dependencies
    
    depend : fastdep.exe $(SRC)
    	@./fastdep.exe $(EXTRA_INC) -- $^ > .depend || exit 1
    
    fastdep.exe: ../DEPEND/fastdep.c
    	cc -O -o $@ $<
    
    sinclude .depend

      Refered to: https://bluewaters.ncsa.illinois.edu/lammps

  • 相关阅读:
    EF 学习代码
    VS10 调试 新功能
    高级编程 实验代码
    事务 代码
    ADO.NET的新功能:MARS(Multiple Active Result Set) 及 异步执行命令
    Log4Net
    获得CheckBoxList最后一个被操作的项
    在存储过程中用事务
    ASP.NET服务端添加客户端事件
    GridView遍历各行的控件和控件事件
  • 原文地址:https://www.cnblogs.com/zjyx/p/7735436.html
Copyright © 2020-2023  润新知