---
title: 启动时延优化
description: "通过在mpirun命令行中加入如下参数来优化启动选项："
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/userg_huaweimpi_0030.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/userg_huaweimpi_0030.html
indexId: c3315dab6528d5f9f92a423507d952a41b10b578be00e40aa386230619dcede760
---
# 启动时延优化

通过在mpirun命令行中加入如下参数来优化启动选项：

- --mca osc ^ucx：使用osc（单边通信模块）时不指定ucx。由于ucx的初始化在业务启动流程中耗时较长，大部分集合通信业务中使用pml，很少会用到osc，因此该配置项可以节省一次ucx初始化的时间。
- --mca pml ucx：指定pml模块只初始化ucx，减少其他模块初始化对启动时延的影响。
- --mca oob_tcp_if_include网卡名称：为加快业务启动osu_init时的fence流程，建议使用TCP带宽较大、时延更优的网卡，因为fence需要节点间发送TCP数据，带外TCP通信网卡往往会成为业务初始化的性能瓶颈。默认使用环境上获取到的第一张网卡，如有性能更好的其他网卡，可以通过该启动选项，提高通信时延性能。
- -x UCX_TLS=sm,rc_v：传输层选择sm + rc_v的组合方式。

  - sm表示节点内使用sm共享内存作为传输层，这加快了节点内进程的通信传输。
  - 由于rc要初始化rc_v、ud_v、rc_mlx和ud_mlx，而rc_v只需初始化rc_v和ud_v，因此节点间选择rc_v，可以加快业务启动时延。
- -x UCX_NET_DEVICES=网卡名称：选择的网卡数量会影响ud_v的初始化时延。对于每个网卡设备的初始化，需获取该设备的全部gid_attr，该过程较为耗时，因此建议减少网卡数量的选择。

启动时延优化命令示例：

mpirun --mca osc ^ucx --mca pml ucx -np 32 -x UCX_TLS=sm,rc_v --hostfile file -x UCX_NET_DEVICES=mlx5_0:1 --mca oob_tcp_if_include enp125s0f0 -x PATH -x LD_LIBRARY_PATH osu_init
