多机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文件。
- 执行以下命令,打开runner.py文件。
vim /usr/local/python3.7.5/lib/python3.7/site-packages/deepspeed/launcher/runner.py
- 将runner.py文件的EXPORT_ENVS字段,替换为以下内容。
EXPORT_ENVS = ["NCCL", "PYTHON", "MV2", "UCX", "LD"]
- 将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" ...
- 在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])
本页内容