mirror of
https://github.com/zebrajr/pytorch.git
synced 2025-12-07 00:21:07 +01:00
Summary:
1. I fixed the importing process, which had some problems
- **I think `setup_helpers` should not be imported as the top level module. It can lead to many future errors. For example, what if `setup_helpers` imports another module from the upper level?** So we need to change it.
- The code is not consistent with other modules in `tools` package. For example, other
modules in the package imports `from tools.setuptools...` not `from setuptools...`.
- **It should be able to run with `python -m tools.build_libtorch` command** because this module is a part of the tools package. Currently, you cannot do that and I think it's simply wrong.
~~2. I Added platform specific warning messages.
- I constantly forgot that I needed to define some environment variables in advance specific to my platform to build libtorch, especially when I'm working at a non pytorch root directory. So I thought adding warnings for common options would be helpful .~~
~~3. Made the build output path configurable. And a few other changes.~~
orionr ebetica
Pull Request resolved: https://github.com/pytorch/pytorch/pull/15471
Differential Revision: D13709607
Pulled By: ezyang
fbshipit-source-id: 950d5727aa09f857d973538c50b1ab169d88da38
30 lines
1.0 KiB
ReStructuredText
30 lines
1.0 KiB
ReStructuredText
libtorch (C++-only)
|
|
===================
|
|
|
|
The core of pytorch does not depend on Python. A
|
|
CMake-based build system compiles the C++ source code into a shared
|
|
object, libtorch.so.
|
|
|
|
Building libtorch
|
|
-----------------
|
|
|
|
You can use a python script/module located in tools package to build libtorch
|
|
::
|
|
cd <pytorch_root>
|
|
# export some required environment variables
|
|
python -m tools.build_libtorch
|
|
|
|
|
|
Alternatively, you can invoke a shell script in the same directory to achieve the same goal
|
|
::
|
|
cd <pytorch_root>
|
|
BUILD_TORCH=ON ONNX_NAMESPACE=onnx_torch bash tools/build_pytorch_libs.sh --use-nnpack caffe2
|
|
ls torch/lib/tmp_install # output is produced here
|
|
ls torch/lib/tmp_install/lib/libtorch.so # of particular interest
|
|
|
|
To produce libtorch.a rather than libtorch.so, set the environment variable `BUILD_SHARED_LIBS=OFF`.
|
|
|
|
To use ninja rather than make, set `CMAKE_GENERATOR="-GNinja" CMAKE_INSTALL="ninja install"`.
|
|
|
|
Note that we are working on eliminating tools/build_pytorch_libs.sh in favor of a unified cmake build.
|