| 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> |
| |
| # Make a new folder to build in to avoid polluting the source directories |
| mkdir build_libtorch && cd build_libtorch |
| |
| # You might need to export some required environment variables here. |
| Normally setup.py sets good default env variables, but you'll have to do |
| that manually. |
| python ../tools/build_libtorch.py |
| |
| |
| Alternatively, you can call setup.py normally and then copy the built cpp libraries. This method may have side effects to your active Python installation. |
| :: |
| cd <pytorch_root> |
| python setup.py build |
| |
| 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. |