python3.9的nogil版本编译pytorch2.0.1源码报错——失败

发布时间 2023-08-03 23:58:36作者: Death_Knight

关于python3.9的nogil版本参看:

PEP 703作者给出的一种no-GIL的实现——python3.9的nogil版本

 

 

==========================================

 

 

 

突发奇想,既然python的正式版本要开始逐渐的合并nogil并转想no-GIL,那么没有合并下的nogil是否可以安装pytorch呢,于是就了用nogil编译pytorch2.0.1源码的这个操作,实践证明不可以,报错:

 

 

 

 

In file included from /root/anaconda3/envs/python3.9_nogil/include/python3.9/pytime.h:6,
                 from /root/anaconda3/envs/python3.9_nogil/include/python3.9/Python.h:67,
                 from /root/pytorch/torch/csrc/python_headers.h:12,
                 from /root/pytorch/torch/csrc/Device.h:4,
                 from /root/pytorch/torch/csrc/autograd/generated/python_nested_functions.cpp:4:
/root/pytorch/torch/csrc/utils/pythoncapi_compat.h: In function ‘PyObject* PyCode_GetCode(PyCodeObject*)’:
/root/pytorch/torch/csrc/utils/pythoncapi_compat.h:543:28: error: ‘PyCodeObject’ {aka ‘struct PyCodeObject’} has no member named ‘co_code’
  543 |     return Py_NewRef(code->co_code);
      |                            ^~~~~~~
/root/pytorch/torch/csrc/utils/pythoncapi_compat.h:543:12: note: in expansion of macro ‘Py_NewRef’
  543 |     return Py_NewRef(code->co_code);
      |            ^~~~~~~~~
At global scope:
cc1plus: note: unrecognized command-line option ‘-Wno-aligned-allocation-unavailable’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-unused-private-field’ may have been intended to silence earlier diagnostics
cc1plus: note: unrecognized command-line option ‘-Wno-invalid-partial-specialization’ may have been intended to silence earlier diagnostics
[6729/7009] Building CXX object test_lazy/CMakeFiles/test_lazy.dir/test_lazy_ops.cpp.o
ninja: build stopped: subcommand failed.

 

 

==================================================