鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

(可选)安装knem组件

knem是MPI节点内通信的一个增强组件,在部分HPC应用中,对于MPI通信中单次发送数据量较大的场景,安装使能该组件后在时会有一些性能提升。

检查knem使能情况

安装knem组件前,可以先检查knem使能情况,如果可以使能成功则无需再安装knem。

  1. 检查是否已安装osu_latency,如果未安装则需要安装osu_latency。
  2. 确认能否正常指定knem:运行osu_latency,mpi命令中指定 -x UCX_TLS=posix,knem,同时确保UCX_LOG_LEVEL保持默认级别,运行后如果日志打印中没有UCX WARN transport 'knem' is not available,执行步骤3,否则直接安装knem
  3. 确认knem是否正常生效:运行osu_latency,mpi命令中指定 -x UCX_TLS=posix,knem,运行前后分别通过“cat /dev/knem” 命令查看文件的内容,主要关注其中的Requests submitted参数在运行前后是否有变化,如果有变化,则说明已正常生效。

如果knem未正常使能,可以尝试安装knem后,再次使用上述方法确认使能情况。

安装knem

  1. 可使用以下两种方法中的一种获取knem安装包“knem-master.tar.gz”
    • 方法一:直接使用wget命令下载压缩包到对应要安装的服务器上。

      wget https://gitlab.inria.fr/knem/knem/-/archive/master/knem-master.tar.gz

    • 方法二:先下载到本地电脑再上传到服务器。
      1. 点击链接,下载压缩包到本地电脑

        https://gitlab.inria.fr/knem/knem/-/archive/master/knem-master.tar.gz

      2. 使用ftp工具将压缩包上传到服务器
  2. 以root用户登录服务器,进入安装包存储的目录,执行以下命令解压安装包,并进行编译安装。

    tar -zxvf knem-master.tar.gz

    cd knem-master

    ./autogen.sh

    ./configure --prefix=/path/to/install

    make -j && make install -j

    /path/to/install表示安装knem的路径。

  3. 安装knem内核。

    insmod /path/to/install/lib/modules/[kernel_version]/knem.ko

    • [kernel_version]可以通过 uname -r 命令查询。
    • /path/to/install表示安装knem的路径。
  4. 检查knem内核。
    lsmod | grep knem
    1
    knem                   57344  4
    
  5. 检查knem安装是否成功,能正常运行knem的示例程序 knem_pingpong 即说明已安装成功。

    /path/to/install/bin/knem_pingpong

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    1024:	  25.705 us	39.84 MB/s	 37.99 MiB/s
    2048:	  25.869 us	79.17 MB/s	 75.50 MiB/s
    4096:	  29.301 us	139.79 MB/s	 133.32 MiB/s
    8192:	  30.902 us	265.09 MB/s	 252.81 MiB/s
    16384:	  35.213 us	465.28 MB/s	 443.73 MiB/s
    32768:	  45.170 us	725.44 MB/s	 691.83 MiB/s
    65536:	  69.500 us	942.96 MB/s	 899.28 MiB/s
    131072:	  62.795 us	2087.30 MB/s	 1990.61 MiB/s
    262144:	  91.160 us	2875.64 MB/s	 2742.43 MiB/s
    524288:	  158.172 us	3314.67 MB/s	 3161.12 MiB/s
    1048576:  216.383 us	4845.93 MB/s	 4621.44 MiB/s
    2097152:  310.549 us	6753.05 MB/s	 6440.21 MiB/s
    4194304:  329.018 us	12747.96 MB/s	 12157.40 MiB/s
    8388608:  615.082 us	13638.19 MB/s	 13006.40 MiB/s
    16777216: 1232.287 us	13614.70 MB/s	 12983.99 MiB/s