Files
pytorch/ios
Nikita Shulga 36ac095ff8 Migrate PyTorch to C++17 (#85969)
With CUDA-10.2 gone we can finally do it!

This PR mostly contains build system related changes, invasive functional ones are to be followed.
Among many expected tweaks to the build system, here are few unexpected ones:
 - Force onnx_proto project to be updated to C++17 to avoid `duplicate symbols` error when compiled by gcc-7.5.0, as storage rule for `constexpr` changed in C++17, but gcc does not seem to follow it
 - Do not use `std::apply` on CUDA but rely on the built-in variant, as it results in test failures when CUDA runtime picks host rather than device function when `std::apply` is invoked from CUDA code.
 - `std::decay_t` -> `::std::decay_t` and `std::move`->`::std::move` as VC++ for some reason claims that `std` symbol is ambigious
 - Disable use of `std::aligned_alloc` on Android, as its `libc++` does not implement it.

Some prerequisites:
 - https://github.com/pytorch/pytorch/pull/89297
 - https://github.com/pytorch/pytorch/pull/89605
 - https://github.com/pytorch/pytorch/pull/90228
 - https://github.com/pytorch/pytorch/pull/90389
 - https://github.com/pytorch/pytorch/pull/90379
 - https://github.com/pytorch/pytorch/pull/89570
 - https://github.com/facebookincubator/gloo/pull/336
 - https://github.com/facebookincubator/gloo/pull/343
 - 919676fb32

Fixes https://github.com/pytorch/pytorch/issues/56055

Pull Request resolved: https://github.com/pytorch/pytorch/pull/85969
Approved by: https://github.com/ezyang, https://github.com/kulinseth
2022-12-08 02:27:48 +00:00
..
2022-12-08 02:27:48 +00:00
2019-09-17 11:06:57 -07:00
2022-06-06 09:40:19 -07:00

PyTorch for iOS

Cocoapods Developers

PyTorch is now available via Cocoapods, to integrate it to your project, simply add the following line to your Podfile and run pod install

pod 'LibTorch-Lite'

Import the library

For Objective-C developers, simply import the umbrella header

#import <LibTorch-Lite.h>

For Swift developers, you need to create an Objective-C class as a bridge to call the C++ APIs. We highly recommend you to follow the Image Classification demo where you can find out how C++, Objective-C and Swift work together.

Disable Bitcode

Since PyTorch is not yet built with bitcode support, you need to disable bitcode for your target by selecting the Build Settings, searching for Enable Bitcode and set the value to No.

LICENSE

PyTorch is BSD-style licensed, as found in the LICENSE file.