pytorch/scripts
Jiakai Liu 385067ed4f [pytorch][cmake] improve build mobile with host toolchain (#34187)
Summary:
Pull Request resolved: https://github.com/pytorch/pytorch/pull/34187

Noticed that a recent PR broke Android/iOS CI but didn't break mobile
build with host toolchain. Turns out one mobile related flag was not
set on PYTORCH_BUILD_MOBILE code path:
```
"set(INTERN_DISABLE_MOBILE_INTERP ON)"
```

First, move the INTERN_DISABLE_MOBILE_INTERP macro below, to stay with
other "mobile + pytorch" options - it's not relevant to "mobile + caffe2"
so doesn't need to be set as common "mobile" option;

Second, rename PYTORCH_BUILD_MOBILE env-variable to
BUILD_PYTORCH_MOBILE_WITH_HOST_TOOLCHAIN - it's a bit verbose but
becomes more clear what it does - there is another env-variable
"BUILD_PYTORCH_MOBILE" used in scripts/build_android.sh, build_ios.sh,
which toggles between "mobile + pytorch" v.s. "mobile + caffe2";

Third, combine BUILD_PYTORCH_MOBILE_WITH_HOST_TOOLCHAIN with ANDROID/IOS
to avoid missing common mobile options again in future.

Test Plan: Imported from OSS

Differential Revision: D20251864

Pulled By: ljk53

fbshipit-source-id: dc90cc87ffd4d0bf8a78ae960c4ce33a8bb9e912
2020-03-04 11:43:16 -08:00
..
appveyor
fbcode-dev-setup Fix typos (#30606) 2019-12-02 20:17:42 -08:00
model_zoo
onnx Skip same tests in ONNX Python3 CI as in Python2 (#31827) 2020-01-03 12:42:42 -08:00
add_apache_header.sh
apache_header.txt
apache_python.txt
build_android.sh custom build script (#30144) 2019-11-20 13:16:02 -08:00
build_host_protoc.sh
build_ios.sh [iOS] Add watchOS support (#33318) 2020-02-14 14:02:22 -08:00
build_local.sh Only set CCACHE_WRAPPER_PATH in the build scripts if it is not already passed in. 2019-11-01 18:39:12 -07:00
build_mobile.sh [pytorch][cmake] improve build mobile with host toolchain (#34187) 2020-03-04 11:43:16 -08:00
build_pytorch_android.sh Script for full android build to aars; script to run android tests (#26833) 2019-09-30 14:25:00 -07:00
build_raspbian.sh
build_tegra_x1.sh
build_tizen.sh
build_windows.bat
diagnose_protobuf.py
get_clang_format.py [scripts] Add script to fetch clang-format binary from AWS S3 (#33644) 2020-02-25 10:47:03 -08:00
get_python_cmake_flags.py
proto.ps1
read_conda_versions.sh
README.md
remove_apache_header.sh
run_mobilelab.py
temp.sh
xcode_build.rb Mobile Backend: NHWC memory layout + XNNPACK integration. (#33722) 2020-02-24 21:58:56 -08:00

This directory contains the useful tools.

build_android.sh

This script is to build PyTorch/Caffe2 library for Android. Take the following steps to start the build:

  • set ANDROID_NDK to the location of ndk
export ANDROID_NDK=YOUR_NDK_PATH
  • run build_android.sh
#in your PyTorch root directory
bash scripts/build_android.sh

If succeeded, the libraries and headers would be generated to build_android/install directory. You can then copy these files from build_android/install to your Android project for further usage.

You can also override the cmake flags via command line, e.g., following command will also compile the executable binary files:

bash scripts/build_android.sh -DBUILD_BINARY=ON

build_ios.sh

This script is to build PyTorch/Caffe2 library for iOS, and can only be performed on macOS. Take the following steps to start the build:

  • Install Xcode from App Store, and configure "Command Line Tools" properly on Xcode.
  • Install the dependencies:
brew install cmake automake libtool
  • run build_ios.sh
#in your PyTorch root directory
bash scripts/build_ios.sh

If succeeded, the libraries and headers would be generated to build_ios/install directory. You can then copy these files to your Xcode project for further usage.