Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,11 @@ default_language_version:
python: python3

repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.15.5
hooks:
- id: ruff-check
args: [--fix]
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
hooks:
Expand Down
1 change: 0 additions & 1 deletion dace/autodiff/implementations/onnx_ops.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@

# ONNX-specific imports
import dace.libraries.onnx as donnx
from dace.libraries.onnx.converters import clean_onnx_name
from dace.libraries.onnx.op_implementations.linalg_ops import PureEinsum
from dace.transformation.onnx.replacement import onnx_constant_or_none

Expand Down
7 changes: 3 additions & 4 deletions dace/autodiff/library/library.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,11 @@

Includes the BackwardPass library node, and the replacements for the python frontend
"""
from typing import Dict, Set, Optional
import copy
from typing import Dict, Set

import dace
import dace.library
from dace import data, properties
from dace import properties
from dace.transformation import transformation as pm
from dace.sdfg import SDFG, SDFGState, graph, nodes

Expand All @@ -19,7 +18,7 @@
from dace.transformation.passes.analysis import AccessSets

# Import ParameterArray from the data package for backward compatibility
from dace.data.ml import ParameterArray
from dace.data.ml import ParameterArray # noqa: F401


@dace.library.expansion
Expand Down
2 changes: 1 addition & 1 deletion dace/cli/daceprof.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
import sys
import os
import shutil
from typing import Callable, List, Optional, Tuple, Union
from typing import List, Optional, Tuple, Union
import warnings

import dace
Expand Down
1 change: 0 additions & 1 deletion dace/cli/external_transformation_registry.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
from typing import Dict, Optional
from urllib.parse import urlparse
import dace
import shutil


class TransformationRepoManager:
Expand Down
2 changes: 0 additions & 2 deletions dace/cli/fcdc.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
# Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved.
""" Simple Fortran SDFG command-line compiler. """

import dace
import os
import sys
import argparse
import shutil
from dace.frontend.fortran import fortran_parser
Expand Down
1 change: 0 additions & 1 deletion dace/cli/sdfgcc.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

import dace
import os
import sys
import argparse
import shutil

Expand Down
2 changes: 0 additions & 2 deletions dace/codegen/compiled_sdfg.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,10 @@
import sys

import numpy as np
import sympy as sp

from dace import data as dt, dtypes, hooks, symbolic
from dace.codegen import exceptions as cgx
from dace.config import Config
from dace.frontend import operations


class ReloadableDLL(object):
Expand Down
2 changes: 1 addition & 1 deletion dace/codegen/compiler.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import shlex
import subprocess
import re
from typing import Any, Callable, Dict, List, Set, Tuple, TypeVar, Union
from typing import Callable, List, Set, Tuple, TypeVar, Union
import warnings

import dace
Expand Down
1 change: 0 additions & 1 deletion dace/codegen/instrumentation/gpu_tx_markers.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
from dace.memlet import Memlet
from dace.sdfg import nodes, SDFG
from dace.sdfg.graph import MultiConnectorEdge
from dace.sdfg.nodes import NestedSDFG
from dace.sdfg.scope import is_devicelevel_gpu_kernel
from dace.sdfg.sdfg import SDFG
from dace.sdfg.state import ControlFlowRegion, SDFGState
Expand Down
2 changes: 1 addition & 1 deletion dace/codegen/prettycode.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from io import StringIO
from dace.config import Config
from dace.sdfg.graph import NodeNotFoundError
from dace.sdfg.state import ControlFlowRegion, SDFGState
from dace.sdfg.state import ControlFlowRegion


class CodeIOStream(StringIO):
Expand Down
2 changes: 1 addition & 1 deletion dace/codegen/target.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from typing import List, TYPE_CHECKING
import warnings

from dace import memlet as mm, data as dt, dtypes, subsets
from dace import memlet as mm, data as dt, dtypes
from dace.sdfg import nodes, SDFG, SDFGState, ScopeSubgraphView, graph as gr
from dace.registry import make_registry
from dace.codegen.prettycode import CodeIOStream
Expand Down
6 changes: 2 additions & 4 deletions dace/codegen/targets/cpp.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,11 @@
import itertools
import math
import numbers
import sys
import warnings

import sympy as sp
from io import StringIO
from typing import IO, TYPE_CHECKING, List, Optional, Tuple, Union
from typing import IO, TYPE_CHECKING, Optional, Tuple, Union

import dace
from dace import data, subsets, symbolic, dtypes, memlet as mmlt, nodes
Expand All @@ -23,10 +22,9 @@
from dace.codegen.dispatcher import DefinedType
from dace.codegen.prettycode import CodeIOStream
from dace.config import Config
from dace.frontend import operations
from dace.frontend.python import astutils
from dace.frontend.python.astutils import ExtNodeTransformer, rname, unparse
from dace.sdfg import nodes, graph as gr, utils, propagation
from dace.sdfg import nodes, graph as gr, propagation
from dace.properties import LambdaProperty
from dace.sdfg import SDFG, is_devicelevel_gpu, SDFGState
from dace.sdfg.state import ControlFlowRegion, StateSubgraphView
Expand Down
1 change: 0 additions & 1 deletion dace/codegen/targets/mpi.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved.
from typing import TYPE_CHECKING
import dace
from dace import registry, symbolic, dtypes
from dace.codegen.prettycode import CodeIOStream
from dace.codegen.codeobject import CodeObject
Expand Down
8 changes: 3 additions & 5 deletions dace/codegen/targets/sve/codegen.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,18 @@
from dace.codegen.prettycode import CodeIOStream
from dace.codegen.targets.cpp import sym2cpp
from dace import dtypes, memlet as mm
from dace.sdfg import graph, state, find_input_arraynode, find_output_arraynode
from dace.sdfg import graph, state
from dace.sdfg.scope import is_in_scope
import itertools
from dace.codegen.targets.sve import util as util
from typing import List, Optional
from typing import Optional
import copy
from io import StringIO
import dace.codegen.targets.sve.unparse
from dace import registry, symbolic, dtypes
from dace import dtypes
from dace.codegen.targets import cpp as cpp
from dace.frontend.operations import detect_reduction_type
import dace.symbolic
from dace.codegen.targets.cpp import sym2cpp
from dace.sdfg import utils as sdutil
from dace.codegen.dispatcher import DefinedType
import copy
import numpy as np
Expand Down
5 changes: 0 additions & 5 deletions dace/codegen/targets/sve/infer.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,8 @@
"""
Inference: This module patches certain dispatchers in the `type_inference.py`, to better suit SVE.
"""
import dace.codegen.targets.sve.util
import numpy as np
import ast
from dace import dtypes
from dace.sdfg import type_inference
from dace.symbolic import SymExpr
import sympy
import sys


Expand Down
1 change: 0 additions & 1 deletion dace/codegen/targets/sve/type_compatibility.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
- Pointers are mixed with vectors or scalars
"""

