misc/py-pytorch: update 2.11.0 → 2.12.0

This commit is contained in:
Yuri Victorovich
2026-05-15 22:00:27 -07:00
parent e0017a092d
commit e41baf232b
25 changed files with 130 additions and 120 deletions
+3 -11
View File
@@ -1,7 +1,6 @@
PORTNAME= pytorch
DISTVERSIONPREFIX= v
DISTVERSION= 2.11.0
PORTREVISION= 3
DISTVERSION= 2.12.0
CATEGORIES= misc # machine-learning
MASTER_SITES= https://github.com/pytorch/pytorch/releases/download/v${DISTVERSION}/
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
@@ -39,10 +38,8 @@ BUILD_DEPENDS= ${PY_SETUPTOOLS} \
${PYTHON_PKGNAMEPREFIX}typing-extensions>0:devel/py-typing-extensions@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
LIB_DEPENDS= libabsl_base.so:devel/abseil \
libblis.so:math/blis \
libonnx.so:misc/onnx \
libopenblas.so:math/openblas \
libpthreadpool.so:devel/pthreadpool \
libprotobuf.so:devel/protobuf \
libsleef.so:math/sleef
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}filelock>0:sysutils/py-filelock@${PY_FLAVOR} \
@@ -56,6 +53,8 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}filelock>0:sysutils/py-filelock@${PY_FLAVOR}
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}astunparse>0:devel/py-astunparse@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}dill>0:devel/py-dill@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}protobuf>0:devel/py-protobuf@${PY_FLAVOR} # optional dependencies
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-rerunfailures>0:devel/py-pytest-rerunfailures@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR}
USES= compiler:c++17-lang localbase:ldflags mpi:openmpi python
USE_PYTHON= pep517 autoplist
@@ -80,10 +79,6 @@ LDFLAGS_powerpc64le= -pthread
BINARY_ALIAS= make=${GMAKE}
POST_PLIST= fix-plist
TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest-rerunfailures>0:devel/py-pytest-rerunfailures@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}pytest-xdist>0:devel/py-pytest-xdist@${PY_FLAVOR}
TEST_ENV= ${MAKE_ENV} PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} \
TORCHINDUCTOR_CACHE_DIR=${WRKDIR}/torchinductor_cache
TEST_WRKSRC= ${WRKSRC}/test
@@ -127,9 +122,6 @@ do-install: # port should be moved to 'torch', but keep this for now with the ha
${_PYTHONPKGLIST}
@cd ${STAGEDIR}${PREFIX} && ${FIND} lib -name '*.pyc' >> ${_PYTHONPKGLIST}
fix-plist: # remove the stray %%PYTHON_SITELIBDIR%%/caffe2 file
@${REINPLACE_CMD} -e "s|.*/caffe2$$||" ${TMPPLIST}
do-test:
@cd ${TEST_WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} run_test.py
+3 -3
View File
@@ -1,5 +1,5 @@
TIMESTAMP = 1776459266
SHA256 (pytorch/pytorch-v2.11.0.tar.gz) = ab3fde9e7e382f45ac942be6ea2c2ef362c5ccd6f55ed6d5f35e6ea81d3ab88e
SIZE (pytorch/pytorch-v2.11.0.tar.gz) = 421160531
TIMESTAMP = 1778898276
SHA256 (pytorch/pytorch-v2.12.0.tar.gz) = 7cc1deb309f402ad67e9f45bbe311a40def4db19d66fddb9b01950f9bfc5ccb1
SIZE (pytorch/pytorch-v2.12.0.tar.gz) = 430864016
SHA256 (pytorch/pytorch-cpuinfo-bc3c01e_GH0.tar.gz) = 09459e830a588fee730feb19d8a32fedf2d36d48db7bd9b18c3159c7e74ea0ce
SIZE (pytorch/pytorch-cpuinfo-bc3c01e_GH0.tar.gz) = 3547453
+5 -5
View File
@@ -1,6 +1,6 @@
--- CMakeLists.txt.orig 2026-03-23 18:40:42 UTC
--- CMakeLists.txt.orig 2026-05-13 17:40:38 UTC
+++ CMakeLists.txt
@@ -173,7 +173,7 @@ set(CPU_RISCV OFF)
@@ -184,7 +184,7 @@ set(CPU_RISCV OFF)
set(CPU_POWER OFF)
set(CPU_RISCV OFF)
@@ -9,7 +9,7 @@
set(CPU_INTEL ON)
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(aarch64|arm64)")
set(CPU_AARCH64 ON)
@@ -205,7 +205,7 @@ option(BUILD_CUSTOM_PROTOBUF
@@ -216,7 +216,7 @@ option(BUILD_CUSTOM_PROTOBUF
option(ATEN_NO_TEST "Do not build ATen test binaries" OFF)
option(BUILD_BINARY "Build C++ binaries" OFF)
option(BUILD_CUSTOM_PROTOBUF
@@ -18,7 +18,7 @@
option(BUILD_PYTHON "Build Python binaries" ON)
option(BUILD_LITE_INTERPRETER "Master flag to build Lite Interpreter" OFF)
option(BUILD_SHARED_LIBS "Build libcaffe2.so" ON)
@@ -268,7 +268,7 @@ option(USE_GLOG "Use GLOG" OFF)
@@ -280,7 +280,7 @@ option(USE_GLOG "Use GLOG" OFF)
option(USE_CUPTI_SO "Use CUPTI as a shared library" ON)
option(USE_GFLAGS "Use GFLAGS" OFF)
option(USE_GLOG "Use GLOG" OFF)
@@ -27,7 +27,7 @@
option(USE_MAGMA "Use MAGMA" ON)
option(USE_PYTORCH_METAL "Use Metal for PyTorch iOS build" OFF)
option(USE_PYTORCH_METAL_EXPORT "Export Metal models on MacOSX desktop" OFF)
@@ -481,15 +481,15 @@ option(USE_SYSTEM_CPUINFO "Use system-provided cpuinfo
@@ -496,15 +496,15 @@ option(USE_SYSTEM_CPUINFO "Use system-provided cpuinfo
# USE_SYSTEM_LIBS being "OFF".
option(USE_SYSTEM_LIBS "Use all available system-provided libraries." OFF)
option(USE_SYSTEM_CPUINFO "Use system-provided cpuinfo." OFF)
@@ -1,6 +1,6 @@
--- cmake/Dependencies.cmake.orig 2026-03-23 18:40:42 UTC
--- cmake/Dependencies.cmake.orig 2026-05-13 17:40:38 UTC
+++ cmake/Dependencies.cmake
@@ -348,7 +348,7 @@ if(USE_NNPACK OR USE_PYTORCH_QNNPACK OR USE_XNNPACK)
@@ -354,7 +354,7 @@ if(USE_NNPACK OR USE_PYTORCH_QNNPACK OR USE_XNNPACK)
set(DISABLE_NNPACK_AND_FAMILY ON)
endif()
else()
+4 -4
View File
@@ -1,6 +1,6 @@
--- setup.py.orig 2026-03-23 18:40:42 UTC
--- setup.py.orig 2026-05-13 17:40:38 UTC
+++ setup.py
@@ -286,7 +286,7 @@ from typing import Any, ClassVar, IO
@@ -285,7 +285,7 @@ from typing import Any, ClassVar, IO
from pathlib import Path
from typing import Any, ClassVar, IO
@@ -9,7 +9,7 @@
import setuptools.command.build_ext
import setuptools.command.sdist
import setuptools.errors
@@ -1435,30 +1435,37 @@ class concat_license_files:
@@ -1425,30 +1425,37 @@ class concat_license_files:
self.f1.write_text(self.bsd_text, encoding="utf-8")
@@ -68,7 +68,7 @@
class clean(Command):
@@ -1647,11 +1654,12 @@ def configure_extension_build() -> tuple[
@@ -1623,11 +1630,12 @@ def configure_extension_build() -> tuple[
ext_modules.append(C)
cmdclass = {
@@ -1,4 +1,4 @@
--- test/dynamo/test_aot_autograd.py.orig 2026-04-19 12:47:58 UTC
--- test/dynamo/test_aot_autograd.py.orig 2026-05-13 17:40:38 UTC
+++ test/dynamo/test_aot_autograd.py
@@ -1,6 +1,7 @@ import re
# Owner(s): ["module: dynamo"]
@@ -8,7 +8,7 @@
import unittest
from textwrap import dedent
from unittest.mock import patch
@@ -1009,6 +1010,7 @@ SeqNr|OrigAten|SrcFn|FwdSrcFn
@@ -1006,6 +1007,7 @@ SeqNr|OrigAten|SrcFn|FwdSrcFn
# set donated_buffer=False due to create_graph=True
@torch._functorch.config.patch("donated_buffer", False)
@@ -1,6 +1,6 @@
--- test/dynamo/test_ctx_manager.py.orig 2026-04-19 12:47:58 UTC
--- test/dynamo/test_ctx_manager.py.orig 2026-05-13 17:40:38 UTC
+++ test/dynamo/test_ctx_manager.py
@@ -167,6 +167,7 @@ class CtxManagerTests(torch._dynamo.test_case.TestCase
@@ -175,6 +175,7 @@ class CtxManagerTests(torch._dynamo.test_case.TestCase
opt_fn(a)
self.assertEqual(cnts.frame_count, 2)
@@ -8,7 +8,7 @@
def test_torch_profiler(self):
# wrap torch.profiler.* as NullContextVariable and do nothing
def fn(x):
@@ -187,6 +188,7 @@ class CtxManagerTests(torch._dynamo.test_case.TestCase
@@ -195,6 +196,7 @@ class CtxManagerTests(torch._dynamo.test_case.TestCase
self.assertTrue(same(ref, res))
self.assertEqual(cnts.frame_count, 2)
@@ -16,15 +16,15 @@
def test_autograd_profiler(self):
# wrap torch.autograd.profiler.* as NullContextVariable and do nothing
def fn(x):
@@ -583,6 +585,7 @@ class CtxManagerTests(torch._dynamo.test_case.TestCase
res = opt_fn(x)
self.assertEqual(ref, res)
@@ -602,6 +604,7 @@ class CtxManagerTests(torch._dynamo.test_case.TestCase
self.assertRaises(torch._dynamo.exc.Unsupported, fn, args, kwargs)
self.assertEqual(torch.cuda.current_device(), initial_dev)
+ @unittest.skipIf(sys.platform.startswith("freebsd"), "Kineto causes SIGABRT on FreeBSD")
def test_autograd_profiler_enabled(self):
def fn(x):
if torch.autograd._profiler_enabled():
@@ -1830,6 +1833,7 @@ class GraphModule(torch.nn.Module):
@@ -2245,6 +2248,7 @@ class GraphModule(torch.nn.Module):
opt_f = torch.compile(f, backend="eager")
opt_f(torch.randn(2, 2))
@@ -1,14 +1,14 @@
--- test/dynamo/test_guard_serialization.py.orig 2026-04-19 12:47:58 UTC
--- test/dynamo/test_guard_serialization.py.orig 2026-05-13 17:40:38 UTC
+++ test/dynamo/test_guard_serialization.py
@@ -1506,6 +1506,7 @@ class TestGuardSerialization(TestGuardSerializationBas
True,
@@ -1521,6 +1521,7 @@ class TestGuardSerialization(TestGuardSerializationBas
)
@torch._dynamo.config.patch(nested_graph_breaks=False)
+ @unittest.skipIf(sys.platform.startswith("freebsd"), "Gloo does not support FreeBSD")
def test_ddp_module(self):
import torch.distributed as dist
@@ -1558,6 +1559,7 @@ class TestGuardSerialization(TestGuardSerializationBas
@@ -1573,6 +1574,7 @@ class TestGuardSerialization(TestGuardSerializationBas
True,
)
@@ -16,9 +16,9 @@
def test_unserializable_sharded_tensor(self):
import torch.distributed as dist
@@ -1675,6 +1677,7 @@ class TestGuardSerialization(TestGuardSerializationBas
ref, loaded, {"inputs": Inputs(x, torch.cuda.Stream())}, True
@@ -1688,6 +1690,7 @@ class TestGuardSerialization(TestGuardSerializationBas
)
self._test_check_fn(ref, loaded, {"inputs": Inputs(x, torch.Stream())}, True)
+ @unittest.skipIf(sys.platform.startswith("freebsd"), "Gloo does not support FreeBSD")
def test_unused_process_group(self):
@@ -1,8 +1,8 @@
--- test/dynamo/test_repros.py.orig 2026-04-19 12:47:58 UTC
--- test/dynamo/test_repros.py.orig 2026-05-13 17:40:38 UTC
+++ test/dynamo/test_repros.py
@@ -6105,6 +6105,7 @@ def forward(self, s77 : torch.SymInt, s27 : torch.SymI
self.assertEqual(result, result_test)
self.assertEqual(x, x_test)
@@ -6252,6 +6252,7 @@ def forward(self, s77 : torch.SymInt, s27 : torch.SymI
graph_code = backend.graphs[0].print_readable(print_output=False)
self.assertIn("torch._C._nn.linear", graph_code)
+ @unittest.skipIf(sys.platform.startswith("freebsd"), "Kineto causes SIGABRT on FreeBSD")
def test_aot_autograd_runtime_wrapper_prologue_profiled(self):
@@ -1,6 +1,6 @@
--- test/run_test.py.orig 2026-03-23 18:40:42 UTC
--- test/run_test.py.orig 2026-05-13 17:40:38 UTC
+++ test/run_test.py
@@ -1142,6 +1142,12 @@ def run_doctests(test_module, test_directory, options)
@@ -1155,6 +1155,12 @@ def run_doctests(test_module, test_directory, options)
else:
enabled["onnx"] = True
@@ -13,7 +13,7 @@
# Set doctest environment variables
if enabled["cuda"]:
os.environ["TORCH_DOCTEST_CUDA"] = "1"
@@ -1812,6 +1818,35 @@ def get_selected_tests(options) -> list[str]:
@@ -1869,6 +1875,35 @@ def get_selected_tests(options) -> list[str]:
"Skip distributed tests on s390x",
)
@@ -49,7 +49,7 @@
# skip all distributed tests if distributed package is not available.
if not dist.is_available():
selected_tests = exclude_tests(
@@ -2086,7 +2121,7 @@ def check_pip_packages() -> None:
@@ -2148,7 +2183,7 @@ def check_pip_packages() -> None:
def check_pip_packages() -> None:
packages = [
"pytest-rerunfailures",
+5 -5
View File
@@ -1,6 +1,6 @@
--- test/test_fx.py.orig 2026-04-18 17:21:07 UTC
--- test/test_fx.py.orig 2026-05-13 17:40:38 UTC
+++ test/test_fx.py
@@ -248,9 +248,12 @@ class TestFX(JitTestCase):
@@ -252,9 +252,12 @@ class TestFX(JitTestCase):
)
torch.fx.proxy.TracerBase.check_mutable_operations = True
@@ -14,7 +14,7 @@
def tearDown(self):
super().tearDown()
@@ -869,7 +872,7 @@ class TestFX(JitTestCase):
@@ -873,7 +876,7 @@ class TestFX(JitTestCase):
self.checkGraphModule(m, (a, b))
def test_native_callable(self):
@@ -23,7 +23,7 @@
raise unittest.SkipTest("non-portable load_library call used in test")
# This test exercises the case where we use FX to translate from Python
# code to some native callable object
@@ -3062,7 +3065,7 @@ class TestFX(JitTestCase):
@@ -3067,7 +3070,7 @@ class TestFX(JitTestCase):
node.__update_args_kwargs((), {})
def test_torchbind_class_attribute_in_fx(self):
@@ -32,7 +32,7 @@
self.skipTest(
"torch.classes._TorchScriptTesting._StackString is registered, skipping"
)
@@ -3079,7 +3082,7 @@ class TestFX(JitTestCase):
@@ -3084,7 +3087,7 @@ class TestFX(JitTestCase):
self.checkGraphModule(m, ())
def test_torchbind_class_attribute_in_fx_tensor_arg(self):
@@ -1,6 +1,6 @@
--- test/test_jit.py.orig 2026-04-18 22:16:10 UTC
--- test/test_jit.py.orig 2026-05-13 17:40:38 UTC
+++ test/test_jit.py
@@ -375,6 +375,10 @@ class TestJitProfiler(JitTestCase):
@@ -377,6 +377,10 @@ class TestJitProfiler(JitTestCase):
self.graph_executor_optimize_opt
)
@@ -11,7 +11,7 @@
def test_profiler(self):
torch._C._set_graph_executor_optimize(False)
@@ -1832,6 +1836,10 @@ graph(%Ra, %Rb):
@@ -1838,6 +1842,10 @@ graph(%Ra, %Rb):
@slowTest
@unittest.skipIf(GRAPH_EXECUTOR != ProfilingMode.LEGACY, 'Testing differentiable graph')
@@ -22,7 +22,7 @@
def test_dropout_module_requires_grad(self):
with enable_profiling_mode_for_profiling_tests():
class MyModule(torch.nn.Module):
@@ -1875,6 +1883,10 @@ graph(%Ra, %Rb):
@@ -1881,6 +1889,10 @@ graph(%Ra, %Rb):
@unittest.skipIf(GRAPH_EXECUTOR == ProfilingMode.SIMPLE, 'Testing differentiable graph')
@skipIfTorchDynamo("Torchdynamo cannot correctly handle profiler.profile calls")
@@ -1,6 +1,6 @@
--- test/test_torch.py.orig 2026-04-19 01:42:54 UTC
--- test/test_torch.py.orig 2026-05-13 17:40:38 UTC
+++ test/test_torch.py
@@ -9464,7 +9464,8 @@ tensor([[[1.+1.j, 1.+1.j, 1.+1.j, ..., 1.+1.j, 1.+1.j
@@ -9538,7 +9538,8 @@ tensor([[[1.+1.j, 1.+1.j, 1.+1.j, ..., 1.+1.j, 1.+1.j
torch.backends.quantized.engine = qe
if torch.backends.quantized.engine != qe:
raise AssertionError(f"qengine not set successfully: expected {qe}, got {torch.backends.quantized.engine}")
@@ -0,0 +1,35 @@
-- Guard hasOriginalSignalHandler() and handle_signal() with #ifdef __linux__ so they
-- are not defined on non-Linux platforms where they are never called; the previous code
-- defined them unconditionally, causing -Wunused-function errors on FreeBSD with Clang.
--- third_party/kineto/libkineto/src/ConfigLoader.cpp.orig 2026-05-16 03:52:38 UTC
+++ third_party/kineto/libkineto/src/ConfigLoader.cpp
@@ -46,17 +46,13 @@ static struct sigaction originalUsr2Handler = {};
// Look for an on-demand config file.
// If none is found, default to base config.
// Try to not affect existing handlers
-static bool hasOriginalSignalHandler() {
#ifdef __linux__
+static bool hasOriginalSignalHandler() {
return originalUsr2Handler.sa_handler != nullptr ||
originalUsr2Handler.sa_sigaction != nullptr;
-#else
- return false;
-#endif
}
-static void handle_signal([[maybe_unused]] int signal) {
-#ifdef __linux__
+static void handle_signal(int signal) {
if (signal == SIGUSR2) {
ConfigLoader::instance().handleOnDemandSignal();
if (hasOriginalSignalHandler()) {
@@ -67,8 +63,8 @@ static void handle_signal([[maybe_unused]] int signal)
sigaction(SIGUSR2, &act, &originalUsr2Handler);
}
}
-#endif
}
+#endif
static void setupSignalHandler([[maybe_unused]] bool enableSigUsr2) {
#ifdef __linux__
@@ -0,0 +1,13 @@
-- Mark errnum_ with [[maybe_unused]] because it is only read inside #ifdef __linux__
-- code; Clang emits -Wunused-private-field on FreeBSD without this annotation.
--- third_party/kineto/libkineto/src/Logger.h.orig 2026-05-16 03:52:38 UTC
+++ third_party/kineto/libkineto/src/Logger.h
@@ -134,7 +134,7 @@ class Logger {
private:
std::stringstream buf_;
std::ostream& out_;
- int errnum_;
+ [[maybe_unused]] int errnum_;
int messageSeverity_;
static std::atomic_int severityLevel_;
static std::atomic_int verboseLogLevel_;
@@ -0,0 +1,18 @@
-- Guard basename() with #ifdef __linux__ since it is only called from Linux-specific
-- code; without the guard Clang emits -Wunneeded-internal-declaration treated as error.
--- third_party/kineto/libkineto/src/ThreadUtil.cpp.orig 2026-05-16 03:52:38 UTC
+++ third_party/kineto/libkineto/src/ThreadUtil.cpp
@@ -130,11 +130,13 @@ constexpr size_t kMaxThreadNameLength = 16;
namespace {
constexpr size_t kMaxThreadNameLength = 16;
+#ifdef __linux__
constexpr const char* basename(const char* s, int off = 0) {
return !s[off] ? s
: s[off] == '/' ? basename(&s[off + 1])
: basename(s, off + 1);
}
+#endif
#if defined(_WIN32)
void* getKernel32Func(const char* procName) {
return reinterpret_cast<void*>(
@@ -1,6 +1,6 @@
--- torch/_inductor/cpp_builder.py.orig 2026-04-18 06:34:35 UTC
--- torch/_inductor/cpp_builder.py.orig 2026-05-13 17:40:44 UTC
+++ torch/_inductor/cpp_builder.py
@@ -1185,6 +1185,10 @@ def _get_torch_related_args(
@@ -1253,6 +1253,10 @@ def _get_torch_related_args(
if _IS_WINDOWS:
libraries.append("sleef")
@@ -1,6 +1,6 @@
--- torch/_inductor/ir.py.orig 2026-04-19 02:49:11 UTC
--- torch/_inductor/ir.py.orig 2026-05-13 17:40:44 UTC
+++ torch/_inductor/ir.py
@@ -133,7 +133,7 @@ try:
@@ -137,7 +137,7 @@ try:
triton_version = triton.__version__
has_triton = True
@@ -1,11 +0,0 @@
--- torch/csrc/distributed/c10d/init.cpp.orig 2026-04-17 22:57:32 UTC
+++ torch/csrc/distributed/c10d/init.cpp
@@ -887,7 +887,7 @@ This class does not support ``__members__`` property.)
return ::c10d::ReduceOp(self);
})
.def(py::pickle(
- [](const ::c10d::ReduceOp& r) {
+ [](const ::c10d::ReduceOp& r) -> py::tuple {
// __getstate__
if (r.op_ != ::c10d::ReduceOp::RedOpType::PREMUL_SUM) {
return py::make_tuple(r.op_, py::none());
@@ -1,6 +1,6 @@
--- torch/csrc/jit/ir/ir.h.orig 2026-04-18 03:53:37 UTC
--- torch/csrc/jit/ir/ir.h.orig 2026-05-13 17:40:44 UTC
+++ torch/csrc/jit/ir/ir.h
@@ -943,11 +943,22 @@ struct TORCH_API Node {
@@ -935,11 +935,22 @@ struct TORCH_API Node {
typename T::ValueType& getAttr(Symbol name) const {
AT_ASSERT(name.is_attr());
auto it = findAttr(name, true);
@@ -1,20 +0,0 @@
--- torch/csrc/jit/python/init.cpp.orig 2026-04-17 22:48:51 UTC
+++ torch/csrc/jit/python/init.cpp
@@ -1796,7 +1796,7 @@ void initJITBindings(PyObject* module) {
m.def(
"_jit_get_operation",
- [](const std::string& op_name) {
+ [](const std::string& op_name) -> py::tuple {
try {
auto symbol = Symbol::fromQualString(op_name);
const auto sortedOps = getAllSortedOperatorsFor(symbol);
@@ -1843,7 +1843,7 @@ void initJITBindings(PyObject* module) {
"_maybe_call_torch_function_for_op_packet",
[](py::handle op_overload_packet,
const py::args& args,
- const py::kwargs& kwargs) {
+ const py::kwargs& kwargs) -> py::tuple {
py::list ns_method =
op_overload_packet.attr("_qualified_op_name").attr("split")("::");
auto res = _maybe_handle_torch_function(
@@ -1,17 +0,0 @@
--- torch/csrc/utils/python_arg_parser.cpp.orig 2026-04-17 22:45:38 UTC
+++ torch/csrc/utils/python_arg_parser.cpp
@@ -755,9 +755,11 @@ auto handle_torch_function_indexing(
}
py::object func =
PyObject_FastGetAttrString(THPVariableClass, (char*)func_name);
- py::object args = (val == nullptr)
- ? py::make_tuple(py::handle(self), py::handle(index))
- : py::make_tuple(py::handle(self), py::handle(index), py::handle(val));
+ py::tuple args;
+ if (val == nullptr)
+ args = py::make_tuple(py::handle(self), py::handle(index));
+ else
+ args = py::make_tuple(py::handle(self), py::handle(index), py::handle(val));
return handle_torch_function_no_python_arg_parser(
overridable_args,
args.ptr(),
@@ -1,8 +1,8 @@
--- torch/distributed/elastic/multiprocessing/redirects.py.orig 2026-04-19 02:32:30 UTC
--- torch/distributed/elastic/multiprocessing/redirects.py.orig 2026-05-13 17:40:44 UTC
+++ torch/distributed/elastic/multiprocessing/redirects.py
@@ -31,7 +31,9 @@ def get_libc():
@@ -47,7 +47,9 @@ def get_libc():
"msvcr110, msvcr100). Redirects cannot function without a CRT."
)
return None
else:
- return ctypes.CDLL("libc.so.6")
+ import ctypes.util
@@ -1,6 +1,6 @@
--- torch/testing/_internal/torchbind_impls.py.orig 2026-04-18 20:48:50 UTC
--- torch/testing/_internal/torchbind_impls.py.orig 2026-05-13 17:40:45 UTC
+++ torch/testing/_internal/torchbind_impls.py
@@ -181,6 +181,8 @@ def load_torchbind_test_lib():
@@ -180,6 +180,8 @@ def load_torchbind_test_lib():
lib_file_path = find_library_location("torchbind_test.dll")
else:
lib_file_path = find_library_location("libtorchbind_test.so")
@@ -1,6 +1,6 @@
--- torch/utils/_triton.py.orig 2026-04-19 02:46:16 UTC
--- torch/utils/_triton.py.orig 2026-05-13 17:40:45 UTC
+++ torch/utils/_triton.py
@@ -7,9 +7,10 @@ def has_triton_package() -> bool:
@@ -8,9 +8,10 @@ def has_triton_package() -> bool:
def has_triton_package() -> bool:
try:
import triton # noqa: F401