singularity


def文件

如果我们要在singularity当中使用mpi,mpi需要加载环境变量才行。需要将用到的环境变量放到def文件中的%environment部分。

说一下%environment与%post的区别:
%environment里面的环境变量会在运行时加载;%post里面的环境变量会在build时加载

官方给的mpich例子中的def文件中的%environment环境变量有误,需要更改其中的路径,否则会报错,找不到lib库。

官方例子:

%environment
    # Point to MPICH binaries, libraries man pages
    export MPICH_DIR=/opt/mpich-3.3.2
    export PATH="$MPICH_DIR/bin:$PATH"
    export LD_LIBRARY_PATH="$MPICH_DIR/lib:$LD_LIBRARY_PATH"
    export MANPATH=$MPICH_DIR/share/man:$MANPATH

正确的例子:
%environment
    # Point to MPICH binaries, libraries man pages
    export MPICH_DIR=/opt/mpich
    export PATH="$MPICH_DIR/bin:$PATH"
    export LD_LIBRARY_PATH="$MPICH_DIR/lib:$LD_LIBRARY_PATH"
    export MANPATH=$MPICH_DIR/share/man:$MANPATH


文章作者: Jason Lin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 reprint policy. If reproduced, please indicate source Jason Lin !
  目录