mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 12:54:11 +08:00
Update ruff to 0.13.1 (#163744)
Update ruff to 0.13.1 so that we can remove `UP038` from `pyproject.toml` because it has been removed from supported rules of ruff. There are some fixes, the most notable one is [(PYI059)](https://docs.astral.sh/ruff/rules/generic-not-last-base-class/#generic-not-last-base-class-pyi059) ``` Checks for classes inheriting from typing.Generic[] where Generic[] is not the last base class in the bases tuple. ``` A BC-breaking change is introduced to change the typing of `OrderedSet .storage` Pull Request resolved: https://github.com/pytorch/pytorch/pull/163744 Approved by: https://github.com/Skylion007, https://github.com/jingsh
This commit is contained in:
committed by
PyTorch MergeBot
parent
6a2bd1f4ee
commit
7441a1b9b1
@ -1453,7 +1453,7 @@ init_command = [
|
||||
'--dry-run={{DRYRUN}}',
|
||||
'usort==1.0.8.post1',
|
||||
'isort==6.0.1',
|
||||
'ruff==0.12.9', # sync with RUFF
|
||||
'ruff==0.13.1', # sync with RUFF
|
||||
]
|
||||
is_formatter = true
|
||||
|
||||
@ -1587,7 +1587,7 @@ init_command = [
|
||||
'python3',
|
||||
'tools/linter/adapters/pip_init.py',
|
||||
'--dry-run={{DRYRUN}}',
|
||||
'ruff==0.12.9', # sync with PYFMT
|
||||
'ruff==0.13.1', # sync with PYFMT
|
||||
]
|
||||
is_formatter = true
|
||||
|
||||
|
@ -38,7 +38,7 @@ def unroll(num_unrolls, IndexType, InType, OutType):
|
||||
code = []
|
||||
|
||||
if num_unrolls == 1:
|
||||
code.append(f" // tail loop")
|
||||
code.append(" // tail loop")
|
||||
code.append(" if (j < end_offset) {")
|
||||
else:
|
||||
code.append(f" // unrolling {num_unrolls} times")
|
||||
|
@ -182,7 +182,6 @@ ignore = [
|
||||
"SIM117",
|
||||
"SIM118",
|
||||
"UP007", # keep-runtime-typing
|
||||
"UP038", # Was removed from newer versions, results in slower code
|
||||
"UP045", # keep-runtime-typing
|
||||
"TC006",
|
||||
# TODO: Remove Python-3.10 specific suppressions
|
||||
|
@ -507,7 +507,7 @@ def autograd_cache_key(
|
||||
TOut = TypeVar("TOut", bound=OutputCode)
|
||||
|
||||
|
||||
class InductorOutput(Generic[TOut], ABC):
|
||||
class InductorOutput(ABC, Generic[TOut]):
|
||||
"""
|
||||
Class representing a single inductor output
|
||||
"""
|
||||
|
@ -17,7 +17,7 @@ from torch._inductor.autoheuristic.learnedheuristic_interface import (
|
||||
class MMRankingA100(LearnedHeuristicDecision):
|
||||
|
||||
def __init__(self) -> None:
|
||||
self.choices: List[Choice] = []
|
||||
self.choices: list[Choice] = []
|
||||
self.fill_choices()
|
||||
|
||||
def check_precondition(self, metadata: AHMetadata, context: AHContext,) -> bool:
|
||||
@ -238,7 +238,7 @@ class MMRankingA100(LearnedHeuristicDecision):
|
||||
def get_name(self) -> str:
|
||||
return 'mm'
|
||||
|
||||
def get_best_choices(self, context: AHContext) -> Optional[List[tuple[float, int]]]:
|
||||
def get_best_choices(self, context: AHContext) -> Optional[list[tuple[float, int]]]:
|
||||
if context.get_value('arith_intensity') <= 52.6245059967041:
|
||||
if context.get_value('n') <= 34.0:
|
||||
if context.get_value('n') <= 18.0:
|
||||
|
@ -17,7 +17,7 @@ from torch._inductor.autoheuristic.learnedheuristic_interface import (
|
||||
class MMRankingH100(LearnedHeuristicDecision):
|
||||
|
||||
def __init__(self) -> None:
|
||||
self.choices: List[Choice] = []
|
||||
self.choices: list[Choice] = []
|
||||
self.fill_choices()
|
||||
|
||||
def check_precondition(self, metadata: AHMetadata, context: AHContext,) -> bool:
|
||||
@ -242,7 +242,7 @@ class MMRankingH100(LearnedHeuristicDecision):
|
||||
def get_name(self) -> str:
|
||||
return 'mm'
|
||||
|
||||
def get_best_choices(self, context: AHContext) -> Optional[List[tuple[float, int]]]:
|
||||
def get_best_choices(self, context: AHContext) -> Optional[list[tuple[float, int]]]:
|
||||
if context.get_value('arith_intensity') <= 29.89772129058838:
|
||||
if context.get_value('n') <= 34.0:
|
||||
if context.get_value('n') <= 18.0:
|
||||
|
@ -17,7 +17,7 @@ from torch._inductor.autoheuristic.learnedheuristic_interface import (
|
||||
class MixedMMA100(LearnedHeuristicDecision):
|
||||
|
||||
def __init__(self) -> None:
|
||||
self.choices: List[Choice] = []
|
||||
self.choices: list[Choice] = []
|
||||
self.fill_choices()
|
||||
|
||||
def check_precondition(self, metadata: AHMetadata, context: AHContext,) -> bool:
|
||||
@ -62,7 +62,7 @@ class MixedMMA100(LearnedHeuristicDecision):
|
||||
def get_name(self) -> str:
|
||||
return 'mixed_mm'
|
||||
|
||||
def get_best_choices(self, context: AHContext) -> Optional[List[tuple[float, int]]]:
|
||||
def get_best_choices(self, context: AHContext) -> Optional[list[tuple[float, int]]]:
|
||||
if str(context.get_value('1LEQmLEQ16')) != 'True':
|
||||
if context.get_value('m') <= 32.5:
|
||||
if context.get_value('n') <= 6976.0:
|
||||
|
@ -17,7 +17,7 @@ from torch._inductor.autoheuristic.learnedheuristic_interface import (
|
||||
class MixedMMH100(LearnedHeuristicDecision):
|
||||
|
||||
def __init__(self) -> None:
|
||||
self.choices: List[Choice] = []
|
||||
self.choices: list[Choice] = []
|
||||
self.fill_choices()
|
||||
|
||||
def check_precondition(self, metadata: AHMetadata, context: AHContext,) -> bool:
|
||||
@ -61,7 +61,7 @@ class MixedMMH100(LearnedHeuristicDecision):
|
||||
def get_name(self) -> str:
|
||||
return 'mixed_mm'
|
||||
|
||||
def get_best_choices(self, context: AHContext) -> Optional[List[tuple[float, int]]]:
|
||||
def get_best_choices(self, context: AHContext) -> Optional[list[tuple[float, int]]]:
|
||||
if context.get_value('arith_intensity') <= 15.988086223602295:
|
||||
if context.get_value('n') <= 25280.0:
|
||||
if context.get_value('n') <= 1344.0:
|
||||
|
@ -2058,7 +2058,7 @@ _T1 = TypeVar("_T1")
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class StatelessSymbolicContext(Generic[_P1, _T1], SymbolicContext):
|
||||
class StatelessSymbolicContext(SymbolicContext, Generic[_P1, _T1]):
|
||||
"""
|
||||
Create symbols in ``create_symbolic_sizes_strides_storage_offset`` via
|
||||
a symbolic_context determination as given by ``DimDynamic`` and ``DimConstraint``.
|
||||
|
@ -11,7 +11,7 @@ from dataclasses import is_dataclass
|
||||
from enum import auto, Enum
|
||||
from pathlib import Path
|
||||
from pprint import pformat
|
||||
from typing import Any, Callable, Generic, Literal, NoReturn, TYPE_CHECKING, TypeVar
|
||||
from typing import Any, Callable, Generic, NoReturn, TYPE_CHECKING, TypeVar
|
||||
from typing_extensions import assert_never, deprecated, Self
|
||||
|
||||
from torchgen.code_template import CodeTemplate
|
||||
@ -482,7 +482,7 @@ class NamespaceHelper:
|
||||
|
||||
|
||||
class OrderedSet(Generic[T]):
|
||||
storage: dict[T, Literal[None]]
|
||||
storage: dict[T, None]
|
||||
|
||||
def __init__(self, iterable: Iterable[T] | None = None) -> None:
|
||||
if iterable is None:
|
||||
|
Reference in New Issue
Block a user