下载
中文
注册
多机Docker服务配置免密后,libgomp-d22c30c5.so.1.0.0读取失败

多机Docker服务配置免密后,libgomp-d22c30c5.so.1.0.0读取失败

2024/02/21

163

暂无评分
我要评分

问题信息

问题来源产品大类产品子类关键字
官方安装部署镜像Docker配置免密、环境变量

问题现象

多机Docker服务配置免密后,libgomp-d22c30c5.so.1.0.0读取失败,报错提示libgomp-d22c30c5.so.1.0.0 cannot allocate memory in static TLS block。

原因分析

执行pdsh命令时,导入的环境变量存在问题。

解决措施

在每个节点上,进行以下操作,配置runner.py文件。

  1. 执行以下命令,打开runner.py文件。

    vim /usr/local/python3.7.5/lib/python3.7/site-packages/deepspeed/launcher/runner.py

  2. 将runner.py文件的EXPORT_ENVS字段,替换为以下内容。

    EXPORT_ENVS = ["NCCL", "PYTHON", "MV2", "UCX", "LD"]

  3. 将runner.py文件的if 'LD_PRELOAD' in env函数,替换为以下内容。

    ...
    if 'LD_PRELOAD' in env:
        env['LD_PRELOAD'] = "/usr/local/python3.7.5/lib/python3.7/site-packages/sklearn/__check_build/../../scikit_learn.libs/libgomp-d22c30c5.so.1.0.0" + ":" + env['LD_PRELOAD']
    else:
        env['LD_PRELOAD'] = "/usr/local/python3.7.5/lib/python3.7/site-packages/sklearn/__check_build/../../scikit_learn.libs/libgomp-d22c30c5.so.1.0.0"
    ...

  4. 在runner.py文件的for var in env.keys()函数中,新增如下加粗的var == "LD_PRELOAD"字段。

    exports = ""
    for var in env.keys():
        if any([var.startswith(name) for name in EXPORT ENVS]) or var == "LD_PRELOAD":
            runner.add export( var, env[var])

本页内容