mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 12:54:11 +08:00
[3.13t] use sysconfig to check for Python nogil builds (#144361)
`sys._is_gil_enabled()` wasn't working in certain cases, according to @atalman Pull Request resolved: https://github.com/pytorch/pytorch/pull/144361 Approved by: https://github.com/atalman
This commit is contained in:
committed by
PyTorch MergeBot
parent
a5051a9521
commit
f700035090
@ -2491,11 +2491,15 @@ def compile(
|
||||
return torch.sin(x) + torch.cos(x)
|
||||
|
||||
"""
|
||||
import sysconfig
|
||||
|
||||
_C._log_api_usage_once("torch.compile")
|
||||
if sys.version_info >= (3, 14):
|
||||
raise RuntimeError("Dynamo is not supported on Python 3.14+")
|
||||
elif sys.version_info >= (3, 13) and not sys._is_gil_enabled():
|
||||
raise RuntimeError("Dynamo is not supported on Python with GIL disabled")
|
||||
raise RuntimeError("torch.compile is not supported on Python 3.14+")
|
||||
elif sysconfig.get_config_var("Py_GIL_DISABLED") == 1:
|
||||
raise RuntimeError(
|
||||
"torch.compile is not supported on Python built with GIL disabled"
|
||||
)
|
||||
|
||||
# Decorator mode
|
||||
if model is None:
|
||||
|
@ -17,6 +17,7 @@ import inspect
|
||||
import logging
|
||||
import os
|
||||
import sys
|
||||
import sysconfig
|
||||
import textwrap
|
||||
import threading
|
||||
import traceback
|
||||
@ -813,8 +814,10 @@ class _NullDecorator(contextlib.nullcontext): # type: ignore[type-arg]
|
||||
def check_if_dynamo_supported():
|
||||
if sys.version_info >= (3, 14):
|
||||
raise RuntimeError("Python 3.14+ not yet supported for torch.compile")
|
||||
elif sys.version_info >= (3, 13) and not sys._is_gil_enabled():
|
||||
raise RuntimeError("Dynamo is not supported on Python with GIL disabled")
|
||||
elif sysconfig.get_config_var("Py_GIL_DISABLED") == 1:
|
||||
raise RuntimeError(
|
||||
"torch.compile is not supported on Python built with GIL disabled"
|
||||
)
|
||||
|
||||
|
||||
def is_dynamo_supported():
|
||||
|
Reference in New Issue
Block a user