pytorch
e849ed3d - Redirect print messages to `stderr` in `torch.utils.cpp_extension` (#82097)

Commit
2 years ago
Redirect print messages to `stderr` in `torch.utils.cpp_extension` (#82097) ### Description <!-- What did you change and why was it needed? --> Listed in the commit message: > The user may want to use `python3 -c "..."` to get the torch library > path and the include path. Printing messages to stdout will mess up > the output. I'm using the command: ```bash LIBTORCH_PATH="$( python3 -c 'print(":".join(__import__("torch.utils.cpp_extension", fromlist=[None]).library_paths()))' )" export LD_LIBRARY_PATH="${LIBTORCH_PATH}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" ``` To let the command line tools find the torch shared libraries. I think this would be a common use case for users who writing C/C++ extensions. I got: ```console $ LIBTORCH_PATH="$(python3 -c 'print(":".join(__import__("torch.utils.cpp_extension", fromlist=[None]).library_paths()))')" $ export LD_LIBRARY_PATH="${LIBTORCH_PATH}${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" $ echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}" LD_LIBRARY_PATH=No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda-11.6' /opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/torch/lib:/usr/local/cuda-11.6/lib64: $ ls -alh "${LIBTORCH_PATH}" ls: cannot access 'No CUDA runtime is found, using CUDA_HOME='\''/usr/local/cuda-11.6'\'''$'\n''/opt/hostedtoolcache/Python/3.7.13/x64/lib/python3.7/site-packages/torch/lib': No such file or directory ``` This PR prints messages in `torch.utils.cpp_extension` to `stderr`, which allows users to get correct result using `VAR="$(python3 -c '...')"` ### Issue <!-- Link to Issue ticket or RFP --> N/A ### Testing <!-- How did you test your change? --> N/A Pull Request resolved: https://github.com/pytorch/pytorch/pull/82097 Approved by: https://github.com/ezyang
Author
Committer
Parents
Loading