mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Summary: This PR is an intermediate step toward the ultimate goal of eliminating "caffe2" in favor of "torch". This PR moves all of the files that had constituted "libtorch.so" into the "libcaffe2.so" library, and wraps "libcaffe2.so" with a shell library named "libtorch.so". This means that, for now, `caffe2/CMakeLists.txt` becomes a lot bigger, and `torch/CMakeLists.txt` becomes smaller. The torch Python bindings (`torch_python.so`) still remain in `torch/CMakeLists.txt`. The follow-up to this PR will rename references to `caffe2` to `torch`, and flatten the shell into one library. Pull Request resolved: https://github.com/pytorch/pytorch/pull/17783 Differential Revision: D15284178 Pulled By: kostmo fbshipit-source-id: a08387d735ae20652527ced4e69fd75b8ff88b05
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>
|
|
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.
|