import dace
import dace.dtypes as dtypes
from dace.codegen.targets.sve import util as util
import collections
Expand Down
7 changes: 3 additions & 4 deletions dace/codegen/targets/sve/unparse.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,12 @@
AST to SVE: This module is responsible for converting an AST into SVE code.
"""

from dace.frontend.python.wrappers import stream
import dace
import ast
from dace.codegen import cppunparse
from dace.sdfg import nodes, SDFG, SDFGState, ScopeSubgraphView, graph as gr
from typing import IO, Tuple, Union
from dace import registry, symbolic, dtypes
from dace.sdfg import nodes, SDFG
from typing import IO
from dace import dtypes
from dace.codegen.targets.sve import preprocess as preprocess
from dace.codegen.targets.sve import util as util
import dace.frontend.python.astutils as astutils
Expand Down
2 changes: 0 additions & 2 deletions dace/dtypes.py
Original file line number Diff line number Diff line change
Expand Up @@ -721,8 +721,6 @@ def from_json(json_obj, context=None):
if json_obj['type'] != "struct":
raise TypeError("Invalid type for struct")

import dace.serialize # Avoid import loop

ret = struct(json_obj['name'])
ret._data = {k: json_to_typeclass(v, context) for k, v in json_obj['data']}
ret._length = {k: v for k, v in json_obj['length']}
Expand Down
5 changes: 1 addition & 4 deletions dace/frontend/common/einsum.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved.
""" Classes to handle Einstein-notation sums (einsum) as a library node. """
from functools import reduce
from itertools import chain
from string import ascii_letters
from typing import Dict, List, Optional
Expand All @@ -11,10 +10,8 @@
from dace import dtypes, subsets, symbolic
from dace.utils import prod
from dace.sdfg.nodes import AccessNode
from dace.sdfg import SDFG, SDFGState, InterstateEdge
from dace.sdfg import SDFG, SDFGState
from dace.memlet import Memlet
from dace.frontend.common import op_repository as oprepo
from dace.frontend.python.common import StringLiteral


def _is_sequential(index_list):
Expand Down
2 changes: 1 addition & 1 deletion dace/frontend/common/op_repository.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved.
import itertools
from typing import Any, Callable, Dict, List, Optional, Tuple, Type, Union
from dace.dtypes import paramdec, deduplicate
from dace.dtypes import paramdec

MethodType = Callable[..., Tuple[str]]

Expand Down
5 changes: 2 additions & 3 deletions dace/frontend/fortran/ast_components.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
from fparser.two import Fortran2003 as f03
from fparser.two import symbol_table

import copy
from dace.frontend.fortran import ast_internal_classes
from dace.frontend.fortran.ast_internal_classes import FNode, Name_Node
from typing import Any, List, Tuple, Type, TypeVar, Union, overload, TYPE_CHECKING
from dace.frontend.fortran.ast_internal_classes import Name_Node
from typing import Any, List, Type, TypeVar, Union, overload, TYPE_CHECKING

if TYPE_CHECKING:
from dace.frontend.fortran.intrinsics import FortranIntrinsics
Expand Down
2 changes: 1 addition & 1 deletion dace/frontend/fortran/ast_internal_classes.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved.
from typing import Any, List, Optional, Tuple, Type, TypeVar, Union, overload
from typing import List, Optional, Union

# The node class is the base class for all nodes in the AST. It provides attributes including the line number and fields.
# Attributes are not used when walking the tree, but are useful for debugging and for code generation.
Expand Down
4 changes: 2 additions & 2 deletions dace/frontend/fortran/ast_transforms.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Copyright 2023 ETH Zurich and the DaCe authors. All rights reserved.

from dace.frontend.fortran import ast_components, ast_internal_classes
from typing import Dict, List, Optional, Tuple, Set
from dace.frontend.fortran import ast_internal_classes
from typing import Dict, List, Optional, Tuple
import copy


Expand Down
2 changes: 1 addition & 1 deletion dace/frontend/ml/onnx/importer.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
import copy
import tempfile
from itertools import chain, repeat
from typing import Any, Callable, Dict, List, Optional, OrderedDict, Tuple, Union
from typing import Any, Dict, List, Optional, OrderedDict, Tuple, Union

import numpy as np

Expand Down
1 change: 0 additions & 1 deletion dace/frontend/ml/tensorflow/tensorflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -360,7 +360,6 @@ def compile(self, nodes, gpu, name=None, patterns=[], validate=False, permissive
:return: A function that receives a feed_dict, evaluates the nodes,
and returns a tuple of values in the same order as nodes.
"""
from dace.config import Config

