A release that address some bugs around non-trivially moveable Cpp objects, causes a change in API.
For most structs it has no effect as most Cpp structs of executorch are trivially moveable. For those who are not, such as Tensor
and EValue
, the default constructor method, aka new
, will allocate the underlying Cpp object on the heap using a Box
. On systems were allocations are not available, a new Storage
struct is introduced allowing pinned allocations on the stack.
What's Changed
- Update ndarray requirement from 0.15.6 to 0.16.0
- Enforce Cpp objects are not moved for non-trivially movable structs
- Remove some deps for real
no_std
by, still not fully supported due to the Cpp lib requiring the Cpp standard library. See pytorch/executorch#4561 - The library is now tested on both Ubuntu and MacOS. Windows is not supported.