pytorch编译/pytorch/torch/lib/THD/base/data_channels/DataChannelNccl.cpp:31:17: error: ‘ncclInt8’ was not declared in this scope

在https://github.com/pytorch/pytorch/issues/13962页面下有我的同名回答(mtxing69)

/pytorch/torch/lib/THD/base/data_channels/DataChannelNccl.cpp:31:17: error: ‘ncclInt8’ was not declared in this scope

Failed to run 'bash ../tools/build_pytorch_libs.sh --use-cuda --use-nnpack --use-mkldnn --use-qnnpack caffe2'

原因为调用了系统的nccl

网络方法大概两种:

1.修改setup.py中NO_SYSTEM_NCCL

2.修改tools/setup_helpers/nccl.py中的USE_SYSTEM_NCCL

但修改后,在编译过程的中总会发现进入tools/setup_helpers/nccl.py的“if USE_CUDA and not check_negative_env_flag('USE_SYSTEM_NCCL'):”语句,随之就会在cmake info中

-DUSE_SYSTEM_NCCL=ON -DNCCL_INCLUDE_DIR=/usr/local/include -DNCCL_ROOT_DIR=/usr/local/ -DNCCL_SYSTEM_LIB=/usr/local/lib/libnccl.so

解决办法:

把tools/setup_helpers/nccl.py的“if USE_CUDA and not check_negative_env_flag('USE_SYSTEM_NCCL'):”语句中的“not”去掉,随之编译顺利完成。

猜你喜欢

转载自www.cnblogs.com/chendonghao/p/10254493.html
今日推荐