IssueRaiser

PyPy support

## 🚀 Feature Support pytorch from PyPy -- a fast, compliant alternative implementation of the Python language (http://pypy.org) ## Motivation While pytorch itself probably won't benefit much from PyPy JIT, but often pytorch is used as a part of larger application, where using PyPy can have speed benefits, e.g. for evaluation, data generation, or other activities. ## Pitch (A clear and concise description of what you want to happen). I can imagine several stages: - PyPy support works by compiling from source - PyPy is integrated into CI - PyPy wheels are built and released ## Additional context Right now it seems that PyPy support, at least for commonly used stuff, is not far from reality, for example this branch https://github.com/lopuhin/pytorch/tree/pypy3.6 works in PyPy 3.6 7.0.0 for a moderately complex application (didn't try running tests yet). Here is a summary of fixes in that branch: 1. working around a compilation issue in the JIT: https://github.com/pytorch/pytorch/commit/0481da14052c09605b38940e08d8cae275c6a8cd - this is definitely a hack to get the compilation working, a proper implementation for PyPy needs to be in place. 2. **[merged]** `PySlice_Unpack` is not yet available in PyPy 3.6 -https://github.com/pytorch/pytorch/commit/752e204c90a782432eed77018e4fe3ad5fa4dbf2 - probably it's ok to merge this. With two above fixes, pytorch compiles on PyPy 3.6. PR https://github.com/pytorch/pytorch/pull/17836 3. **[merged in https://github.com/pybind/pybind11/

Posted by lopuhin on Mar 9, 2019, 8:30 AM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.4,000 issues0 comments

support (Software)

PyPy support

lopuhinMar 9, 2019, 8:30 AM

## 🚀 Feature Support pytorch from PyPy -- a fast, compliant alternative implementation of the Python language (http://pypy.org) ## Motivation While pytorch itself probably won't benefit much from PyPy JIT, but often pytorch is used as a part of larger application, where using PyPy can have speed benefits, e.g. for evaluation, data generation, or other activities. ## Pitch (A clear and concise description of what you want to happen). I can imagine several stages: - PyPy support works by compiling from source - PyPy is integrated into CI - PyPy wheels are built and released ## Additional context Right now it seems that PyPy support, at least for commonly used stuff, is not far from reality, for example this branch https://github.com/lopuhin/pytorch/tree/pypy3.6 works in PyPy 3.6 7.0.0 for a moderately complex application (didn't try running tests yet). Here is a summary of fixes in that branch: 1. working around a compilation issue in the JIT: https://github.com/pytorch/pytorch/commit/0481da14052c09605b38940e08d8cae275c6a8cd - this is definitely a hack to get the compilation working, a proper implementation for PyPy needs to be in place. 2. **[merged]** `PySlice_Unpack` is not yet available in PyPy 3.6 -https://github.com/pytorch/pytorch/commit/752e204c90a782432eed77018e4fe3ad5fa4dbf2 - probably it's ok to merge this. With two above fixes, pytorch compiles on PyPy 3.6. PR https://github.com/pytorch/pytorch/pull/17836 3. **[merged in https://github.com/pybind/pybind11/

Comments (0)

No comments yet. Start the discussion.

Comment on this issue