zoukankan      html  css  js  c++  java
  • ORNL cadesvirtues上编译 RMG/ Compile RMG on Cadesvirtues at ORNL

    System information:

    Linux version 3.10.0-327.4.4.el7.x86_64 (builder@kbuilder.dev.centos.org) (gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) ) #1 SMP Tue Jan 5 16:07:00 UTC 2016

    Step 1: Load all required modules (All other modules have been compiled separately, and will be found by cmake later).

    module load cmake/3.6.1

    Step 2: Modify CMakeFindRootPath.inc file in source code directory: add all separately compiled modules' paths here.

    set(CMAKE_FIND_ROOT_PATH
    /software/user_tools/current/cades-virtues/apps/fftw/gcc5/3.3.4/
    /software/tools/spack/opt/spack/linux-x86_64/gcc-4.8.5/openblas-0.2.15-f74b2gb6oq6bdcwpewkbbgake2rbe25z
    /home/z8j/softwares/pfft
    /home/z8j/softwares/spglib-1.9.5
    /home/z8j/softwares/libxc-2.2.3
    /home/z8j/softwares/bzip2-1.0.6
    /home/z8j/softwares/scalapack-2.0.2/build
    )

    Step 3: Modify cmake/Modules/FindFFTW.cmake. There is an error linking FFTW library if we use static libray here, so we need to make sure that cmake find the shared library of FFTW(While in other cases, we will have to use static library, which I am also confused).

    # - Find FFTW
    # Find the native FFTW3 includes and library
    #
    #  FFTW_INCLUDES    - where to find fftw3.h
    #  FFTW_LIBRARIES   - List of libraries when using FFTW3.
    #  FFTW_FOUND       - True if FFTW3 found.
    
    if (FFTW_INCLUDES)
      # Already in cache, be silent
      set (FFTW_FIND_QUIETLY TRUE)
    endif (FFTW_INCLUDES)
    
    find_path (FFTW_INCLUDES fftw3.h)
    if(NOT FFTW_INCLUDES)
        find_path (FFTW_INCLUDES dfftw3.h)
    endif(NOT FFTW_INCLUDES)
    
    find_library (FFTW_LIBRARIES NAMES dfftw3)
    if(NOT FFTW_LIBRARIES)
        find_library (FFTW_LIBRARIES NAMES libfftw3.a)
    endif(NOT FFTW_LIBRARIES)
    
    if(NOT FFTW_LIBRARIES)
        find_library (FFTW_LIBRARIES NAMES fftw3)
    endif(NOT FFTW_LIBRARIES)
    
    find_library (FFTW_MPI_LIBRARIES NAMES libfftw3_mpi.so)
    
    # handle the QUIETLY and REQUIRED arguments and set FFTW_FOUND to TRUE if
    # all listed variables are TRUE
    include (FindPackageHandleStandardArgs)
    find_package_handle_standard_args (FFTW DEFAULT_MSG FFTW_LIBRARIES FFTW_INCLUDES)
    
    mark_as_advanced (FFTW_LIBRARIES FFTW_INCLUDES)

    Step 4: run following commands in order.

    cmake .
    make -j 4 rmg-cpu
  • 相关阅读:
    「日常报错」Response to preflight request doesn't pass access control check: It does not have HTTP ok status.
    LeetCode1026. 节点与其祖先之间的最大差值
    Erlang TCP 实例
    「笔记」Systemd 的基础
    折腾日记「乱七八糟的过程」
    LeetCode15.三数之和
    Sql Paging
    行变列
    SQL JOINS
    DBML存储过程返回值
  • 原文地址:https://www.cnblogs.com/zjyx/p/5898401.html
Copyright © 2011-2022 走看看