# Create a unique name for this session
if name is None:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
from dace.sdfg import nodes
from dace.sdfg import utils as sdutil
from dace.transformation import transformation as pm
from dace.config import Config


class TensorflowRedundantArray(pm.SingleStateTransformation):
Expand Down
4 changes: 1 addition & 3 deletions dace/frontend/ml/torch/module.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
# Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved.
""" DaCe Python parsing functionality and entry point to Python frontend. """
from dataclasses import dataclass
import collections
import itertools
import tempfile
import copy
import os
from typing import Any, Callable, Dict, OrderedDict, List, Optional, Set, Sequence, Tuple, Union
from typing import Any, Callable, Dict, OrderedDict, List, Optional, Set, Tuple, Union

# Try importing ML dependencies
try:
Expand All @@ -29,7 +28,6 @@
onnx = None
ONNX_AVAILABLE = False

import dace
from dace import config, data
from dace.codegen import compiled_sdfg
from dace.sdfg import SDFG, nodes
Expand Down
4 changes: 2 additions & 2 deletions dace/frontend/octave/parse.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
import copy
import dace

from .ast_node import AST_Node, AST_Statements
from .ast_node import AST_Statements
from .ast_values import AST_Ident, AST_Constant
from .ast_expression import AST_BinExpression, AST_UnaryExpression
from .ast_matrix import AST_Matrix_Row, AST_Matrix, AST_Transpose
from .ast_assign import AST_Assign
from .ast_function import AST_Argument, AST_BuiltInFunCall, AST_FunCall, AST_Function, AST_EndFunc
from .ast_function import AST_FunCall, AST_Function, AST_EndFunc
from .ast_range import AST_RangeExpression
from .ast_loop import AST_ForLoop
from .ast_nullstmt import AST_NullStmt, AST_Comment, AST_EndStmt
Expand Down
1 change: 0 additions & 1 deletion dace/frontend/operations.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved.
from functools import partial
from itertools import chain, repeat

from contextlib import contextmanager
Expand Down
2 changes: 1 addition & 1 deletion dace/frontend/python/cached_program.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

from collections import OrderedDict
from dataclasses import dataclass
from typing import Any, Callable, Dict, Optional, Set, Tuple
from typing import Any, Callable, Dict, Optional, Set

import dace
from dace import config
Expand Down
5 changes: 2 additions & 3 deletions dace/frontend/python/interface.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@
""" Python interface for DaCe functions. """

import inspect
from functools import wraps
from typing import (Any, Callable, Deque, Dict, Generator, Optional, Tuple, TypeVar, Union, overload, TYPE_CHECKING,
Generic, Iterable, Iterator)
from typing import (Any, Callable, Deque, Dict, Generator, Optional, TypeVar, Union, overload, Generic, Iterable,
Iterator)
from typing_extensions import Self

from dace import dtypes
Expand Down
3 changes: 0 additions & 3 deletions dace/frontend/python/parser.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
# Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved.
""" DaCe Python parsing functionality and entry point to Python frontend. """
import ast
from dataclasses import dataclass
import inspect
import itertools
import copy
import os
import sympy
Expand Down Expand Up @@ -171,7 +169,6 @@ def __init__(self,
method: bool = False,
use_explicit_cf: bool = True,
ignore_type_hints: bool = False):
from dace.codegen import compiled_sdfg # Avoid import loops

self.f = f
self.dec_args = args
Expand Down
Loading
Loading