diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bfedf3a96d..06faf41167 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -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: diff --git a/dace/autodiff/implementations/onnx_ops.py b/dace/autodiff/implementations/onnx_ops.py index e04f86c728..740c4fda27 100644 --- a/dace/autodiff/implementations/onnx_ops.py +++ b/dace/autodiff/implementations/onnx_ops.py @@ -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 diff --git a/dace/autodiff/library/library.py b/dace/autodiff/library/library.py index b5e2a60e98..e7ed6aec85 100644 --- a/dace/autodiff/library/library.py +++ b/dace/autodiff/library/library.py @@ -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 @@ -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 diff --git a/dace/cli/daceprof.py b/dace/cli/daceprof.py index b201d40661..86ab6fee02 100644 --- a/dace/cli/daceprof.py +++ b/dace/cli/daceprof.py @@ -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 diff --git a/dace/cli/external_transformation_registry.py b/dace/cli/external_transformation_registry.py index 2d4a5145e3..bf1e2a2cd8 100755 --- a/dace/cli/external_transformation_registry.py +++ b/dace/cli/external_transformation_registry.py @@ -15,7 +15,6 @@ from typing import Dict, Optional from urllib.parse import urlparse import dace -import shutil class TransformationRepoManager: diff --git a/dace/cli/fcdc.py b/dace/cli/fcdc.py index 7b0fc5c02c..3a2f78531d 100644 --- a/dace/cli/fcdc.py +++ b/dace/cli/fcdc.py @@ -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 diff --git a/dace/cli/sdfgcc.py b/dace/cli/sdfgcc.py index 0d04950be7..eeff31cb9d 100644 --- a/dace/cli/sdfgcc.py +++ b/dace/cli/sdfgcc.py @@ -3,7 +3,6 @@ import dace import os -import sys import argparse import shutil diff --git a/dace/codegen/compiled_sdfg.py b/dace/codegen/compiled_sdfg.py index a0ecaf41c4..1d0e1318f6 100644 --- a/dace/codegen/compiled_sdfg.py +++ b/dace/codegen/compiled_sdfg.py @@ -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): diff --git a/dace/codegen/compiler.py b/dace/codegen/compiler.py index 62e44f12db..99056ef735 100644 --- a/dace/codegen/compiler.py +++ b/dace/codegen/compiler.py @@ -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 diff --git a/dace/codegen/instrumentation/gpu_tx_markers.py b/dace/codegen/instrumentation/gpu_tx_markers.py index 02c3454e89..7377fd042e 100644 --- a/dace/codegen/instrumentation/gpu_tx_markers.py +++ b/dace/codegen/instrumentation/gpu_tx_markers.py @@ -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 diff --git a/dace/codegen/prettycode.py b/dace/codegen/prettycode.py index 1eda86bb65..3894e9727e 100644 --- a/dace/codegen/prettycode.py +++ b/dace/codegen/prettycode.py @@ -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): diff --git a/dace/codegen/target.py b/dace/codegen/target.py index 57c60b5922..18397c08e8 100644 --- a/dace/codegen/target.py +++ b/dace/codegen/target.py @@ -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 diff --git a/dace/codegen/targets/cpp.py b/dace/codegen/targets/cpp.py index 4e2e78bd43..ed7a5047fd 100644 --- a/dace/codegen/targets/cpp.py +++ b/dace/codegen/targets/cpp.py @@ -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 @@ -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 diff --git a/dace/codegen/targets/mpi.py b/dace/codegen/targets/mpi.py index dfff046191..ebdf133711 100644 --- a/dace/codegen/targets/mpi.py +++ b/dace/codegen/targets/mpi.py @@ -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 diff --git a/dace/codegen/targets/sve/codegen.py b/dace/codegen/targets/sve/codegen.py index 993d56e0b7..02ffd943cd 100644 --- a/dace/codegen/targets/sve/codegen.py +++ b/dace/codegen/targets/sve/codegen.py @@ -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 diff --git a/dace/codegen/targets/sve/infer.py b/dace/codegen/targets/sve/infer.py index 97f8329c5f..3feb50c0ac 100644 --- a/dace/codegen/targets/sve/infer.py +++ b/dace/codegen/targets/sve/infer.py @@ -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 diff --git a/dace/codegen/targets/sve/type_compatibility.py b/dace/codegen/targets/sve/type_compatibility.py index ef0491361a..0209339315 100644 --- a/dace/codegen/targets/sve/type_compatibility.py +++ b/dace/codegen/targets/sve/type_compatibility.py @@ -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 diff --git a/dace/codegen/targets/sve/unparse.py b/dace/codegen/targets/sve/unparse.py index 06c56ff70d..d842dd5945 100644 --- a/dace/codegen/targets/sve/unparse.py +++ b/dace/codegen/targets/sve/unparse.py @@ -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 diff --git a/dace/dtypes.py b/dace/dtypes.py index 6bb575ac3f..6949405f77 100644 --- a/dace/dtypes.py +++ b/dace/dtypes.py @@ -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']} diff --git a/dace/frontend/common/einsum.py b/dace/frontend/common/einsum.py index d33b0150f3..4629e3c5b6 100644 --- a/dace/frontend/common/einsum.py +++ b/dace/frontend/common/einsum.py @@ -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 @@ -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): diff --git a/dace/frontend/common/op_repository.py b/dace/frontend/common/op_repository.py index a9102d122a..74924cba7b 100644 --- a/dace/frontend/common/op_repository.py +++ b/dace/frontend/common/op_repository.py @@ -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]] diff --git a/dace/frontend/fortran/ast_components.py b/dace/frontend/fortran/ast_components.py index abdd179a2f..1bccd14654 100644 --- a/dace/frontend/fortran/ast_components.py +++ b/dace/frontend/fortran/ast_components.py @@ -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 diff --git a/dace/frontend/fortran/ast_internal_classes.py b/dace/frontend/fortran/ast_internal_classes.py index 276959337c..0d5e9427f8 100644 --- a/dace/frontend/fortran/ast_internal_classes.py +++ b/dace/frontend/fortran/ast_internal_classes.py @@ -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. diff --git a/dace/frontend/fortran/ast_transforms.py b/dace/frontend/fortran/ast_transforms.py index 6b7801a4a8..b8405a2135 100644 --- a/dace/frontend/fortran/ast_transforms.py +++ b/dace/frontend/fortran/ast_transforms.py @@ -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 diff --git a/dace/frontend/ml/onnx/importer.py b/dace/frontend/ml/onnx/importer.py index 226b3e821f..513a460262 100644 --- a/dace/frontend/ml/onnx/importer.py +++ b/dace/frontend/ml/onnx/importer.py @@ -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 diff --git a/dace/frontend/ml/tensorflow/tensorflow.py b/dace/frontend/ml/tensorflow/tensorflow.py index 2842fbe26a..cae1c6b9a2 100644 --- a/dace/frontend/ml/tensorflow/tensorflow.py +++ b/dace/frontend/ml/tensorflow/tensorflow.py @@ -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: diff --git a/dace/frontend/ml/tensorflow/transformations/redundant_array.py b/dace/frontend/ml/tensorflow/transformations/redundant_array.py index f42df1a847..fded541265 100644 --- a/dace/frontend/ml/tensorflow/transformations/redundant_array.py +++ b/dace/frontend/ml/tensorflow/transformations/redundant_array.py @@ -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): diff --git a/dace/frontend/ml/torch/module.py b/dace/frontend/ml/torch/module.py index ba820faf87..796cae9bc3 100644 --- a/dace/frontend/ml/torch/module.py +++ b/dace/frontend/ml/torch/module.py @@ -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: @@ -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 diff --git a/dace/frontend/octave/parse.py b/dace/frontend/octave/parse.py index 221794a48f..41aef98d17 100644 --- a/dace/frontend/octave/parse.py +++ b/dace/frontend/octave/parse.py @@ -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 diff --git a/dace/frontend/operations.py b/dace/frontend/operations.py index 57062f4e3f..41e5d420ad 100644 --- a/dace/frontend/operations.py +++ b/dace/frontend/operations.py @@ -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 diff --git a/dace/frontend/python/cached_program.py b/dace/frontend/python/cached_program.py index cdada4b417..d3004528b4 100644 --- a/dace/frontend/python/cached_program.py +++ b/dace/frontend/python/cached_program.py @@ -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 diff --git a/dace/frontend/python/interface.py b/dace/frontend/python/interface.py index 5581f727bd..7eec02dd7d 100644 --- a/dace/frontend/python/interface.py +++ b/dace/frontend/python/interface.py @@ -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 diff --git a/dace/frontend/python/parser.py b/dace/frontend/python/parser.py index bdc206d06c..a640a641de 100644 --- a/dace/frontend/python/parser.py +++ b/dace/frontend/python/parser.py @@ -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 @@ -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 diff --git a/dace/frontend/python/preprocessing.py b/dace/frontend/python/preprocessing.py index dbc9536790..5f6a387b6b 100644 --- a/dace/frontend/python/preprocessing.py +++ b/dace/frontend/python/preprocessing.py @@ -12,7 +12,7 @@ from typing import Any, Callable, Dict, List, Optional, Set, Tuple, Union import dace -from dace import data, dtypes, symbolic, sdfg +from dace import data, dtypes, symbolic from dace.config import Config from dace.sdfg import SDFG from dace.frontend.python import astutils diff --git a/dace/frontend/python/replacements/array_manipulation.py b/dace/frontend/python/replacements/array_manipulation.py index 379d9c9fb8..0078e96d8d 100644 --- a/dace/frontend/python/replacements/array_manipulation.py +++ b/dace/frontend/python/replacements/array_manipulation.py @@ -3,7 +3,7 @@ Contains replacements for N-dimensional array transformations. """ from dace.frontend.common import op_repository as oprepo -from dace.frontend.python.common import DaceSyntaxError, StringLiteral +from dace.frontend.python.common import StringLiteral from dace.frontend.python.replacements.utils import ProgramVisitor, UfuncInput, UfuncOutput import dace.frontend.python.memlet_parser as mem_parser from dace import data, dtypes, subsets, symbolic diff --git a/dace/frontend/python/replacements/mpi.py b/dace/frontend/python/replacements/mpi.py index 5539833447..9bc7c510d6 100644 --- a/dace/frontend/python/replacements/mpi.py +++ b/dace/frontend/python/replacements/mpi.py @@ -9,7 +9,7 @@ from dace.memlet import Memlet from dace.sdfg import SDFG, SDFGState from numbers import Integral, Number -from typing import Sequence, Tuple, Union +from typing import Sequence, Union ShapeType = Sequence[Union[Integral, str, symbolic.symbol, symbolic.SymExpr, symbolic.sympy.Basic]] RankType = Union[Integral, str, symbolic.symbol, symbolic.SymExpr, symbolic.sympy.Basic] @@ -287,7 +287,6 @@ def _intracomm_alltoall(pv: ProgramVisitor, sdfg: SDFG, state: SDFGState, icomm: def _pgrid_alltoall(pv: ProgramVisitor, sdfg: SDFG, state: SDFGState, pgrid: str, inp_buffer: str, out_buffer: str): """ Equivalent to `dace.comm.Alltoall(inp_buffer, out_buffer, grid=pgrid)`. """ - from mpi4py import MPI return _alltoall(pv, sdfg, state, inp_buffer, out_buffer, grid=pgrid) @@ -618,7 +617,6 @@ def _pgrid_isend(pv: ProgramVisitor, sdfg: SDFG, state: SDFGState, pgrid: str, b dst: Union[str, sp.Expr, Number], tag: Union[str, sp.Expr, Number]): """ Equivalent to `dace.comm.Isend(buffer, dst, tag, req, grid=pgrid)`. """ - from mpi4py import MPI req, _ = sdfg.add_array("isend_req", [1], dace.dtypes.opaque("MPI_Request"), transient=True, find_new_name=True) _isend(pv, sdfg, state, buffer, dst, tag, req, grid=pgrid) return req @@ -837,7 +835,6 @@ def _pgrid_irecv(pv: ProgramVisitor, sdfg: SDFG, state: SDFGState, pgrid: str, b src: Union[str, sp.Expr, Number], tag: Union[str, sp.Expr, Number]): """ Equivalent to `dace.comm.Isend(buffer, dst, tag, req, grid=pgrid)`. """ - from mpi4py import MPI req, _ = sdfg.add_array("irecv_req", [1], dace.dtypes.opaque("MPI_Request"), transient=True, find_new_name=True) _irecv(pv, sdfg, state, buffer, src, tag, req, grid=pgrid) return req diff --git a/dace/frontend/python/replacements/operators.py b/dace/frontend/python/replacements/operators.py index a996b2edc6..9fce562074 100644 --- a/dace/frontend/python/replacements/operators.py +++ b/dace/frontend/python/replacements/operators.py @@ -15,7 +15,7 @@ import numpy as np import sympy as sp -import dace # For evaluation of data types +import dace # noqa: F401 (used during evaluation of data types, e.g. casting in replaced op) numpy_version = np.lib.NumpyVersion(np.__version__) diff --git a/dace/frontend/python/replacements/torch_autodiff.py b/dace/frontend/python/replacements/torch_autodiff.py index d110046be9..2433ae567b 100644 --- a/dace/frontend/python/replacements/torch_autodiff.py +++ b/dace/frontend/python/replacements/torch_autodiff.py @@ -3,17 +3,11 @@ Integration with the dace python frontend """ -from contextlib import contextmanager from typing import Optional, Union, Sequence import itertools -import warnings -import torch -import torch.autograd - -from dace import SDFG, SDFGState, config, data +from dace import SDFG, SDFGState, data import dace.sdfg.sdfg -from dace.transformation import optimizer from dace.frontend.python import common from dace.frontend.common import op_repository from dace.frontend.python import newast diff --git a/dace/frontend/python/replacements/utils.py b/dace/frontend/python/replacements/utils.py index 0d04591bb6..670a95148e 100644 --- a/dace/frontend/python/replacements/utils.py +++ b/dace/frontend/python/replacements/utils.py @@ -13,7 +13,6 @@ import numpy as np import sympy as sp -import dace # For evaluation of data types ######################################################################## # Type hint definitions diff --git a/dace/frontend/python/tasklet_runner.py b/dace/frontend/python/tasklet_runner.py index b967b13094..01210463d3 100644 --- a/dace/frontend/python/tasklet_runner.py +++ b/dace/frontend/python/tasklet_runner.py @@ -7,15 +7,10 @@ import ast import copy import inspect -import sys from typing import Any, Dict, List, Optional, Tuple -from dace import data, symbolic -from dace.config import Config -from dace.frontend.python import ndloop, wrappers from dace.frontend.python import astutils -from dace.frontend.python.astutils import unparse, rname -from dace.frontend.python.parser import DaceProgram +from dace.frontend.python.astutils import rname def get_tasklet_ast(stack_depth=2, frame=None) -> ast.With: diff --git a/dace/frontend/python/wrappers.py b/dace/frontend/python/wrappers.py index 49f7b32c78..bfd8c5aa8a 100644 --- a/dace/frontend/python/wrappers.py +++ b/dace/frontend/python/wrappers.py @@ -5,7 +5,7 @@ from collections import deque from typing import Deque, Generic, Type, TypeVar -from dace import dtypes, symbolic +from dace import dtypes T = TypeVar('T') diff --git a/dace/libraries/blas/blas_helpers.py b/dace/libraries/blas/blas_helpers.py index 42a5c3287b..10a5052756 100644 --- a/dace/libraries/blas/blas_helpers.py +++ b/dace/libraries/blas/blas_helpers.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import numpy as np from dace import dtypes, data -from dace.data import Array from typing import Any, Dict, Tuple diff --git a/dace/libraries/blas/nodes/axpy.py b/dace/libraries/blas/nodes/axpy.py index 4c6a02906f..c82eabf9f7 100644 --- a/dace/libraries/blas/nodes/axpy.py +++ b/dace/libraries/blas/nodes/axpy.py @@ -3,8 +3,7 @@ import dace.properties import dace.sdfg.nodes from dace.transformation.transformation import ExpandTransformation -from dace.libraries.blas import environments -from dace import config, data as dt, dtypes, memlet as mm, SDFG, SDFGState, symbolic +from dace import data as dt, memlet as mm, SDFG, SDFGState from dace.frontend.common import op_repository as oprepo diff --git a/dace/libraries/blas/nodes/dot.py b/dace/libraries/blas/nodes/dot.py index 1b78f8334f..42ce0c0fa8 100644 --- a/dace/libraries/blas/nodes/dot.py +++ b/dace/libraries/blas/nodes/dot.py @@ -7,7 +7,7 @@ from dace.transformation.transformation import ExpandTransformation from dace.libraries.blas import blas_helpers from .. import environments -from dace import data as dt, dtypes, memlet as mm, SDFG, SDFGState, symbolic +from dace import dtypes, memlet as mm, SDFG, SDFGState from dace.frontend.common import op_repository as oprepo diff --git a/dace/libraries/blas/nodes/gemv.py b/dace/libraries/blas/nodes/gemv.py index 0cc0ff147f..9ca6368b45 100644 --- a/dace/libraries/blas/nodes/gemv.py +++ b/dace/libraries/blas/nodes/gemv.py @@ -4,7 +4,7 @@ import dace.library import dace.sdfg.nodes from dace.sdfg import SDFG, SDFGState -from dace import memlet as mm, data as dt +from dace import memlet as mm from dace.transformation.transformation import ExpandTransformation from dace.libraries.blas.nodes.matmul import _get_matmul_operands from dace.libraries.blas import blas_helpers diff --git a/dace/libraries/fft/nodes/fft.py b/dace/libraries/fft/nodes/fft.py index 2724fee8a6..06abd0e62b 100644 --- a/dace/libraries/fft/nodes/fft.py +++ b/dace/libraries/fft/nodes/fft.py @@ -2,7 +2,6 @@ """ Implements Forward and Inverse Fast Fourier Transform (FFT) library nodes """ -import warnings from dace import data, dtypes, SDFG, SDFGState, symbolic, library, nodes, properties from dace import transformation as xf diff --git a/dace/libraries/lapack/nodes/getri.py b/dace/libraries/lapack/nodes/getri.py index a2de84fb6b..4c8ebfb8f2 100644 --- a/dace/libraries/lapack/nodes/getri.py +++ b/dace/libraries/lapack/nodes/getri.py @@ -4,9 +4,6 @@ import dace.properties import dace.sdfg.nodes from dace.transformation.transformation import ExpandTransformation -from .. import environments -from dace import data as dt, dtypes, memlet as mm, SDFG, SDFGState, symbolic -from dace.frontend.common import op_repository as oprepo from dace.libraries.blas import environments as blas_environments from dace.libraries.blas import blas_helpers diff --git a/dace/libraries/lapack/nodes/getrs.py b/dace/libraries/lapack/nodes/getrs.py index e6080644a6..5dcfb154df 100644 --- a/dace/libraries/lapack/nodes/getrs.py +++ b/dace/libraries/lapack/nodes/getrs.py @@ -5,8 +5,7 @@ import dace.sdfg.nodes from dace.transformation.transformation import ExpandTransformation from .. import environments -from dace import data as dt, dtypes, memlet as mm, SDFG, SDFGState, symbolic -from dace.frontend.common import op_repository as oprepo +from dace import dtypes from dace.libraries.blas import environments as blas_environments from dace.libraries.blas import blas_helpers diff --git a/dace/libraries/mpi/nodes/dummy.py b/dace/libraries/mpi/nodes/dummy.py index d486fa11e8..54b46dc983 100644 --- a/dace/libraries/mpi/nodes/dummy.py +++ b/dace/libraries/mpi/nodes/dummy.py @@ -3,8 +3,6 @@ import dace.library import dace.properties import dace.sdfg.nodes -from dace.properties import ListProperty -from dace.symbolic import symstr from dace.transformation.transformation import ExpandTransformation from .. import environments diff --git a/dace/libraries/mpi/nodes/redistribute.py b/dace/libraries/mpi/nodes/redistribute.py index fb9f8415c7..8be7b124a3 100644 --- a/dace/libraries/mpi/nodes/redistribute.py +++ b/dace/libraries/mpi/nodes/redistribute.py @@ -1,7 +1,5 @@ # Copyright 2019-2022 ETH Zurich and the DaCe authors. All rights reserved. from dace import dtypes, library, properties, subsets, symbolic -from dace.utils import prod as _prod -from dace.libraries.mpi import utils from dace.sdfg import nodes from dace.transformation.transformation import ExpandTransformation from .. import environments diff --git a/dace/libraries/onnx/forward_implementation_abc.py b/dace/libraries/onnx/forward_implementation_abc.py index b43d7fc4b3..d53876418b 100644 --- a/dace/libraries/onnx/forward_implementation_abc.py +++ b/dace/libraries/onnx/forward_implementation_abc.py @@ -102,4 +102,3 @@ def registered_implementations(cls, op_name: str) -> typing.List[typing.Tuple[st # Import op_implementations to trigger registration of all implementations -import dace.libraries.onnx.op_implementations diff --git a/dace/libraries/onnx/nodes/onnx_op_registry.py b/dace/libraries/onnx/nodes/onnx_op_registry.py index 6b145a0859..91d7ab8982 100644 --- a/dace/libraries/onnx/nodes/onnx_op_registry.py +++ b/dace/libraries/onnx/nodes/onnx_op_registry.py @@ -1,15 +1,11 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. import collections -from typing import Iterator, Tuple, List, Dict, Type +from typing import Type -import dace -import dace.library -import dace.sdfg.nodes as nd import dace.frontend.common.op_repository as dace_op_repo from dace.frontend.python.newast import ProgramVisitor -from dace import config, SDFG, SDFGState, dtypes, data -from dace.properties import Property, ListProperty, make_properties -from dace.sdfg.graph import MultiConnectorEdge +from dace import config, SDFG, SDFGState +from dace.properties import Property, ListProperty from dace.transformation.transformation import ExpandTransformation from dace.libraries.onnx.nodes.node_utils import parse_variadic_param diff --git a/dace/libraries/onnx/op_implementations/elementwise_ops.py b/dace/libraries/onnx/op_implementations/elementwise_ops.py index bf66a868d5..1891ada245 100644 --- a/dace/libraries/onnx/op_implementations/elementwise_ops.py +++ b/dace/libraries/onnx/op_implementations/elementwise_ops.py @@ -20,9 +20,9 @@ from dace.libraries.onnx.forward_implementation_abc import ONNXForward from dace.libraries.onnx.nodes import onnx_op -from dace.libraries.onnx.op_implementations.utils import (op_implementation, out_desc_with_name, program_for_node, +from dace.libraries.onnx.op_implementations.utils import (op_implementation, program_for_node, python_pure_op_implementation) -from dace.sdfg.utils import in_desc_with_name, in_edge_with_name, out_desc_with_name +from dace.sdfg.utils import in_desc_with_name, in_edge_with_name from dace.transformation.onnx.replacement import onnx_constant_or_none # ============================================================================ diff --git a/dace/libraries/onnx/op_implementations/img_op_implementations.py b/dace/libraries/onnx/op_implementations/img_op_implementations.py index 1c3727b07c..daa9fd350e 100644 --- a/dace/libraries/onnx/op_implementations/img_op_implementations.py +++ b/dace/libraries/onnx/op_implementations/img_op_implementations.py @@ -7,8 +7,7 @@ import dace from dace import SDFGState, SDFG, dtypes -from dace.sdfg import nodes, propagation -from dace.transformation.dataflow import MapExpansion, MapCollapse +from dace.sdfg import nodes from dace.sdfg.nodes import Node from dace.libraries.onnx.forward_implementation_abc import ONNXForward from dace.libraries.onnx.nodes.onnx_op import ONNXOp diff --git a/dace/libraries/onnx/op_implementations/reduction_ops.py b/dace/libraries/onnx/op_implementations/reduction_ops.py index cd9a361b8e..ecb17b100e 100644 --- a/dace/libraries/onnx/op_implementations/reduction_ops.py +++ b/dace/libraries/onnx/op_implementations/reduction_ops.py @@ -21,8 +21,8 @@ from dace.libraries.onnx.forward_implementation_abc import ONNXForward from dace.libraries.onnx.nodes import onnx_op from dace.libraries.onnx.op_implementations.common import iterables_equal -from dace.libraries.onnx.op_implementations.utils import (empty_sdfg_for_node, in_desc_with_name, op_implementation, - out_desc_with_name, program_for_node) +from dace.libraries.onnx.op_implementations.utils import (in_desc_with_name, op_implementation, out_desc_with_name, + program_for_node) # ============================================================================ # Cumulative Sum diff --git a/dace/libraries/onnx/op_implementations/utils.py b/dace/libraries/onnx/op_implementations/utils.py index 6da253ed86..eaec455b3d 100644 --- a/dace/libraries/onnx/op_implementations/utils.py +++ b/dace/libraries/onnx/op_implementations/utils.py @@ -2,7 +2,6 @@ import inspect import copy from typing import Dict, Tuple, Optional, Callable, Union, Any -import functools import textwrap import dace diff --git a/dace/libraries/pblas/environments/intel_mkl_mpich.py b/dace/libraries/pblas/environments/intel_mkl_mpich.py index ab753eae7d..d29af2d758 100644 --- a/dace/libraries/pblas/environments/intel_mkl_mpich.py +++ b/dace/libraries/pblas/environments/intel_mkl_mpich.py @@ -4,7 +4,6 @@ import dace.library import ctypes.util import warnings -from typing import Union @dace.library.environment diff --git a/dace/libraries/standard/nodes/gearbox.py b/dace/libraries/standard/nodes/gearbox.py index 32f1383996..52367c73dc 100644 --- a/dace/libraries/standard/nodes/gearbox.py +++ b/dace/libraries/standard/nodes/gearbox.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import collections import copy import dace diff --git a/dace/libraries/standard/nodes/reduce.py b/dace/libraries/standard/nodes/reduce.py index 3143773f1e..584f5a996f 100644 --- a/dace/libraries/standard/nodes/reduce.py +++ b/dace/libraries/standard/nodes/reduce.py @@ -404,7 +404,7 @@ class ExpandReduceCUDADevice(pm.ExpandTransformation): @staticmethod def expansion(node: 'Reduce', state: SDFGState, sdfg: SDFG): from dace.codegen.prettycode import CodeIOStream - from dace.codegen.targets.cpp import unparse_cr_split, cpp_array_expr + from dace.codegen.targets.cpp import unparse_cr_split node.validate(sdfg, state) input_edge: graph.MultiConnectorEdge = state.in_edges(node)[0] diff --git a/dace/libraries/stencil/cpu.py b/dace/libraries/stencil/cpu.py index 9c4eb25a5b..b8a963a582 100644 --- a/dace/libraries/stencil/cpu.py +++ b/dace/libraries/stencil/cpu.py @@ -1,7 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import collections -import copy -import numpy as np import dace diff --git a/dace/libraries/stencil/stencil.py b/dace/libraries/stencil/stencil.py index bff5d89e06..07ba3f1e29 100644 --- a/dace/libraries/stencil/stencil.py +++ b/dace/libraries/stencil/stencil.py @@ -1,6 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import collections -from typing import Dict, List, Tuple +from typing import Dict, Tuple import dace import dace.library diff --git a/dace/libraries/torch/dispatchers/cpp_torch_extension.py b/dace/libraries/torch/dispatchers/cpp_torch_extension.py index f7449df2f4..e479c3f221 100644 --- a/dace/libraries/torch/dispatchers/cpp_torch_extension.py +++ b/dace/libraries/torch/dispatchers/cpp_torch_extension.py @@ -1,14 +1,11 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. """Code generation for PyTorch C++ dispatched operators.""" import copy -import dataclasses -from distutils import sysconfig import hashlib import itertools import operator import os -import sys -from typing import List, Tuple, Callable, Optional, Dict, Union +from typing import List, Tuple, Optional, Dict import dace.library import numpy as np diff --git a/dace/memlet.py b/dace/memlet.py index 15df3ca4f2..674e19ae6b 100644 --- a/dace/memlet.py +++ b/dace/memlet.py @@ -4,7 +4,6 @@ from functools import reduce import operator from typing import TYPE_CHECKING, List, Optional, Set, Union -import warnings import dace from dace.sdfg.graph import generate_element_id diff --git a/dace/optimization/cutout_tuner.py b/dace/optimization/cutout_tuner.py index af8d6e964e..6dc232c084 100644 --- a/dace/optimization/cutout_tuner.py +++ b/dace/optimization/cutout_tuner.py @@ -1,6 +1,5 @@ # Copyright 2019-2022 ETH Zurich and the DaCe authors. All rights reserved. import os -import tempfile import math import dace import json diff --git a/dace/optimization/data_layout_tuner.py b/dace/optimization/data_layout_tuner.py index f45325f313..d9a8411dd2 100644 --- a/dace/optimization/data_layout_tuner.py +++ b/dace/optimization/data_layout_tuner.py @@ -9,7 +9,6 @@ from dace import data as dt, SDFG, dtypes from dace.optimization import cutout_tuner -from dace.sdfg.state import SDFGState from dace.transformation import helpers as xfh from dace.sdfg.analysis.cutout import SDFGCutout from dace.codegen.instrumentation.data import data_report diff --git a/dace/optimization/distributed_cutout_tuner.py b/dace/optimization/distributed_cutout_tuner.py index 39be0b7ae4..b17c94574f 100644 --- a/dace/optimization/distributed_cutout_tuner.py +++ b/dace/optimization/distributed_cutout_tuner.py @@ -1,6 +1,5 @@ # Copyright 2019-2022 ETH Zurich and the DaCe authors. All rights reserved. from collections import OrderedDict -import dace import json import itertools diff --git a/dace/optimization/map_permutation_tuner.py b/dace/optimization/map_permutation_tuner.py index 1ac288d964..1d5f8b7d3d 100644 --- a/dace/optimization/map_permutation_tuner.py +++ b/dace/optimization/map_permutation_tuner.py @@ -8,7 +8,6 @@ from dace.optimization import cutout_tuner from dace.transformation import helpers as xfh from dace.sdfg.analysis.cutout import SDFGCutout -from dace.codegen.instrumentation.data import data_report try: from tqdm import tqdm diff --git a/dace/optimization/on_the_fly_map_fusion_tuner.py b/dace/optimization/on_the_fly_map_fusion_tuner.py index 89baf0587a..8e400c5ed9 100644 --- a/dace/optimization/on_the_fly_map_fusion_tuner.py +++ b/dace/optimization/on_the_fly_map_fusion_tuner.py @@ -1,9 +1,7 @@ # Copyright 2019-2022 ETH Zurich and the DaCe authors. All rights reserved. import dace -import tempfile import math import copy -import numpy as np from typing import Generator, Dict, List, Tuple from collections import Counter diff --git a/dace/optimization/subgraph_fusion_tuner.py b/dace/optimization/subgraph_fusion_tuner.py index 01637d62da..7ae2b4db7f 100644 --- a/dace/optimization/subgraph_fusion_tuner.py +++ b/dace/optimization/subgraph_fusion_tuner.py @@ -1,6 +1,5 @@ # Copyright 2019-2022 ETH Zurich and the DaCe authors. All rights reserved. import dace -import pickle import math import copy diff --git a/dace/optimization/utils.py b/dace/optimization/utils.py index dc1e236bd1..8538c6708a 100644 --- a/dace/optimization/utils.py +++ b/dace/optimization/utils.py @@ -1,7 +1,4 @@ import os -import json -import pickle -import tempfile import math import dace import itertools @@ -9,8 +6,6 @@ from typing import Dict -from dace.codegen.instrumentation.data import data_report - def measure(sdfg, dreport=None, repetitions=30, print_report: bool = False): arguments = {} diff --git a/dace/properties.py b/dace/properties.py index e57a17941a..f598372112 100644 --- a/dace/properties.py +++ b/dace/properties.py @@ -14,7 +14,7 @@ import dace.serialize from dace.symbolic import pystr_to_symbolic from dace.dtypes import DebugInfo, typeclass -from numbers import Integral, Number +from numbers import Number from typing import List, Set, Type, Union, TypeVar, Generic, TYPE_CHECKING if TYPE_CHECKING: diff --git a/dace/registry.py b/dace/registry.py index 07079be865..96761c1c95 100644 --- a/dace/registry.py +++ b/dace/registry.py @@ -3,8 +3,7 @@ subclasses and values can be registered externally. """ from dace import attr_enum -from enum import Enum -from typing import Dict, Type, TypeVar, TYPE_CHECKING +from typing import Dict, Type, TypeVar T = TypeVar('T') E = TypeVar('E', bound=attr_enum.ExtensibleAttributeEnum) diff --git a/dace/sdfg/analysis/schedule_tree/treenodes.py b/dace/sdfg/analysis/schedule_tree/treenodes.py index 0d709ee0fd..99f162b3d7 100644 --- a/dace/sdfg/analysis/schedule_tree/treenodes.py +++ b/dace/sdfg/analysis/schedule_tree/treenodes.py @@ -4,13 +4,10 @@ from dace import nodes, data, subsets from dace.properties import CodeBlock from dace.sdfg import InterstateEdge -from dace.sdfg.state import ConditionalBlock, LoopRegion, SDFGState +from dace.sdfg.state import LoopRegion, SDFGState from dace.symbolic import symbol from dace.memlet import Memlet -from typing import TYPE_CHECKING, Dict, Iterator, List, Literal, Optional, Set, Union - -if TYPE_CHECKING: - from dace import SDFG +from typing import Dict, Iterator, List, Literal, Optional, Set, Union INDENTATION = ' ' diff --git a/dace/sdfg/analysis/vector_inference.py b/dace/sdfg/analysis/vector_inference.py index 6f42fb7729..a9cea7de90 100644 --- a/dace/sdfg/analysis/vector_inference.py +++ b/dace/sdfg/analysis/vector_inference.py @@ -1,13 +1,11 @@ -from enum import Enum, Flag +from enum import Flag from networkx import DiGraph from dace.memlet import Memlet -from collections import defaultdict from dace.sdfg.utils import dfs_topological_sort -from dace.sdfg.graph import MultiConnectorEdge, SubgraphView +from dace.sdfg.graph import MultiConnectorEdge import dace from dace import SDFG, SDFGState import dace.sdfg.nodes as nodes -from collections import defaultdict import dace.transformation.dataflow.sve.infer_types as infer_types import dace.dtypes as dtypes import dace.data as data diff --git a/dace/sdfg/nodes.py b/dace/sdfg/nodes.py index 8c8ed610ca..12e204c122 100644 --- a/dace/sdfg/nodes.py +++ b/dace/sdfg/nodes.py @@ -11,14 +11,12 @@ from typing import Any, Dict, Optional, Set, Union from dace.config import Config from dace.sdfg import graph -from dace.frontend.python.astutils import unparse, rname -from dace.properties import (EnumProperty, Property, CodeProperty, LambdaProperty, RangeProperty, DebugInfoProperty, - SetProperty, make_properties, indirect_properties, DataProperty, SymbolicProperty, - ListProperty, SDFGReferenceProperty, DictProperty, LibraryImplementationProperty, - CodeBlock) -from dace.frontend.operations import detect_reduction_type +from dace.frontend.python.astutils import rname +from dace.properties import (EnumProperty, Property, CodeProperty, RangeProperty, DebugInfoProperty, SetProperty, + make_properties, indirect_properties, DataProperty, SymbolicProperty, ListProperty, + SDFGReferenceProperty, DictProperty, LibraryImplementationProperty, CodeBlock) from dace.symbolic import issymbolic, pystr_to_symbolic -from dace import data, subsets as sbs, dtypes +from dace import subsets as sbs, dtypes from dace.sdfg import tasklet_validation as tval from dace.sdfg.type_inference import infer_types, infer_expr_type import pydoc diff --git a/dace/sdfg/sdfg.py b/dace/sdfg/sdfg.py index 3ea7d63c29..e7c34a3fdf 100644 --- a/dace/sdfg/sdfg.py +++ b/dace/sdfg/sdfg.py @@ -13,9 +13,6 @@ import sys from typing import Any, AnyStr, Dict, List, Optional, Sequence, Set, Tuple, Type, TYPE_CHECKING, Union import warnings -import subprocess -import tempfile -import pickle import dace from dace.sdfg.graph import generate_element_id diff --git a/dace/sdfg/state.py b/dace/sdfg/state.py index 2c51d03b6d..934427c262 100644 --- a/dace/sdfg/state.py +++ b/dace/sdfg/state.py @@ -9,8 +9,8 @@ import itertools import warnings import sympy -from typing import (TYPE_CHECKING, Any, AnyStr, Callable, Dict, Iterable, Iterator, List, Optional, Set, Tuple, Type, - Union, overload) +from typing import (TYPE_CHECKING, Any, AnyStr, Callable, Dict, Iterable, Iterator, List, Optional, Set, Tuple, Union, + overload) import dace from dace.frontend.python import astutils diff --git a/dace/sdfg/type_inference.py b/dace/sdfg/type_inference.py index b252181dc5..204781991a 100644 --- a/dace/sdfg/type_inference.py +++ b/dace/sdfg/type_inference.py @@ -15,7 +15,6 @@ import sympy import sys import dace.frontend.python.astutils -import inspect from typing import Callable, Union # Additional function names that can be used to infer types diff --git a/dace/sdfg/validation.py b/dace/sdfg/validation.py index c1110ec39b..c7862f759e 100644 --- a/dace/sdfg/validation.py +++ b/dace/sdfg/validation.py @@ -9,7 +9,7 @@ import networkx as nx -from dace import dtypes, subsets, symbolic, data +from dace import dtypes, subsets, symbolic from dace.dtypes import DebugInfo if TYPE_CHECKING: @@ -413,7 +413,6 @@ def validate_state(state: 'dace.sdfg.SDFGState', from dace import data as dt from dace import subsets as sbs from dace.config import Config - from dace.sdfg import SDFG from dace.sdfg import nodes as nd from dace.sdfg import utils as sdutil from dace.sdfg.scope import is_devicelevel_gpu, scope_contains_scope diff --git a/dace/transformation/auto/auto_optimize.py b/dace/transformation/auto/auto_optimize.py index 8dea17ff71..eb3347429e 100644 --- a/dace/transformation/auto/auto_optimize.py +++ b/dace/transformation/auto/auto_optimize.py @@ -6,12 +6,10 @@ from dace.sdfg import infer_types from dace.sdfg.state import SDFGState, ControlFlowRegion from dace.sdfg.graph import SubgraphView -from dace.sdfg.propagation import propagate_states from dace.sdfg.scope import is_devicelevel_gpu_kernel from dace import config, data as dt, dtypes, Memlet, symbolic from dace.sdfg import SDFG, nodes, graph as gr -from typing import Set, Tuple, Union, List, Iterable, Dict, Callable -import warnings +from typing import Set, Tuple, Union, List, Dict, Callable # Transformations from dace.transformation.passes import FullMapFusion diff --git a/dace/transformation/dataflow/add_threadblock_map.py b/dace/transformation/dataflow/add_threadblock_map.py index febdb12861..b426152629 100644 --- a/dace/transformation/dataflow/add_threadblock_map.py +++ b/dace/transformation/dataflow/add_threadblock_map.py @@ -7,8 +7,7 @@ import sympy -import dace -from dace import Config, dtypes, symbolic +from dace import Config, dtypes from dace.properties import make_properties from dace.sdfg import SDFG, SDFGState, nodes, utils as sdutil from dace.transformation import helpers, transformation diff --git a/dace/transformation/dataflow/copy_to_map.py b/dace/transformation/dataflow/copy_to_map.py index c52b1da41b..4fe4ec32fd 100644 --- a/dace/transformation/dataflow/copy_to_map.py +++ b/dace/transformation/dataflow/copy_to_map.py @@ -1,6 +1,6 @@ # Copyright 2019-2022 ETH Zurich and the DaCe authors. All rights reserved. -from dace import dtypes, symbolic, data, subsets, Memlet, properties +from dace import properties from dace.transformation import transformation as xf from dace.sdfg import SDFGState, SDFG, nodes, utils as sdutil, memlet_utils as mutils diff --git a/dace/transformation/dataflow/gpu_grid_stride_tiling.py b/dace/transformation/dataflow/gpu_grid_stride_tiling.py index e9475168c2..b9ac5a2e26 100644 --- a/dace/transformation/dataflow/gpu_grid_stride_tiling.py +++ b/dace/transformation/dataflow/gpu_grid_stride_tiling.py @@ -2,7 +2,6 @@ """ This module contains classes and functions that implement the grid-strided map tiling transformation.""" -from typing import Dict import dace from copy import deepcopy as dcpy from dace import dtypes, subsets, symbolic @@ -13,7 +12,6 @@ from dace.transformation import transformation from dace.transformation.dataflow import MapInterchange from dace.transformation.dataflow.strip_mining import calc_set_image, calc_set_union -from dace.sdfg.propagation import propagate_memlet import sympy diff --git a/dace/transformation/dataflow/gpu_transform_local_storage.py b/dace/transformation/dataflow/gpu_transform_local_storage.py index 77a1603dc5..66697e5c9e 100644 --- a/dace/transformation/dataflow/gpu_transform_local_storage.py +++ b/dace/transformation/dataflow/gpu_transform_local_storage.py @@ -5,12 +5,11 @@ import copy import collections -from dace import data, dtypes, registry, sdfg as sd, subsets as sbs, symbolic +from dace import data, dtypes, sdfg as sd, subsets as sbs, symbolic from dace.sdfg import nodes, SDFGState from dace.sdfg import utils as sdutil from dace.transformation import transformation from dace.properties import Property, make_properties -from dace.config import Config def in_scope(graph, node, parent): diff --git a/dace/transformation/dataflow/map_distribution.py b/dace/transformation/dataflow/map_distribution.py index eaa8d07f2a..ac064c52e7 100644 --- a/dace/transformation/dataflow/map_distribution.py +++ b/dace/transformation/dataflow/map_distribution.py @@ -3,13 +3,11 @@ from copy import deepcopy from numbers import Number -from typing import Dict, List import dace import sympy -from dace import data, dtypes, subsets, symbolic +from dace import data, subsets from dace.sdfg import nodes from dace.sdfg import utils as sdutil -from dace.sdfg.graph import OrderedMultiDiConnectorGraph from dace.transformation import transformation as pm from dace.transformation.subgraph.helpers import subgraph_from_maps from functools import reduce diff --git a/dace/transformation/dataflow/map_expansion.py b/dace/transformation/dataflow/map_expansion.py index 26341ac378..a985d3b3f1 100644 --- a/dace/transformation/dataflow/map_expansion.py +++ b/dace/transformation/dataflow/map_expansion.py @@ -2,14 +2,13 @@ """ Contains classes that implement the map-expansion transformation. """ from dace.sdfg.utils import consolidate_edges -from typing import Dict, List +from typing import List import copy import dace from dace import dtypes, subsets, symbolic from dace.properties import EnumProperty, make_properties, Property from dace.sdfg import nodes from dace.sdfg import utils as sdutil -from dace.sdfg.graph import OrderedMultiDiConnectorGraph from dace.transformation import transformation as pm from dace.sdfg.propagation import propagate_memlets_scope diff --git a/dace/transformation/dataflow/map_fission.py b/dace/transformation/dataflow/map_fission.py index 7a107c2ac9..e4ff411462 100644 --- a/dace/transformation/dataflow/map_fission.py +++ b/dace/transformation/dataflow/map_fission.py @@ -4,7 +4,6 @@ from copy import deepcopy as dcpy from collections import defaultdict from dace import sdfg as sd, memlet as mm, subsets, data as dt -from dace.codegen import control_flow as cf from dace.properties import CodeBlock from dace.sdfg import nodes, graph as gr from dace.sdfg import utils as sdutil diff --git a/dace/transformation/dataflow/map_fusion_helper.py b/dace/transformation/dataflow/map_fusion_helper.py index 5191c96b7d..ac962b5489 100644 --- a/dace/transformation/dataflow/map_fusion_helper.py +++ b/dace/transformation/dataflow/map_fusion_helper.py @@ -4,7 +4,7 @@ import dace from dace import symbolic -from dace.sdfg import graph, nodes as nodes, propagation, validation +from dace.sdfg import graph, nodes as nodes, validation from dace.transformation import helpers diff --git a/dace/transformation/dataflow/map_interchange.py b/dace/transformation/dataflow/map_interchange.py index 971f3172fe..499b8a291c 100644 --- a/dace/transformation/dataflow/map_interchange.py +++ b/dace/transformation/dataflow/map_interchange.py @@ -7,7 +7,6 @@ from dace.symbolic import symlist from dace.transformation import transformation from dace.sdfg.propagation import propagate_memlet -from dace.properties import make_properties class MapInterchange(transformation.SingleStateTransformation): diff --git a/dace/transformation/dataflow/mapreduce.py b/dace/transformation/dataflow/mapreduce.py index b10245524b..91174c581d 100644 --- a/dace/transformation/dataflow/mapreduce.py +++ b/dace/transformation/dataflow/mapreduce.py @@ -8,7 +8,6 @@ from dace.properties import Property, make_properties from dace.sdfg import SDFG from dace.sdfg import utils as sdutil -from dace.symbolic import symstr from dace.transformation import transformation as pm from dace.transformation.dataflow.map_collapse import MapCollapse diff --git a/dace/transformation/dataflow/merge_arrays.py b/dace/transformation/dataflow/merge_arrays.py index 2d3aba1299..78911582ce 100644 --- a/dace/transformation/dataflow/merge_arrays.py +++ b/dace/transformation/dataflow/merge_arrays.py @@ -1,9 +1,7 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. from dace.transformation import transformation -from dace import memlet from dace.sdfg.graph import OrderedDiGraph -from dace import memlet -from dace.sdfg import nodes, utils, graph as gr +from dace.sdfg import nodes, utils from dace.sdfg import SDFGState from dace.sdfg.propagation import propagate_memlet diff --git a/dace/transformation/dataflow/otf_map_fusion.py b/dace/transformation/dataflow/otf_map_fusion.py index 0c9a147959..cc2c08687e 100644 --- a/dace/transformation/dataflow/otf_map_fusion.py +++ b/dace/transformation/dataflow/otf_map_fusion.py @@ -13,10 +13,9 @@ from dace.memlet import Memlet from dace.sdfg import utils as sdutil from dace.transformation import transformation -from dace import data as dt from dace import dtypes from dace import symbolic, nodes -from dace.properties import SymbolicProperty, make_properties, Property +from dace.properties import SymbolicProperty, make_properties from dace.transformation.dataflow.stream_transient import AccumulateTransient from dace.transformation.dataflow.local_storage import OutLocalStorage, InLocalStorage diff --git a/dace/transformation/dataflow/prune_connectors.py b/dace/transformation/dataflow/prune_connectors.py index b59cf77cee..e47d9a0f6b 100644 --- a/dace/transformation/dataflow/prune_connectors.py +++ b/dace/transformation/dataflow/prune_connectors.py @@ -2,11 +2,10 @@ from typing import Set, Tuple import re -from dace import dtypes, SDFG, SDFGState, symbolic, properties, data as dt +from dace import dtypes, SDFG, SDFGState, symbolic, properties from dace.transformation import transformation as pm, helpers from dace.sdfg import nodes, utils from dace.sdfg.analysis import cfg -from dace.sdfg.state import StateSubgraphView @properties.make_properties diff --git a/dace/transformation/dataflow/redundant_array.py b/dace/transformation/dataflow/redundant_array.py index e624b9b273..6e8ec5f2e2 100644 --- a/dace/transformation/dataflow/redundant_array.py +++ b/dace/transformation/dataflow/redundant_array.py @@ -4,7 +4,7 @@ import copy import warnings -from typing import Dict, List, Optional, Tuple, Sequence +from typing import Dict, List, Tuple, Sequence import networkx as nx from networkx.exception import NetworkXError, NodeNotFound @@ -12,7 +12,6 @@ from dace import data, dtypes from dace import memlet as mm from dace import subsets, symbolic -from dace.config import Config from dace.sdfg import SDFG, SDFGState, graph, nodes from dace.sdfg import utils as sdutil from dace.transformation import helpers diff --git a/dace/transformation/dataflow/redundant_array_copying.py b/dace/transformation/dataflow/redundant_array_copying.py index 8e4985c626..cda12f04cc 100644 --- a/dace/transformation/dataflow/redundant_array_copying.py +++ b/dace/transformation/dataflow/redundant_array_copying.py @@ -1,13 +1,11 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. """ Contains redundant array removal transformations. """ -from dace import registry from dace.sdfg import nodes from dace.sdfg import utils as sdutil from dace.sdfg.sdfg import SDFG from dace.sdfg.state import SDFGState from dace.transformation import transformation as pm -from dace.config import Config class RedundantArrayCopyingIn(pm.SingleStateTransformation): diff --git a/dace/transformation/dataflow/stream_transient.py b/dace/transformation/dataflow/stream_transient.py index cc928435be..8dfb618d5b 100644 --- a/dace/transformation/dataflow/stream_transient.py +++ b/dace/transformation/dataflow/stream_transient.py @@ -6,8 +6,7 @@ from dace.symbolic import symstr import warnings -from dace import data, dtypes, registry, symbolic, subsets -from dace.frontend.operations import detect_reduction_type +from dace import data, symbolic, subsets from dace.properties import SymbolicProperty, make_properties, Property from dace.sdfg import nodes from dace.sdfg import SDFG diff --git a/dace/transformation/dataflow/streaming_memory.py b/dace/transformation/dataflow/streaming_memory.py index 49d1dc8cb8..800f1819b5 100644 --- a/dace/transformation/dataflow/streaming_memory.py +++ b/dace/transformation/dataflow/streaming_memory.py @@ -8,7 +8,7 @@ import sympy from dace.transformation import transformation as xf -from dace import (data, dtypes, nodes, properties, registry, memlet as mm, subsets, symbolic, symbol, Memlet) +from dace import (data, dtypes, nodes, properties, memlet as mm, subsets, symbolic, symbol, Memlet) from dace.sdfg import SDFG, SDFGState, utils as sdutil, graph as gr from dace.libraries.standard import Gearbox diff --git a/dace/transformation/dataflow/strip_mining.py b/dace/transformation/dataflow/strip_mining.py index 7282a12521..a024489228 100644 --- a/dace/transformation/dataflow/strip_mining.py +++ b/dace/transformation/dataflow/strip_mining.py @@ -4,7 +4,7 @@ import dace from copy import deepcopy as dcpy -from dace import dtypes, registry, subsets, symbolic +from dace import dtypes, subsets, symbolic from dace.sdfg import SDFG, SDFGState from dace.properties import EnumProperty, make_properties, Property, SymbolicProperty from dace.sdfg import nodes diff --git a/dace/transformation/dataflow/sve/infer_types.py b/dace/transformation/dataflow/sve/infer_types.py index cc1c8dc431..f0122ec8b8 100644 --- a/dace/transformation/dataflow/sve/infer_types.py +++ b/dace/transformation/dataflow/sve/infer_types.py @@ -3,19 +3,12 @@ SVE Infer Types: This module is responsible for inferring connector types in the SDFG. """ from typing import * -from dace.sdfg.graph import MultiConnectorEdge, Graph, SubgraphView +from dace.sdfg.graph import SubgraphView from dace.sdfg.state import SDFGState from dace.sdfg import nodes, SDFG, SDFGState -from dace.sdfg.nodes import Node, Tasklet -import dace.dtypes -import dace.sdfg.infer_types -import dace.transformation.dataflow -import dace.transformation.helpers -import dace.codegen.targets.sve.util -import dace.frontend.operations +from dace.sdfg.nodes import Tasklet import dace.data as data import dace.dtypes as dtypes -from collections import defaultdict from dace.sdfg.utils import dfs_topological_sort from dace.sdfg.type_inference import infer_types diff --git a/dace/transformation/dataflow/tiling.py b/dace/transformation/dataflow/tiling.py index a89e9813da..415107d37d 100644 --- a/dace/transformation/dataflow/tiling.py +++ b/dace/transformation/dataflow/tiling.py @@ -2,7 +2,7 @@ """ This module contains classes and functions that implement the orthogonal tiling transformation. """ -from dace import registry, symbolic +from dace import symbolic from dace.properties import make_properties, Property, ShapeProperty from dace.sdfg import nodes from dace.sdfg import utils as sdutil diff --git a/dace/transformation/dataflow/trivial_tasklet_elimination.py b/dace/transformation/dataflow/trivial_tasklet_elimination.py index 241d010a2a..21eb50f796 100644 --- a/dace/transformation/dataflow/trivial_tasklet_elimination.py +++ b/dace/transformation/dataflow/trivial_tasklet_elimination.py @@ -1,7 +1,7 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. """ Contains classes that implement the trivial-tasklet-elimination transformation. """ -from dace import data, registry +from dace import data from dace.sdfg import nodes from dace.sdfg import utils as sdutil from dace.transformation import transformation diff --git a/dace/transformation/dataflow/vectorization.py b/dace/transformation/dataflow/vectorization.py index 1f4ad08165..2217e40161 100644 --- a/dace/transformation/dataflow/vectorization.py +++ b/dace/transformation/dataflow/vectorization.py @@ -1,13 +1,12 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. """ Contains classes that implement the vectorization transformation. """ -from dace import data, dtypes, registry, symbolic, subsets +from dace import data, dtypes, symbolic, subsets from dace.sdfg import nodes, SDFG, SDFGState, propagation from dace.sdfg import utils as sdutil from dace.sdfg.scope import ScopeSubgraphView from dace.transformation import transformation from dace.transformation.helpers import replicate_scope from dace.properties import Property, make_properties -import itertools @make_properties diff --git a/dace/transformation/dataflow/warp_tiling.py b/dace/transformation/dataflow/warp_tiling.py index 056e93741a..e6f5462063 100644 --- a/dace/transformation/dataflow/warp_tiling.py +++ b/dace/transformation/dataflow/warp_tiling.py @@ -1,7 +1,7 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import copy from dace.sdfg.graph import SubgraphView -from dace import registry, properties, nodes, dtypes, subsets, symbolic +from dace import properties, nodes, dtypes, subsets, symbolic from dace import Memlet, SDFG, SDFGState from dace.frontend.operations import detect_reduction_type from dace.transformation import transformation as xf, helpers as xfh diff --git a/dace/transformation/dataflow/wcr_conversion.py b/dace/transformation/dataflow/wcr_conversion.py index c35c3e4545..937d51288f 100644 --- a/dace/transformation/dataflow/wcr_conversion.py +++ b/dace/transformation/dataflow/wcr_conversion.py @@ -9,7 +9,6 @@ from dace.transformation import transformation from dace.sdfg import utils as sdutil from dace import Memlet, SDFG, SDFGState -from dace.transformation import helpers from dace.sdfg.propagation import propagate_memlets_state diff --git a/dace/transformation/estimator/enumeration/brute_force_enumerator.py b/dace/transformation/estimator/enumeration/brute_force_enumerator.py index 1b4ea608e3..91d73e7161 100644 --- a/dace/transformation/estimator/enumeration/brute_force_enumerator.py +++ b/dace/transformation/estimator/enumeration/brute_force_enumerator.py @@ -3,15 +3,12 @@ from dace.transformation.estimator.enumeration import MapScoringEnumerator -from dace.transformation.subgraph import SubgraphFusion, helpers -from dace.properties import make_properties, Property +from dace.transformation.subgraph import helpers +from dace.properties import make_properties from dace.sdfg import SDFG, SDFGState from dace.sdfg.graph import SubgraphView -import dace.sdfg.nodes as nodes - -from collections import deque, defaultdict, ChainMap -from typing import Set, Union, List, Callable +from typing import Callable import itertools diff --git a/dace/transformation/estimator/enumeration/connected_enumerator.py b/dace/transformation/estimator/enumeration/connected_enumerator.py index 8bfb6d4963..ac09b73931 100644 --- a/dace/transformation/estimator/enumeration/connected_enumerator.py +++ b/dace/transformation/estimator/enumeration/connected_enumerator.py @@ -3,16 +3,12 @@ from dace.transformation.estimator.enumeration import MapScoringEnumerator -from dace.transformation.subgraph import SubgraphFusion, helpers +from dace.transformation.subgraph import helpers from dace.properties import make_properties, Property from dace.sdfg import SDFG, SDFGState from dace.sdfg.graph import SubgraphView -import dace.sdfg.nodes as nodes - -from collections import deque, defaultdict, ChainMap -from typing import Set, Union, List, Callable -import itertools +from typing import Set, List, Callable @make_properties diff --git a/dace/transformation/estimator/enumeration/enumerator.py b/dace/transformation/estimator/enumeration/enumerator.py index 912f5c155d..c27c5d1e18 100644 --- a/dace/transformation/estimator/enumeration/enumerator.py +++ b/dace/transformation/estimator/enumeration/enumerator.py @@ -1,17 +1,16 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. """ This file implements the Enuerator class """ -from dace.transformation.subgraph import SubgraphFusion, helpers +from dace.transformation.subgraph import helpers from dace.properties import make_properties, Property from dace.sdfg import SDFG, SDFGState from dace.sdfg.graph import SubgraphView import dace.sdfg.nodes as nodes -from collections import deque, defaultdict, ChainMap -from typing import Set, Union, List, Callable +from collections import defaultdict +from typing import Callable import itertools -import warnings @make_properties diff --git a/dace/transformation/estimator/enumeration/greedy_enumerator.py b/dace/transformation/estimator/enumeration/greedy_enumerator.py index 70cd1a8e34..f12a80941d 100644 --- a/dace/transformation/estimator/enumeration/greedy_enumerator.py +++ b/dace/transformation/estimator/enumeration/greedy_enumerator.py @@ -3,17 +3,13 @@ from dace.transformation.estimator.enumeration import Enumerator -from dace.transformation.subgraph import SubgraphFusion, helpers +from dace.transformation.subgraph import helpers from dace.transformation.subgraph.composite import CompositeFusion from dace.properties import make_properties, Property from dace.sdfg import SDFG, SDFGState from dace.sdfg.graph import SubgraphView -import dace.sdfg.nodes as nodes - -from collections import deque, defaultdict, ChainMap -from typing import Set, Union, List, Callable -import itertools +from typing import Callable import heapq diff --git a/dace/transformation/estimator/enumeration/scoring_enumerator.py b/dace/transformation/estimator/enumeration/scoring_enumerator.py index 0b5603712f..9597868fd9 100644 --- a/dace/transformation/estimator/enumeration/scoring_enumerator.py +++ b/dace/transformation/estimator/enumeration/scoring_enumerator.py @@ -1,18 +1,9 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. """ This file implements the Enuerator class """ -from dace.transformation.subgraph import SubgraphFusion, helpers from dace.properties import make_properties, Property -from dace.sdfg import SDFG, SDFGState -from dace.sdfg.graph import SubgraphView from dace.transformation.estimator.enumeration import Enumerator -import dace.sdfg.nodes as nodes - -from collections import deque, defaultdict, ChainMap -from typing import Set, Union, List, Callable -import itertools -import warnings @make_properties diff --git a/dace/transformation/interstate/condition_fusion.py b/dace/transformation/interstate/condition_fusion.py index e4a8d5deec..0b595dabaa 100644 --- a/dace/transformation/interstate/condition_fusion.py +++ b/dace/transformation/interstate/condition_fusion.py @@ -4,7 +4,7 @@ from dace import sdfg as sd, properties from dace.properties import CodeBlock from dace.sdfg import utils as sdutil -from dace.sdfg.state import ControlFlowRegion, ConditionalBlock, SDFGState +from dace.sdfg.state import ControlFlowRegion, ConditionalBlock from dace.transformation import transformation as xf diff --git a/dace/transformation/interstate/gpu_transform_sdfg.py b/dace/transformation/interstate/gpu_transform_sdfg.py index caaf05b483..766899319e 100644 --- a/dace/transformation/interstate/gpu_transform_sdfg.py +++ b/dace/transformation/interstate/gpu_transform_sdfg.py @@ -4,8 +4,7 @@ from dace import data, memlet, dtypes, sdfg as sd, subsets as sbs, propagate_memlets_sdfg from dace.sdfg import nodes, scope from dace.sdfg import utils as sdutil -from dace.sdfg.replace import replace_in_codeblock -from dace.sdfg.state import AbstractControlFlowRegion, ConditionalBlock, LoopRegion, SDFGState +from dace.sdfg.state import AbstractControlFlowRegion, SDFGState from dace.transformation import transformation, helpers as xfh from dace.properties import ListProperty, Property, make_properties from collections import defaultdict diff --git a/dace/transformation/interstate/move_assignment_outside_if.py b/dace/transformation/interstate/move_assignment_outside_if.py index 10c6da573e..e2d95e350b 100644 --- a/dace/transformation/interstate/move_assignment_outside_if.py +++ b/dace/transformation/interstate/move_assignment_outside_if.py @@ -9,7 +9,7 @@ import sympy as sp from dace import sdfg as sd -from dace.sdfg import graph as gr, utils as sdutil, nodes as nd +from dace.sdfg import utils as sdutil, nodes as nd from dace.sdfg.state import ConditionalBlock, ControlFlowRegion from dace.symbolic import pystr_to_symbolic from dace.transformation import transformation diff --git a/dace/transformation/interstate/multistate_inline.py b/dace/transformation/interstate/multistate_inline.py index c6401dbb55..c8d86ef368 100644 --- a/dace/transformation/interstate/multistate_inline.py +++ b/dace/transformation/interstate/multistate_inline.py @@ -5,16 +5,16 @@ import itertools from typing import Dict, List -from dace import Memlet, symbolic, dtypes, subsets +from dace import Memlet, symbolic, subsets from dace.sdfg import nodes from dace.sdfg.graph import MultiConnectorEdge from dace.sdfg import InterstateEdge, SDFG, SDFGState -from dace.sdfg import utils as sdutil, infer_types +from dace.sdfg import utils as sdutil from dace.sdfg.replace import replace_datadesc_names, replace_properties_dict from dace.transformation import transformation, helpers from dace.properties import make_properties from dace import data -from dace.sdfg.state import LoopRegion, ReturnBlock, StateSubgraphView +from dace.sdfg.state import LoopRegion, ReturnBlock @make_properties diff --git a/dace/transformation/interstate/sdfg_nesting.py b/dace/transformation/interstate/sdfg_nesting.py index 495e7ff4e0..1ce65737c6 100644 --- a/dace/transformation/interstate/sdfg_nesting.py +++ b/dace/transformation/interstate/sdfg_nesting.py @@ -15,7 +15,7 @@ from dace.sdfg import nodes, propagation, utils from dace.sdfg.graph import MultiConnectorEdge, SubgraphView from dace.sdfg import SDFG, SDFGState -from dace.sdfg import utils as sdutil, infer_types, propagation +from dace.sdfg import utils as sdutil, propagation from dace.sdfg.state import LoopRegion from dace.transformation import transformation, helpers from dace.properties import make_properties, Property diff --git a/dace/transformation/interstate/state_fusion.py b/dace/transformation/interstate/state_fusion.py index 56e1e64449..99a1673d88 100644 --- a/dace/transformation/interstate/state_fusion.py +++ b/dace/transformation/interstate/state_fusion.py @@ -5,7 +5,7 @@ import networkx as nx -from dace import data as dt, dtypes, registry, sdfg, subsets +from dace import data as dt, sdfg, subsets from dace.config import Config from dace.sdfg import nodes from dace.sdfg import utils as sdutil diff --git a/dace/transformation/onnx/replacement.py b/dace/transformation/onnx/replacement.py index ce51fdd14c..e6aa74bdd2 100644 --- a/dace/transformation/onnx/replacement.py +++ b/dace/transformation/onnx/replacement.py @@ -2,11 +2,9 @@ """ General class for pattern replacement transformations. """ import abc import dace -from dace import registry, nodes, data as dt +from dace import nodes, data as dt from dace.transformation import transformation, helpers as xfh from typing import Any, Dict, List, Optional, Tuple, Union -from dace.sdfg import utils as sdutil -from dace.libraries.onnx import nodes as onnx_op from dace.sdfg import graph as gr diff --git a/dace/transformation/optimizer.py b/dace/transformation/optimizer.py index 1e77971664..5614df60d6 100644 --- a/dace/transformation/optimizer.py +++ b/dace/transformation/optimizer.py @@ -5,7 +5,6 @@ import copy import os import re -import time from typing import Any, Dict, Iterator, List, Optional, Type import dace @@ -16,7 +15,6 @@ from dace.transformation.transformation import PatternTransformation # This import is necessary since it registers all the patterns -from dace.transformation import dataflow, interstate, subgraph class Optimizer(object): diff --git a/dace/transformation/pass_pipeline.py b/dace/transformation/pass_pipeline.py index f0d602c42c..8785979004 100644 --- a/dace/transformation/pass_pipeline.py +++ b/dace/transformation/pass_pipeline.py @@ -2,7 +2,6 @@ """ API for SDFG analysis and manipulation Passes, as well as Pipelines that contain multiple dependent passes. """ -import warnings from dace import properties, serialize from dace.sdfg import SDFG, SDFGState, graph as gr, nodes, utils as sdutil diff --git a/dace/transformation/passes/dead_dataflow_elimination.py b/dace/transformation/passes/dead_dataflow_elimination.py index bc7598bbc8..ccc9aef418 100644 --- a/dace/transformation/passes/dead_dataflow_elimination.py +++ b/dace/transformation/passes/dead_dataflow_elimination.py @@ -3,7 +3,7 @@ import ast from collections import defaultdict from dataclasses import dataclass -from typing import Any, Dict, List, Optional, Set, Tuple, Type +from typing import Dict, List, Set, Tuple, Type from dace import SDFG, Memlet, SDFGState, data, dtypes, properties from dace.frontend.python import astutils diff --git a/dace/transformation/passes/full_map_fusion.py b/dace/transformation/passes/full_map_fusion.py index ad9d8e39cf..d6b9e02340 100644 --- a/dace/transformation/passes/full_map_fusion.py +++ b/dace/transformation/passes/full_map_fusion.py @@ -1,9 +1,7 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. -from typing import Any, Dict, Optional, Set +from typing import Any, Dict, Optional -import warnings - -from dace import SDFG, SDFGState, properties, transformation +from dace import SDFG, properties, transformation from dace.transformation import pass_pipeline as ppl, dataflow as dftrans from dace.transformation.passes import analysis as ap, pattern_matching as pmp diff --git a/dace/transformation/passes/lift_struct_views.py b/dace/transformation/passes/lift_struct_views.py index c6c38058f1..bd82fcc7ac 100644 --- a/dace/transformation/passes/lift_struct_views.py +++ b/dace/transformation/passes/lift_struct_views.py @@ -14,7 +14,6 @@ from dace import data as dt from dace import dtypes -import sys from typing import Literal dirtype = Literal['in', 'out'] diff --git a/dace/transformation/passes/loop_local_memory_reduction.py b/dace/transformation/passes/loop_local_memory_reduction.py index 233477b6c9..b68a2d937a 100644 --- a/dace/transformation/passes/loop_local_memory_reduction.py +++ b/dace/transformation/passes/loop_local_memory_reduction.py @@ -3,8 +3,7 @@ import sympy as sp from dace import sdfg as sd, symbolic, properties from dace import data as dt -from dace.sdfg import SDFGState -from dace.sdfg.state import LoopRegion, ConditionalBlock +from dace.sdfg.state import LoopRegion from dace.data import Scalar from dace.transformation import transformation as xf from dace.transformation import pass_pipeline as ppl diff --git a/dace/transformation/passes/scalar_to_symbol.py b/dace/transformation/passes/scalar_to_symbol.py index 693a4a7777..54a4929100 100644 --- a/dace/transformation/passes/scalar_to_symbol.py +++ b/dace/transformation/passes/scalar_to_symbol.py @@ -21,7 +21,6 @@ from dace.sdfg import utils as sdutils from dace.sdfg.replace import replace_properties_dict from dace.sdfg.sdfg import InterstateEdge -from dace.sdfg.state import ConditionalBlock, LoopRegion from dace.transformation import helpers as xfh from dace.transformation import pass_pipeline as passes from dace.transformation.transformation import explicit_cf_compatible diff --git a/dace/transformation/passes/simplification/continue_to_condition.py b/dace/transformation/passes/simplification/continue_to_condition.py index 62f08ba296..d5c2a4ac19 100644 --- a/dace/transformation/passes/simplification/continue_to_condition.py +++ b/dace/transformation/passes/simplification/continue_to_condition.py @@ -4,7 +4,7 @@ from dace import sdfg as sd, properties from dace.sdfg import utils as sdutil -from dace.sdfg.state import ContinueBlock, ControlFlowRegion, ConditionalBlock, LoopRegion +from dace.sdfg.state import ContinueBlock, ConditionalBlock, LoopRegion from dace.transformation import transformation from dace.transformation import pass_pipeline as ppl from dace.sdfg.sdfg import SDFG diff --git a/dace/transformation/passes/split_tasklets.py b/dace/transformation/passes/split_tasklets.py index 14ea5df28e..b77c07504d 100644 --- a/dace/transformation/passes/split_tasklets.py +++ b/dace/transformation/passes/split_tasklets.py @@ -9,8 +9,6 @@ import ast from dace.sdfg.nodes import CodeBlock -import re - class ASTSplitter: diff --git a/dace/transformation/subgraph/expansion.py b/dace/transformation/subgraph/expansion.py index 73445dba9a..9b946c92cb 100644 --- a/dace/transformation/subgraph/expansion.py +++ b/dace/transformation/subgraph/expansion.py @@ -5,7 +5,6 @@ from dace import dtypes, symbolic, subsets from dace.sdfg import nodes from dace.sdfg import replace, SDFG, dynamic_map_inputs -from dace.sdfg.graph import SubgraphView from dace.sdfg.state import SDFGState, StateSubgraphView from dace.transformation import transformation from dace.properties import make_properties, Property diff --git a/dace/transformation/subgraph/gpu_persistent_fusion.py b/dace/transformation/subgraph/gpu_persistent_fusion.py index e12ae94504..33758e4eea 100644 --- a/dace/transformation/subgraph/gpu_persistent_fusion.py +++ b/dace/transformation/subgraph/gpu_persistent_fusion.py @@ -5,7 +5,7 @@ from dace.sdfg import SDFG, SDFGState, InterstateEdge from dace.dtypes import StorageType, ScheduleType from dace.properties import Property, make_properties -from dace.sdfg.state import AbstractControlFlowRegion, LoopRegion +from dace.sdfg.state import AbstractControlFlowRegion from dace.sdfg.graph import SubgraphView from dace.transformation.transformation import SubgraphTransformation diff --git a/dace/transformation/subgraph/helpers.py b/dace/transformation/subgraph/helpers.py index 07e08226c0..59da7f4d11 100644 --- a/dace/transformation/subgraph/helpers.py +++ b/dace/transformation/subgraph/helpers.py @@ -5,7 +5,7 @@ from dace.sdfg.graph import SubgraphView import copy -from typing import List, Dict, Set +from typing import List, Dict # **************** # Helper functions diff --git a/dace/transformation/subgraph/stencil_tiling.py b/dace/transformation/subgraph/stencil_tiling.py index caaa367fdb..a1a57615f8 100644 --- a/dace/transformation/subgraph/stencil_tiling.py +++ b/dace/transformation/subgraph/stencil_tiling.py @@ -14,7 +14,6 @@ from dace.transformation.dataflow.map_expansion import MapExpansion from dace.transformation.dataflow.map_collapse import MapCollapse from dace.transformation.dataflow.strip_mining import StripMining -from dace.transformation.interstate.loop_detection import DetectLoop from dace.transformation.subgraph import SubgraphFusion from copy import deepcopy as dcpy diff --git a/dace/transformation/subgraph/subgraph_fusion.py b/dace/transformation/subgraph/subgraph_fusion.py index f360b51f1c..12d31fa515 100644 --- a/dace/transformation/subgraph/subgraph_fusion.py +++ b/dace/transformation/subgraph/subgraph_fusion.py @@ -18,8 +18,6 @@ from typing import List, Tuple import warnings -import dace.libraries.standard as stdlib - from collections import defaultdict from itertools import chain diff --git a/dace/transformation/testing.py b/dace/transformation/testing.py index ba88c8111c..d5c968322c 100644 --- a/dace/transformation/testing.py +++ b/dace/transformation/testing.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import copy from io import StringIO -import os import sys import traceback diff --git a/ruff.toml b/ruff.toml new file mode 100644 index 0000000000..7eaf19de0e --- /dev/null +++ b/ruff.toml @@ -0,0 +1,5 @@ +[lint] +select = ["F401"] + +[lint.per-file-ignores] +"__init__.py" = ["F401"] diff --git a/samples/codegen/tensor_cores.py b/samples/codegen/tensor_cores.py index f516f33d23..16edeafbcc 100644 --- a/samples/codegen/tensor_cores.py +++ b/samples/codegen/tensor_cores.py @@ -17,8 +17,6 @@ from dace.codegen.targets.cpp import cpp_array_expr, cpp_offset_expr # Frontend imports and helpers -from dace.frontend.common.op_repository import replaces -from dace.frontend.python.newast import ProgramVisitor # Transformations from dace.transformation.interstate import GPUTransformSDFG @@ -28,7 +26,6 @@ from dace.sdfg.state import ControlFlowRegion, StateSubgraphView from dace.codegen.prettycode import CodeIOStream from dace.codegen.dispatcher import DefinedType -from typing import Any, List # Other imports import itertools diff --git a/samples/explicit/histogram.py b/samples/explicit/histogram.py index c2c6f29ad7..6524dfb525 100644 --- a/samples/explicit/histogram.py +++ b/samples/explicit/histogram.py @@ -2,7 +2,6 @@ """ 2D histogram sample that showcases memlets with write-conflict resolution and unknown element. """ import argparse import dace -import math import numpy as np W = dace.symbol('W') diff --git a/samples/instrumentation/matmul_likwid.py b/samples/instrumentation/matmul_likwid.py index e9d0ae4938..a08d3c9bac 100644 --- a/samples/instrumentation/matmul_likwid.py +++ b/samples/instrumentation/matmul_likwid.py @@ -2,8 +2,6 @@ import dace import numpy as np -import dace.transformation.helpers as xfh - M = dace.symbol('M') K = dace.symbol('K') N = dace.symbol('N') diff --git a/samples/instrumentation/matmul_likwid_gpu.py b/samples/instrumentation/matmul_likwid_gpu.py index 55c113cca1..0eaf6c8ba0 100644 --- a/samples/instrumentation/matmul_likwid_gpu.py +++ b/samples/instrumentation/matmul_likwid_gpu.py @@ -2,8 +2,6 @@ import dace import numpy as np -import dace.transformation.helpers as xfh - M = dace.symbol('M') K = dace.symbol('K') N = dace.symbol('N') diff --git a/samples/optimization/matmul.py b/samples/optimization/matmul.py index 9353a5aae9..41edb8a270 100644 --- a/samples/optimization/matmul.py +++ b/samples/optimization/matmul.py @@ -6,11 +6,11 @@ import click import dace import numpy as np -from typing import List, Tuple +from typing import Tuple # For optimizations -from dace.transformation.dataflow import (DoubleBuffering, MapCollapse, MapExpansion, MapReduceFusion, StripMining, - InLocalStorage, AccumulateTransient, Vectorization) +from dace.transformation.dataflow import (DoubleBuffering, MapCollapse, MapReduceFusion, InLocalStorage, + AccumulateTransient, Vectorization) from dace.transformation import helpers as xfutil # For library node implementations diff --git a/samples/sdfg_api/stencil_boundaries.py b/samples/sdfg_api/stencil_boundaries.py index e2bc0c9429..f464829c9c 100644 --- a/samples/sdfg_api/stencil_boundaries.py +++ b/samples/sdfg_api/stencil_boundaries.py @@ -4,7 +4,6 @@ import dace from dace import subsets import numpy as np -from scipy import signal H = dace.symbol('H') W = dace.symbol('W') diff --git a/tests/add_edge_pair_test.py b/tests/add_edge_pair_test.py index ccbc89b396..4735651c6a 100644 --- a/tests/add_edge_pair_test.py +++ b/tests/add_edge_pair_test.py @@ -30,7 +30,6 @@ def test(): sdfg(A=A, B=B) diff = np.linalg.norm(B[0] - np.sum(2 * A)) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/autodiff/torch_backward/test_pytorch.py b/tests/autodiff/torch_backward/test_pytorch.py index 05d2f6948a..d2028c728f 100644 --- a/tests/autodiff/torch_backward/test_pytorch.py +++ b/tests/autodiff/torch_backward/test_pytorch.py @@ -1,5 +1,4 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. -import numpy as np import pytest import copy diff --git a/tests/autodiff/torch_backward/test_training.py b/tests/autodiff/torch_backward/test_training.py index 0858288145..616f1bab01 100644 --- a/tests/autodiff/torch_backward/test_training.py +++ b/tests/autodiff/torch_backward/test_training.py @@ -1,10 +1,6 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. -import os -import copy import pytest -import numpy as np - pytest.importorskip("torch", reason="PyTorch not installed. Please install with: pip install dace[ml]") pytest.importorskip("transformers", reason="transformers not installed. Please install with: pip install dace[ml-testing]") diff --git a/tests/blas/nodes/axpy_test.py b/tests/blas/nodes/axpy_test.py index c7feb2029f..4a13da3b12 100755 --- a/tests/blas/nodes/axpy_test.py +++ b/tests/blas/nodes/axpy_test.py @@ -2,18 +2,13 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import numpy as np -import pytest -import argparse import scipy -import random import dace from dace.memlet import Memlet import dace.libraries.blas as blas -from dace.transformation.interstate import InlineSDFG -from dace.transformation.dataflow import StreamingMemory from dace.libraries.standard.memory import aligned_ndarray diff --git a/tests/blas/nodes/dot_test.py b/tests/blas/nodes/dot_test.py index c06f3a9eea..18c435b6f7 100755 --- a/tests/blas/nodes/dot_test.py +++ b/tests/blas/nodes/dot_test.py @@ -11,9 +11,6 @@ import dace.libraries.blas as blas -from dace.transformation.interstate import InlineSDFG -from dace.config import set_temporary - def pure_graph(implementation, dtype, veclen): @@ -47,12 +44,10 @@ def pure_graph(implementation, dtype, veclen): def run_test(target, size, vector_length): - if target == "pure": - sdfg = pure_graph("pure", dace.float32, vector_length) - else: - print(f"Unsupported target: {target}") - exit(-1) + if target != "pure": + raise ValueError(f"Unsupported target: {target}") + sdfg = pure_graph("pure", dace.float32, vector_length) dot = sdfg.compile() x = np.ndarray(size, dtype=np.float32) diff --git a/tests/blas/nodes/gemv_test.py b/tests/blas/nodes/gemv_test.py index e5f0916924..c028b633e9 100644 --- a/tests/blas/nodes/gemv_test.py +++ b/tests/blas/nodes/gemv_test.py @@ -5,7 +5,6 @@ from dace.memlet import Memlet import dace.libraries.blas as blas -from dace.transformation.interstate import InlineSDFG def pure_graph(dtype, transposed, expansion, veclen, alpha, beta, expansion_args=None): diff --git a/tests/blas/nodes/ger_test.py b/tests/blas/nodes/ger_test.py index 07d40dae9a..5a6c2dd366 100755 --- a/tests/blas/nodes/ger_test.py +++ b/tests/blas/nodes/ger_test.py @@ -76,12 +76,7 @@ def run_ger(target: str, ref = scipy.linalg.blas.sger(alpha=alpha, x=x, y=y, a=ref) diff = np.linalg.norm(res - ref) - if diff >= eps * n * m: - raise RuntimeError(f"Validation failed: {diff}") - else: - print("Validation successful.") - - return sdfg + assert diff < eps * n * m def test_ger_pure(): diff --git a/tests/canonicalize_memlet_tree_test.py b/tests/canonicalize_memlet_tree_test.py index 7a44f7788c..e048bf9c11 100644 --- a/tests/canonicalize_memlet_tree_test.py +++ b/tests/canonicalize_memlet_tree_test.py @@ -1,13 +1,10 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. -from typing import Tuple, Union +from typing import Tuple import dace -from dace import subsets as dace_sbs from dace.sdfg import nodes as dace_nodes from dace.sdfg.utils import canonicalize_memlet_trees -import pytest - from .transformations import utility diff --git a/tests/codegen/allocation_lifetime_test.py b/tests/codegen/allocation_lifetime_test.py index 08b4c8d72c..cc3b7e3b99 100644 --- a/tests/codegen/allocation_lifetime_test.py +++ b/tests/codegen/allocation_lifetime_test.py @@ -173,11 +173,8 @@ def lifetimetest(input: dace.float64[N]): sdfg.arrays['tmp'].storage = dace.StorageType.Register sdfg.arrays['tmp'].lifetime = dace.AllocationLifetime.Persistent - try: + with pytest.raises(dace.sdfg.InvalidSDFGError): sdfg.validate() - raise AssertionError('SDFG should not be valid') - except dace.sdfg.InvalidSDFGError: - print('Exception caught, test passed') def test_alloc_persistent(): diff --git a/tests/codegen/argumet_signature_test.py b/tests/codegen/argumet_signature_test.py index c29a63ac2e..e4b720a289 100644 --- a/tests/codegen/argumet_signature_test.py +++ b/tests/codegen/argumet_signature_test.py @@ -1,5 +1,4 @@ import dace -import copy def test_argument_signature_test(): @@ -190,7 +189,7 @@ def make_sdfg() -> dace.SDFG: # If we have cupy we will also compile it. try: - import cupy as cp + import cupy as cp # noqa: F401 except ImportError: return diff --git a/tests/codegen/atomic_xchg_test.py b/tests/codegen/atomic_xchg_test.py index 908153d2e8..f414d105c9 100644 --- a/tests/codegen/atomic_xchg_test.py +++ b/tests/codegen/atomic_xchg_test.py @@ -33,7 +33,6 @@ def test_xchg(): elif A[i] != 4: raise ValueError('Values can be either 1 or 4') assert locked[0] == 4 - print('PASS. Winner:', winner) if __name__ == '__main__': diff --git a/tests/codegen/control_flow_generation_test.py b/tests/codegen/control_flow_generation_test.py index 0ee8d8f852..eab518f4dc 100644 --- a/tests/codegen/control_flow_generation_test.py +++ b/tests/codegen/control_flow_generation_test.py @@ -4,7 +4,7 @@ import dace import numpy as np -from dace.sdfg.state import ConditionalBlock, ReturnBlock +from dace.sdfg.state import ConditionalBlock from dace.transformation.pass_pipeline import FixedPointPipeline from dace.transformation.passes.simplification.control_flow_raising import ControlFlowRaising diff --git a/tests/codegen/data_instrumentation_test.py b/tests/codegen/data_instrumentation_test.py index 8192679c9f..4a3e458336 100644 --- a/tests/codegen/data_instrumentation_test.py +++ b/tests/codegen/data_instrumentation_test.py @@ -1,5 +1,5 @@ # Copyright 2019-2022 ETH Zurich and the DaCe authors. All rights reserved. -from typing import Optional, Tuple +from typing import Optional import dace from dace import nodes from dace.properties import CodeBlock diff --git a/tests/codegen/gpu_memcpy_test.py b/tests/codegen/gpu_memcpy_test.py index c7a3525f95..b7ae974483 100644 --- a/tests/codegen/gpu_memcpy_test.py +++ b/tests/codegen/gpu_memcpy_test.py @@ -5,7 +5,6 @@ from dace.sdfg import nodes as dace_nodes import pytest -import copy import re # this test requires cupy module diff --git a/tests/codegen/map_launch_test.py b/tests/codegen/map_launch_test.py index c58c550aeb..908751a1f3 100644 --- a/tests/codegen/map_launch_test.py +++ b/tests/codegen/map_launch_test.py @@ -2,7 +2,6 @@ import dace import numpy as np import copy -import sys import time import pytest diff --git a/tests/codegen/mpi_axpy.py b/tests/codegen/mpi_axpy.py index eb51030f21..9cfc29c39e 100644 --- a/tests/codegen/mpi_axpy.py +++ b/tests/codegen/mpi_axpy.py @@ -3,7 +3,6 @@ import argparse import dace import numpy as np -import scipy as sp from mpi4py import MPI from dace.transformation.dataflow import MPITransformMap diff --git a/tests/codegen/no_emit_copy_on_empty_memlet_test.py b/tests/codegen/no_emit_copy_on_empty_memlet_test.py index f521d7ac01..8630c580cd 100644 --- a/tests/codegen/no_emit_copy_on_empty_memlet_test.py +++ b/tests/codegen/no_emit_copy_on_empty_memlet_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. import dace -import pytest def _gen_sdfg() -> dace.SDFG: diff --git a/tests/codegen/sve/application_axpy_test.py b/tests/codegen/sve/application_axpy_test.py index 627f3cfa98..cb608ffdd7 100644 --- a/tests/codegen/sve/application_axpy_test.py +++ b/tests/codegen/sve/application_axpy_test.py @@ -24,12 +24,8 @@ def multiplication(i): @pytest.mark.sve def test_axpy(): - print("==== Program start ====") - N = 24 - print('Scalar-vector multiplication %d' % (N)) - # Initialize arrays: Randomize A and X, zero Y A = dace.float64(np.random.rand()) X = np.random.rand(N).astype(np.float64) @@ -53,6 +49,4 @@ def test_axpy(): c_axpy(X_regression, Y_regression, N, A_regression) diff = np.linalg.norm(Y_regression - Y) / N - print("Difference:", diff) - print("==== Program end ====") assert diff <= 1e-5 diff --git a/tests/codegen/sve/application_filter_test.py b/tests/codegen/sve/application_filter_test.py index 794a592a94..e2b9bc5cca 100644 --- a/tests/codegen/sve/application_filter_test.py +++ b/tests/codegen/sve/application_filter_test.py @@ -34,8 +34,6 @@ def test_filter(): N = 64 ratio = np.float32(0.5) - print('Predicate-Based Filter. size=%d, ratio=%f' % (N, ratio)) - A = np.random.rand(N).astype(np.float32) B = np.zeros_like(A) outsize = dace.scalar(dace.uint32) diff --git a/tests/codegen/sve/application_spmv_test.py b/tests/codegen/sve/application_spmv_test.py index 8e2c84c956..c1b05fcd7a 100644 --- a/tests/codegen/sve/application_spmv_test.py +++ b/tests/codegen/sve/application_spmv_test.py @@ -32,8 +32,6 @@ def test_spmv(): H = 64 nnz = 640 - print('Sparse Matrix-Vector Multiplication %dx%d (%d non-zero elements)' % (W, H, nnz)) - A_row = dace.ndarray([H + 1], dtype=dace.uint32) A_col = dace.ndarray([nnz], dtype=dace.uint32) A_val = dace.ndarray([nnz], dtype=dace.float32) @@ -44,9 +42,7 @@ def test_spmv(): # Assuming uniform sparsity distribution across rows nnz_per_row = nnz // H nnz_last_row = nnz_per_row + (nnz % H) - if nnz_last_row > W: - print('Too many nonzeros per row') - exit(1) + assert nnz_last_row <= W, 'Too many nonzeros per row' # RANDOMIZE SPARSE MATRIX A_row[0] = dace.uint32(0) @@ -78,6 +74,4 @@ def test_spmv(): dace.timethis('spmv', 'scipy', 0, A_sparse.dot, x) diff = np.linalg.norm(A_sparse.dot(x) - b) / float(H) - print("Difference:", diff) - print("==== Program end ====") assert diff <= 1e-5 diff --git a/tests/codegen/sve/ast_test.py b/tests/codegen/sve/ast_test.py index 6cb896bd37..196f2a5f6d 100644 --- a/tests/codegen/sve/ast_test.py +++ b/tests/codegen/sve/ast_test.py @@ -4,7 +4,6 @@ import dace.dtypes from tests.codegen.sve.common import get_code import pytest -from dace.codegen.targets.sve.type_compatibility import IncompatibleTypeError N = dace.symbol('N') M = dace.symbol('M') diff --git a/tests/codegen/sve/common.py b/tests/codegen/sve/common.py index 922fe6791a..9445b8f9e8 100644 --- a/tests/codegen/sve/common.py +++ b/tests/codegen/sve/common.py @@ -1,6 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -from dace.dtypes import vector -import dace from dace.transformation.dataflow.sve.vectorization import SVEVectorization diff --git a/tests/codegen/sve/stream_test.py b/tests/codegen/sve/stream_test.py index 427059eca1..33d26306ad 100644 --- a/tests/codegen/sve/stream_test.py +++ b/tests/codegen/sve/stream_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace from tests.codegen.sve.common import get_code -import pytest N = dace.symbol('N') diff --git a/tests/codegen/sve/wcr_test.py b/tests/codegen/sve/wcr_test.py index a311084b6f..97967c9807 100644 --- a/tests/codegen/sve/wcr_test.py +++ b/tests/codegen/sve/wcr_test.py @@ -1,8 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace from tests.codegen.sve.common import get_code -import pytest -from dace.codegen.targets.sve.util import NotSupportedError N = dace.symbol('N') diff --git a/tests/codegen/tasklet_generation_test.py b/tests/codegen/tasklet_generation_test.py index 79fb7664e2..fd38ee7191 100644 --- a/tests/codegen/tasklet_generation_test.py +++ b/tests/codegen/tasklet_generation_test.py @@ -1,5 +1,4 @@ import dace -import pytest def _gen_sdfg_with_a_print_tasklet_between_map_exits() -> dace.SDFG: diff --git a/tests/codegen/transient_same_name_test.py b/tests/codegen/transient_same_name_test.py index 7d799a33a7..15668399b2 100644 --- a/tests/codegen/transient_same_name_test.py +++ b/tests/codegen/transient_same_name_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import numpy as np import dace -from dace.transformation.interstate import StateFusion @dace.program diff --git a/tests/codegen/wcr_atomic_test.py b/tests/codegen/wcr_atomic_test.py index f1495282b9..a9892ba957 100644 --- a/tests/codegen/wcr_atomic_test.py +++ b/tests/codegen/wcr_atomic_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. """ Tests atomic WCR detection in code generation. """ import dace -import numpy as np N = dace.symbol('N') diff --git a/tests/config_test.py b/tests/config_test.py index 7a62d58a0e..9b2b217bd8 100644 --- a/tests/config_test.py +++ b/tests/config_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. from dace.config import Config, set_temporary, temporary_config import threading -import time def test_set_temporary(): diff --git a/tests/confres_test.py b/tests/confres_test.py index 2aed68207c..0e4785a39f 100644 --- a/tests/confres_test.py +++ b/tests/confres_test.py @@ -32,8 +32,6 @@ def test(): W = 20 H = 20 - print('Conflict Resolution Test %dx%d' % (W, H)) - A = dace.ndarray([W, H], dtype=dace.float32) B = dace.ndarray([H, W, H], dtype=dace.float32) red1 = dace.ndarray([3], dtype=dace.float32) diff --git a/tests/const_utilities_test.py b/tests/const_utilities_test.py index 8fe86f775c..4d0d37a38e 100644 --- a/tests/const_utilities_test.py +++ b/tests/const_utilities_test.py @@ -2,8 +2,7 @@ import copy import dace import dace.sdfg.utils as sdutils -import pytest -from dace.transformation.passes.analysis.scope_data_and_symbol_analysis import ScopeDataAndSymbolAnalysis, ScopeAnalysis +from dace.transformation.passes.analysis.scope_data_and_symbol_analysis import ScopeDataAndSymbolAnalysis def _add_shared_memory(sdfg: dace.SDFG, add_src_access_node: bool = False): diff --git a/tests/constant_array_test.py b/tests/constant_array_test.py index 010d4e28e4..752a3dc57a 100644 --- a/tests/constant_array_test.py +++ b/tests/constant_array_test.py @@ -23,7 +23,6 @@ def a2b(y, x): def test(): N = 20 - print('Conv2D %dx%d' % (N, N)) A = dace.ndarray([N, N], dtype=dace.float32) B = dace.ndarray([N, N], dtype=dace.float32) @@ -48,7 +47,6 @@ def test(): regression = ndimage.convolve(regression, KERNEL, mode='constant', cval=0.0) residual = np.linalg.norm(B[1:N - 1, 1:N - 1] - regression) / ((N - 2)**2) - print("Residual:", residual) #print(A.view(type=np.ndarray)) #print(regression.view(type=np.ndarray)) diff --git a/tests/control_flow_test.py b/tests/control_flow_test.py index 67e144e872..eaccec00e9 100644 --- a/tests/control_flow_test.py +++ b/tests/control_flow_test.py @@ -79,7 +79,6 @@ def test_function_in_condition(): def test_2d_access(): - print("Running without simplification...") A = np.random.rand(4, 2) expected = A.copy() expected[0, 0] = 100.0 if expected[1, 1] < 0.5 else -100.0 diff --git a/tests/cppunparse_test.py b/tests/cppunparse_test.py index ebe8548ebc..ee6258f7e1 100644 --- a/tests/cppunparse_test.py +++ b/tests/cppunparse_test.py @@ -1,21 +1,17 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. +from typing import Callable + from dace.codegen import cppunparse -def _test_py2cpp(func, expected_string): +def _test_py2cpp(func: Callable, expected_string: str) -> None: result = cppunparse.py2cpp(func) - if result != expected_string: - print("ERROR in py2cpp, expected:\n%s\n\ngot:\n%s\n" % (expected_string, result)) - return False - return True + assert result == expected_string, "ERROR in py2cpp" -def _test_pyexpr2cpp(func, expected_string): +def _test_pyexpr2cpp(func: Callable, expected_string: str) -> None: result = cppunparse.pyexpr2cpp(func) - if result != expected_string: - print("ERROR in pyexpr2cpp, expected:\n%s\n\ngot:\n%s\n" % (expected_string, result)) - return False - return True + assert result != expected_string, "ERROR in pyexpr2cpp" def gfunc(woo): @@ -27,12 +23,9 @@ def gfunc(woo): return result -def test(): - print('cppunparse unit test') - success = True +def test_cpp_unparse(): - success &= _test_py2cpp( - """def notype(a, b): + _test_py2cpp("""def notype(a, b): a = a + 5 c = a + b return c*b @@ -42,7 +35,7 @@ def test(): return (c * b); }""") - success &= _test_py2cpp("""def typed(a: int, b: float) -> float: + _test_py2cpp("""def typed(a: int, b: float) -> float: c = a + b return c*b """, """float typed(int a, float b) { @@ -51,10 +44,10 @@ def test(): }""") # Ternary operators, strings - success &= _test_py2cpp("""printf('%f\\n', a if b else c);""", """printf("%f\\n", (b ? a : c));""") + _test_py2cpp("""printf('%f\\n', a if b else c);""", """printf("%f\\n", (b ? a : c));""") # Global functions, operators - success &= _test_py2cpp( + _test_py2cpp( gfunc, """auto gfunc(auto woo) { auto i = 0; auto result = 0; @@ -70,12 +63,12 @@ def lfunc(): exit(1 >> 3) # Local functions - success &= _test_py2cpp(lfunc, """auto lfunc() { + _test_py2cpp(lfunc, """auto lfunc() { exit((1 >> 3)); }""") # void return value - success &= _test_py2cpp(""" + _test_py2cpp(""" def lfunc() -> None: exit(1 >> 3) """, """void lfunc() { @@ -83,40 +76,36 @@ def lfunc() -> None: }""") # Local variable tracking - success &= _test_py2cpp('l = 1 + a; l = l + 8;', """auto l = (1 + a); + _test_py2cpp('l = 1 + a; l = l + 8;', """auto l = (1 + a); l = (l + 8);""") # Operations (augmented assignment) - success &= _test_py2cpp('l *= 3; l //= 8', """l *= 3; + _test_py2cpp('l *= 3; l //= 8', """l *= 3; l = dace::math::ifloor(l / 8);""") - success &= _test_pyexpr2cpp('a << 3', '(a << 3)') + _test_pyexpr2cpp('a << 3', '(a << 3)') # Array assignment - success &= _test_py2cpp('A[i] = b[j]', """A[i] = b[j];""") + _test_py2cpp('A[i] = b[j]', """A[i] = b[j];""") # Named constants - success &= _test_py2cpp('''if x is not None: + _test_py2cpp('''if x is not None: y = True if x else False ''', '''if ((x != nullptr)) { auto y = (x ? true : false); }''') - print('Result: %s' % ('PASSED' if success else 'FAILED')) - assert success - def test_annotated_definition(): - success = _test_py2cpp('''a: dace.float32 + _test_py2cpp('''a: dace.float32 if something: a = 5 ''', '''dace::float32 a; if (something) { a = 5; }''') - assert success if __name__ == "__main__": - test() + test_cpp_unparse() test_annotated_definition() diff --git a/tests/cr_complex_test.py b/tests/cr_complex_test.py index f7c22902e1..6ad81e78b8 100644 --- a/tests/cr_complex_test.py +++ b/tests/cr_complex_test.py @@ -16,8 +16,6 @@ def tasklet(i): def test_cr_complex(): - print('CR non-atomic (complex value) test') - A = np.random.rand(N).astype(np.complex128) A += np.random.rand(N).astype(np.complex128) * 1j B = np.ndarray([1], dtype=A.dtype) @@ -26,7 +24,6 @@ def test_cr_complex(): cr_complex(A, B) diff = abs(np.sum(A) - B[0]) - print("Difference:", diff) assert diff <= 1e-5 diff --git a/tests/cuda_block_test.py b/tests/cuda_block_test.py index c0dba197d3..1a52aa66dc 100644 --- a/tests/cuda_block_test.py +++ b/tests/cuda_block_test.py @@ -27,11 +27,9 @@ def mult_block_2(bi): out = in_V * 2 -def _test(sdfg): +def _test(): N = 128 - print('Vector double CUDA (block) %d' % (N)) - V = dace.ndarray([N], dace.float64) Vout = dace.ndarray([N], dace.float64) V[:] = np.random.rand(N).astype(dace.float64.type) @@ -40,7 +38,6 @@ def _test(sdfg): cudahello(V=V, Vout=Vout, N=N) diff = np.linalg.norm(2 * V - Vout) / N - print("Difference:", diff) assert diff <= 1e-5 diff --git a/tests/cuda_grid2d_test.py b/tests/cuda_grid2d_test.py index af19477786..e6b33a3361 100644 --- a/tests/cuda_grid2d_test.py +++ b/tests/cuda_grid2d_test.py @@ -22,8 +22,6 @@ def _test(sdfg): W = 128 H = 64 - print('Vector double CUDA (grid 2D) %dx%d' % (W, H)) - V = dace.ndarray([H, W], dace.float64) Vout = dace.ndarray([H, W], dace.float64) V[:] = np.random.rand(H, W).astype(dace.float64.type) @@ -32,8 +30,6 @@ def _test(sdfg): sdfg(V=V, Vout=Vout, H=H, W=W) diff = np.linalg.norm(2 * V - Vout) / (H * W) - print("Difference:", diff) - print("==== Program end ====") assert diff <= 1e-5 diff --git a/tests/cuda_grid_test.py b/tests/cuda_grid_test.py index c63ff1a720..98482b415c 100644 --- a/tests/cuda_grid_test.py +++ b/tests/cuda_grid_test.py @@ -30,8 +30,6 @@ def multiplication(i): def _test(sdfg): N = 52 - print('Vector double CUDA %d' % (N)) - V = dace.ndarray([N], dace.float32) Vout = dace.ndarray([N], dace.float32) V[:] = np.random.rand(N).astype(dace.float32.type) @@ -40,7 +38,6 @@ def _test(sdfg): sdfg(V=V, Vout=Vout, N=N) diff = np.linalg.norm(2 * V - Vout) / N - print("Difference:", diff) assert diff <= 1e-5 diff --git a/tests/cuda_highdim_kernel_test.py b/tests/cuda_highdim_kernel_test.py index adc789ae9c..65b2ebe29a 100644 --- a/tests/cuda_highdim_kernel_test.py +++ b/tests/cuda_highdim_kernel_test.py @@ -50,7 +50,6 @@ def _test(sdfg): U = 5 dims = tuple(s for s in (N, M, K, L, X, Y, Z, W, U)) outdims = tuple(s for s in (N, M, K, L)) - print('High-dimensional GPU kernel test', dims) A = dace.ndarray((N, M, K, L, X, Y, Z, W, U), dtype=dace.uint64) B = dace.ndarray((N, M, K, L), dtype=dace.uint64) @@ -66,7 +65,6 @@ def _test(sdfg): sdfg(A=A, B=B, N=N, M=M, K=K, L=L, X=X, Y=Y, Z=Z, W=W, U=U) diff = np.linalg.norm(B_regression - B) / (N * M * K * L) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/cuda_smem2d_test.py b/tests/cuda_smem2d_test.py index 5a68b1643f..eb6829e8df 100644 --- a/tests/cuda_smem2d_test.py +++ b/tests/cuda_smem2d_test.py @@ -26,8 +26,6 @@ def _test(sdfg): W = 128 H = 64 - print('Vector double CUDA (shared memory 2D) %dx%d' % (W, H)) - V = dace.ndarray([H, W], dace.float64) Vout = dace.ndarray([H, W], dace.float64) V[:] = np.random.rand(H, W).astype(dace.float64.type) @@ -36,7 +34,6 @@ def _test(sdfg): sdfg(V=V, Vout=Vout, H=H, W=W) diff = np.linalg.norm(2 * V - Vout) / (H * W) - print("Difference:", diff) assert diff <= 1e-5 diff --git a/tests/cuda_smem_test.py b/tests/cuda_smem_test.py index 8c2a7f4aeb..32c4c95feb 100644 --- a/tests/cuda_smem_test.py +++ b/tests/cuda_smem_test.py @@ -24,8 +24,6 @@ def mult_block(bi): def _test(sdfg): N = 144 - print('Vector double CUDA (shared memory) %d' % (N)) - V = dace.ndarray([N], dace.float64) Vout = dace.ndarray([N], dace.float64) V[:] = np.random.rand(N).astype(dace.float64.type) @@ -34,7 +32,6 @@ def _test(sdfg): sdfg(A=V, Vout=Vout, N=N) diff = np.linalg.norm(2 * V - Vout) / N - print("Difference:", diff) assert diff <= 1e-5 diff --git a/tests/custom_reduce_test.py b/tests/custom_reduce_test.py index 0eac3bbfd0..1bc919e6c8 100644 --- a/tests/custom_reduce_test.py +++ b/tests/custom_reduce_test.py @@ -13,7 +13,6 @@ def test_custom_reduce(): B = np.zeros([1], dtype=np.float32) customreduction(A, B) diff = (B - np.min(A)) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/duplicate_arg_test.py b/tests/duplicate_arg_test.py index c73e99ebfa..a8150f54a6 100644 --- a/tests/duplicate_arg_test.py +++ b/tests/duplicate_arg_test.py @@ -26,7 +26,6 @@ def test_dot(): dot(A, A, out_AA, N=n) diff_aa = np.linalg.norm(np.dot(A, A) - out_AA) / float(n) - print("Difference:", diff_aa) assert diff_aa <= 1e-5 diff --git a/tests/duplicate_naming_test.py b/tests/duplicate_naming_test.py index 9dd38d7129..f0fc479a50 100644 --- a/tests/duplicate_naming_test.py +++ b/tests/duplicate_naming_test.py @@ -46,7 +46,6 @@ def test(): duplicate_naming(A, B, W=W) diff = np.linalg.norm(4 * A - B) / W - print("Difference:", diff) assert diff <= 1e-5 diff --git a/tests/dynamic_sdfg_functions_test.py b/tests/dynamic_sdfg_functions_test.py index 445e0da88f..0ab5bef885 100644 --- a/tests/dynamic_sdfg_functions_test.py +++ b/tests/dynamic_sdfg_functions_test.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import numpy as np import dace as dp diff --git a/tests/dynamic_tb_map_cudatest.py b/tests/dynamic_tb_map_cudatest.py index 9051c0c0dc..6fcda841dd 100644 --- a/tests/dynamic_tb_map_cudatest.py +++ b/tests/dynamic_tb_map_cudatest.py @@ -62,8 +62,6 @@ def test_dynamic_map(): sdfg(A_row=A_row, A_col=A_col, A_val=A_val, x=x, b=b, H=A_sparse.shape[0], W=A_sparse.shape[1], nnz=A_sparse.nnz) diff = np.linalg.norm(A_sparse.dot(x) - b) / float(height) - print("Difference:", diff) - print("==== Program end ====") assert diff <= 1e-5 diff --git a/tests/fortran/allocate_test.py b/tests/fortran/allocate_test.py index e8ffd0a07e..8df87d2146 100644 --- a/tests/fortran/allocate_test.py +++ b/tests/fortran/allocate_test.py @@ -1,21 +1,8 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. -from fparser.common.readfortran import FortranStringReader -from fparser.common.readfortran import FortranFileReader -from fparser.two.parser import ParserFactory -import sys, os import numpy as np -import pytest -from dace import SDFG, SDFGState, nodes, dtypes, data, subsets, symbolic from dace.frontend.fortran import fortran_parser -from fparser.two.symbol_table import SymbolTable -from dace.sdfg import utils as sdutil - -import dace.frontend.fortran.ast_components as ast_components -import dace.frontend.fortran.ast_transforms as ast_transforms -import dace.frontend.fortran.ast_utils as ast_utils -import dace.frontend.fortran.ast_internal_classes as ast_internal_classes def test_fortran_frontend_basic_allocate(): diff --git a/tests/fortran/array_to_loop_offset.py b/tests/fortran/array_to_loop_offset.py index 7459e994b0..e5e7d4484a 100644 --- a/tests/fortran/array_to_loop_offset.py +++ b/tests/fortran/array_to_loop_offset.py @@ -2,7 +2,7 @@ import numpy as np -from dace.frontend.fortran import ast_transforms, fortran_parser +from dace.frontend.fortran import fortran_parser def test_fortran_frontend_arr2loop_without_offset(): diff --git a/tests/fortran/call_extract_test.py b/tests/fortran/call_extract_test.py index eaf83808ac..d3df2e8ffc 100644 --- a/tests/fortran/call_extract_test.py +++ b/tests/fortran/call_extract_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. import numpy as np -import pytest from dace.frontend.fortran import fortran_parser diff --git a/tests/fortran/dace_support_test.py b/tests/fortran/dace_support_test.py index 4e2036c1d6..9ad692ad0a 100644 --- a/tests/fortran/dace_support_test.py +++ b/tests/fortran/dace_support_test.py @@ -1,21 +1,8 @@ # Copyright 2023 ETH Zurich and the DaCe authors. All rights reserved. -from fparser.common.readfortran import FortranStringReader -from fparser.common.readfortran import FortranFileReader -from fparser.two.parser import ParserFactory -import sys, os import numpy as np -import pytest -from dace import SDFG, SDFGState, nodes, dtypes, data, subsets, symbolic from dace.frontend.fortran import fortran_parser -from fparser.two.symbol_table import SymbolTable -from dace.sdfg import utils as sdutil - -import dace.frontend.fortran.ast_components as ast_components -import dace.frontend.fortran.ast_transforms as ast_transforms -import dace.frontend.fortran.ast_utils as ast_utils -import dace.frontend.fortran.ast_internal_classes as ast_internal_classes def test_fortran_frontend_simplify(): diff --git a/tests/fortran/intrinsic_basic_test.py b/tests/fortran/intrinsic_basic_test.py index 039ad7c3e7..c92a1dd581 100644 --- a/tests/fortran/intrinsic_basic_test.py +++ b/tests/fortran/intrinsic_basic_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. import numpy as np -import pytest from dace.frontend.fortran import fortran_parser @@ -84,7 +83,6 @@ def test_fortran_frontend_bit_size_symbolic(): res2 = np.full([size, size2, size3], 42, order="F", dtype=np.int32) res3 = np.full([size + size2, size2 * 5, size3 + size * size2], 42, order="F", dtype=np.int32) sdfg(res=res, res2=res2, res3=res3, arrsize=size, arrsize2=size2, arrsize3=size3) - print(res) assert res[0] == size assert res[1] == size * size2 * size3 diff --git a/tests/fortran/intrinsic_math_test.py b/tests/fortran/intrinsic_math_test.py index 6fa7ab1e2b..71cbd753e2 100644 --- a/tests/fortran/intrinsic_math_test.py +++ b/tests/fortran/intrinsic_math_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. import numpy as np -import pytest from dace.frontend.fortran import fortran_parser diff --git a/tests/fortran/intrinsic_merge_test.py b/tests/fortran/intrinsic_merge_test.py index 174b0f4440..b81b826aef 100644 --- a/tests/fortran/intrinsic_merge_test.py +++ b/tests/fortran/intrinsic_merge_test.py @@ -2,7 +2,7 @@ import numpy as np -from dace.frontend.fortran import ast_transforms, fortran_parser +from dace.frontend.fortran import fortran_parser def test_fortran_frontend_merge_1d(): diff --git a/tests/fortran/intrinsic_minmaxval_test.py b/tests/fortran/intrinsic_minmaxval_test.py index b064166c43..8282691c21 100644 --- a/tests/fortran/intrinsic_minmaxval_test.py +++ b/tests/fortran/intrinsic_minmaxval_test.py @@ -2,7 +2,7 @@ import numpy as np -from dace.frontend.fortran import ast_transforms, fortran_parser +from dace.frontend.fortran import fortran_parser def test_fortran_frontend_minval_double(): diff --git a/tests/fortran/intrinsic_product_test.py b/tests/fortran/intrinsic_product_test.py index 095eb4485f..2fa7868006 100644 --- a/tests/fortran/intrinsic_product_test.py +++ b/tests/fortran/intrinsic_product_test.py @@ -3,7 +3,7 @@ import numpy as np import pytest -from dace.frontend.fortran import ast_transforms, fortran_parser +from dace.frontend.fortran import fortran_parser def test_fortran_frontend_product_array(): diff --git a/tests/fortran/intrinsic_sum_test.py b/tests/fortran/intrinsic_sum_test.py index a497271ff6..8a5d4bed70 100644 --- a/tests/fortran/intrinsic_sum_test.py +++ b/tests/fortran/intrinsic_sum_test.py @@ -2,7 +2,7 @@ import numpy as np -from dace.frontend.fortran import ast_transforms, fortran_parser +from dace.frontend.fortran import fortran_parser def test_fortran_frontend_sum2loop_1d_without_offset(): diff --git a/tests/fortran/offset_normalizer_test.py b/tests/fortran/offset_normalizer_test.py index b1635aac48..e2cb3e2c6d 100644 --- a/tests/fortran/offset_normalizer_test.py +++ b/tests/fortran/offset_normalizer_test.py @@ -2,7 +2,7 @@ import numpy as np -from dace.frontend.fortran import ast_transforms, fortran_parser +from dace.frontend.fortran import fortran_parser def test_fortran_frontend_offset_normalizer_1d(): diff --git a/tests/fortran/sum_to_loop_offset_test.py b/tests/fortran/sum_to_loop_offset_test.py index a497271ff6..8a5d4bed70 100644 --- a/tests/fortran/sum_to_loop_offset_test.py +++ b/tests/fortran/sum_to_loop_offset_test.py @@ -2,7 +2,7 @@ import numpy as np -from dace.frontend.fortran import ast_transforms, fortran_parser +from dace.frontend.fortran import fortran_parser def test_fortran_frontend_sum2loop_1d_without_offset(): diff --git a/tests/fortran/view_test.py b/tests/fortran/view_test.py index 2d4d14f8a0..5e96afce66 100644 --- a/tests/fortran/view_test.py +++ b/tests/fortran/view_test.py @@ -1,21 +1,8 @@ # Copyright 2023 ETH Zurich and the DaCe authors. All rights reserved. -from fparser.common.readfortran import FortranStringReader -from fparser.common.readfortran import FortranFileReader -from fparser.two.parser import ParserFactory -import sys, os import numpy as np -import pytest -from dace import SDFG, SDFGState, nodes, dtypes, data, subsets, symbolic from dace.frontend.fortran import fortran_parser -from fparser.two.symbol_table import SymbolTable -from dace.sdfg import utils as sdutil - -import dace.frontend.fortran.ast_components as ast_components -import dace.frontend.fortran.ast_transforms as ast_transforms -import dace.frontend.fortran.ast_utils as ast_utils -import dace.frontend.fortran.ast_internal_classes as ast_internal_classes def test_fortran_frontend_view_test(): diff --git a/tests/halfvec_cudatest.py b/tests/halfvec_cudatest.py index 824bddb092..1bf38e3573 100644 --- a/tests/halfvec_cudatest.py +++ b/tests/halfvec_cudatest.py @@ -5,7 +5,7 @@ import math import numpy as np import pytest -from dace.transformation.dataflow import MapFusionVertical, Vectorization +from dace.transformation.dataflow import Vectorization from dace.transformation.optimizer import Optimizer N = dace.symbol('N') diff --git a/tests/inline_chain_test.py b/tests/inline_chain_test.py index 836a878f91..5c99d5d6cd 100644 --- a/tests/inline_chain_test.py +++ b/tests/inline_chain_test.py @@ -30,7 +30,6 @@ def test(): inline_chain_test(A) diff = np.linalg.norm(A - (refA + 2)) / 400 - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/inline_external_edges_test.py b/tests/inline_external_edges_test.py index 0af68d1c5a..b1265335f1 100644 --- a/tests/inline_external_edges_test.py +++ b/tests/inline_external_edges_test.py @@ -43,7 +43,6 @@ def test(): expected = np.array([2.0, 2.0, 7.0, 7.0]) result = np.array([L[0], L[1], M[0], M[1]]) diff = np.linalg.norm(expected - result) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/inline_noinput_test.py b/tests/inline_noinput_test.py index 5f2b9853c4..9c341f127c 100644 --- a/tests/inline_noinput_test.py +++ b/tests/inline_noinput_test.py @@ -24,7 +24,6 @@ def test(): inline_noinput(A) diff = np.linalg.norm(A - np.array([5., 3.])) - print('Difference:', diff) assert diff < 1e-5 diff --git a/tests/inline_noncontig_dim_test.py b/tests/inline_noncontig_dim_test.py index 82f14a7969..a711c84009 100644 --- a/tests/inline_noncontig_dim_test.py +++ b/tests/inline_noncontig_dim_test.py @@ -31,23 +31,17 @@ def test(): - print('Nested SDFG with non-contiguous access test') - input = np.random.rand(2, 3, 4).astype(np.float32) output = np.zeros(shape=(2, 3, 4), dtype=np.float32) sdfg(A=input, B=output) diff1 = np.linalg.norm(output - input * 5) - print("Difference (without simplification):", diff1) - output = np.zeros(shape=(2, 3, 4), dtype=np.float32) sdfg.simplify() sdfg(A=input, B=output) diff2 = np.linalg.norm(output - input * 5) - print("Difference:", diff2) - print("==== Program end ====") assert (diff1 <= 1e-5 and diff2 <= 1e-5) diff --git a/tests/inline_nonsink_access_test.py b/tests/inline_nonsink_access_test.py index f3c29ace20..082340420e 100644 --- a/tests/inline_nonsink_access_test.py +++ b/tests/inline_nonsink_access_test.py @@ -61,7 +61,6 @@ def test_same_shape(): expected = np.array([2**2, (2**2) + (2**6)], dtype=np.float32) result = np.array([A[0], B[0]], dtype=np.float32) diff = np.linalg.norm(expected - result) - print('Difference:', diff) assert diff <= 1e-6 @@ -79,7 +78,6 @@ def test_different_shape(): expected = np.array([2**2, (2**2) + (2**6)], dtype=np.float32) result = np.array([A[1, 0], B[1, 0]], dtype=np.float32) diff = np.linalg.norm(expected - result) - print('Difference:', diff) assert diff <= 1e-6 diff --git a/tests/intarg_test.py b/tests/intarg_test.py index f87551e723..347ecdfdc0 100644 --- a/tests/intarg_test.py +++ b/tests/intarg_test.py @@ -28,8 +28,6 @@ def test(): intarg(A, B, 5, W=W) diff = np.linalg.norm(5 * A - B) / W - print("Difference:", diff) - print("==== Program end ====") assert diff <= 1e-5 diff --git a/tests/kernel_fusion_cudatest.py b/tests/kernel_fusion_cudatest.py index 556957287f..8d6d6ce681 100644 --- a/tests/kernel_fusion_cudatest.py +++ b/tests/kernel_fusion_cudatest.py @@ -2,7 +2,6 @@ import pytest import dace import numpy as np -import sympy as sp def _construct_graph(tbsize_1=None, tbsize_2=None) -> dace.SDFG: diff --git a/tests/lib_reuse_test.py b/tests/lib_reuse_test.py index fe96df3d6a..4c1674c4f0 100644 --- a/tests/lib_reuse_test.py +++ b/tests/lib_reuse_test.py @@ -22,8 +22,6 @@ def tasklet(i): def test_reload(): - print('Reloadable DaCe program test') - array_one = np.random.rand(10).astype(np.float64) array_two = np.random.rand(20).astype(np.float64) output_one = np.zeros(10, dtype=np.float64) @@ -48,7 +46,6 @@ def test_reload(): diff1 = np.linalg.norm(2.0 * array_one - output_one) / 10.0 diff2 = np.linalg.norm(4.0 * array_two - output_two) / 20.0 - print("Differences:", diff1, diff2) assert (diff1 < 1e-5 and diff2 < 1e-5) diff --git a/tests/library/blas_dot_test.py b/tests/library/blas_dot_test.py index 68e90b98c6..8a1c374466 100644 --- a/tests/library/blas_dot_test.py +++ b/tests/library/blas_dot_test.py @@ -3,11 +3,8 @@ import dace from dace.memlet import Memlet -from dace.codegen.exceptions import CompilerConfigurationError, CompilationError import dace.libraries.blas as blas import numpy as np -import sys -import warnings ############################################################################### diff --git a/tests/library/gemm_test.py b/tests/library/gemm_test.py index 68f9fb355d..6cd0a0b882 100644 --- a/tests/library/gemm_test.py +++ b/tests/library/gemm_test.py @@ -1,12 +1,10 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. import pytest -import warnings import itertools import sys import dace import random import numpy as np -from dace.codegen.exceptions import CompilerConfigurationError, CompilationError from dace.libraries.blas import Gemm M = dace.symbol('M') @@ -95,7 +93,6 @@ def params_generator(grid): _test_params = [] for param_grid in [_param_grid_trans, _param_grid_scalars, _param_grid_complex, _param_grid_broadcast_C]: for params in params_generator(param_grid): - print("Testing params:", params) _test_params.append(params) @@ -131,8 +128,6 @@ def _do_test_gemm(implementation, params): if transB: B_shape = list(reversed(trans_B_shape)) - print(f'Matrix multiplication {M}x{K}x{N} (alpha={alpha}, beta={beta})') - np_dtype = np.complex64 if complex else np.float32 # Initialize arrays: Randomize A and B, zero C @@ -164,7 +159,6 @@ def numpy_gemm(A, B, C, transA, transB, alpha, beta): sdfg(A=A, B=B, C=Y) diff = np.linalg.norm(Y_regression - Y) / (M * N) - print("Difference:", diff) assert diff <= 1e-5 diff --git a/tests/library/include_test.py b/tests/library/include_test.py index 6b84632bae..11c6e13f09 100644 --- a/tests/library/include_test.py +++ b/tests/library/include_test.py @@ -21,7 +21,7 @@ def test_include(): assert_not_exists("FooLib") assert_not_exists("BarLib") - import foolib # foolib depends on barlib + import foolib # noqa: F401 (FooLib depends on BarLib) assert_exists("FooLib") assert_exists("BarLib") diff --git a/tests/library/lapack_getrf_test.py b/tests/library/lapack_getrf_test.py index ffe66f9c1d..49fc8afaff 100644 --- a/tests/library/lapack_getrf_test.py +++ b/tests/library/lapack_getrf_test.py @@ -91,10 +91,7 @@ def test_getrf(implementation, dtype, storage): # the x is input AND output, the "result" argument gives the lapack status! getrf_sdfg(x=A, result=lapack_status, pivots=pivots, n=size) - if np.allclose(A, lu_ref): - print("Test ran successfully for {}.".format(implementation)) - else: - raise ValueError("Validation error!") + assert np.allclose(A, lu_ref) ############################################################################### diff --git a/tests/library/lapack_getri_test.py b/tests/library/lapack_getri_test.py index f023099ff6..8222730831 100644 --- a/tests/library/lapack_getri_test.py +++ b/tests/library/lapack_getri_test.py @@ -78,11 +78,7 @@ def test_getri(implementation, dtype): # the x is input AND output, the "result" argument gives the lapack status! inv_sdfg(x=A1, result_getrf=lapack_status1, result_getri=lapack_status2, pivots=pivots, n=size) - if np.allclose(A1, A3): - print("Test ran successfully for {}.".format(implementation)) - else: - print(A1 - A3) - raise ValueError("Validation error!") + assert np.allclose(A1, A3) ############################################################################### diff --git a/tests/library/lapack_getrs_test.py b/tests/library/lapack_getrs_test.py index 97a2a35a6b..f9794914d8 100644 --- a/tests/library/lapack_getrs_test.py +++ b/tests/library/lapack_getrs_test.py @@ -113,12 +113,7 @@ def test_getrs(implementation, dtype, storage): pivots=np.ndarray([0, 0], dtype=np.int32), n=2) - if np.allclose(np.dot(a1, b2), b1): - print("Test ran successfully for {}.".format(implementation)) - else: - print(b2) - print(np.dot(a1, b2) - b1) - raise ValueError("Validation error!") + assert np.allclose(np.dot(a1, b2), b1) ############################################################################### diff --git a/tests/library/library_node_expand_test.py b/tests/library/library_node_expand_test.py index 5eac4053bd..1496484c0d 100644 --- a/tests/library/library_node_expand_test.py +++ b/tests/library/library_node_expand_test.py @@ -6,7 +6,7 @@ import os import numpy as np import copy -from dace import SDFGState, SDFG, library, dtypes +from dace import SDFGState, SDFG, library from dace.transformation.transformation import ExpandTransformation # Add the test library to the path diff --git a/tests/library/matmul_cudatest.py b/tests/library/matmul_cudatest.py index e7773087f2..24e798f2a2 100644 --- a/tests/library/matmul_cudatest.py +++ b/tests/library/matmul_cudatest.py @@ -3,11 +3,9 @@ from dace.config import set_temporary from dace.library import change_default from dace.memlet import Memlet -from dace.codegen.exceptions import CompilerConfigurationError, CompilationError import dace.libraries.blas as blas import itertools import numpy as np -import sys import pytest ############################################################################### @@ -98,8 +96,6 @@ def _test_matmul(implementation, dtype, impl_name, storage, data_layout='CCC', e diff = np.linalg.norm(ref - z) assert diff < eps - print("Test ran successfully for {}.".format(implementation)) - @pytest.mark.gpu def test_types(): @@ -146,7 +142,6 @@ def bmmtest(A: dace.float64[b, m, k], B: dace.float64[b, k, n], C: dace.float64[ ref = x @ y diff = np.linalg.norm(ref - z) - print('Difference:', diff) assert diff < 1e-6 diff --git a/tests/library/mpi/mpi4py_test.py b/tests/library/mpi/mpi4py_test.py index 931587b30e..a89f642051 100644 --- a/tests/library/mpi/mpi4py_test.py +++ b/tests/library/mpi/mpi4py_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. import dace from dace.sdfg import utils -import dace.dtypes as dtypes import numpy as np import pytest diff --git a/tests/library/reduce_test.py b/tests/library/reduce_test.py index f5bb4b9fef..ebce751a76 100644 --- a/tests/library/reduce_test.py +++ b/tests/library/reduce_test.py @@ -63,7 +63,6 @@ def test_library_node_expand_reduce_pure(): @pytest.mark.parametrize('impl,test_case', itertools.product(_impls, _case_params)) def test_multidim_gpu(impl, test_case): in_shape, ax, out_shape, dtype = test_case - print(in_shape, ax, out_shape, dtype) axes = ax @dace.program diff --git a/tests/library/stencil/stencil_node_test.py b/tests/library/stencil/stencil_node_test.py index d33814d3e9..3d1db45de8 100644 --- a/tests/library/stencil/stencil_node_test.py +++ b/tests/library/stencil/stencil_node_test.py @@ -2,7 +2,6 @@ import dace from dace.libraries.stencil import Stencil import numpy as np -from dace.transformation.interstate import InlineSDFG SIZE = dace.symbol("size") ROWS = dace.symbol("rows") diff --git a/tests/library/two_pkgs_test.py b/tests/library/two_pkgs_test.py index 7479be61c0..aa7c8d91ba 100644 --- a/tests/library/two_pkgs_test.py +++ b/tests/library/two_pkgs_test.py @@ -1,10 +1,8 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace from dace import Memlet -from dace.codegen.exceptions import CompilerConfigurationError, CompilationError from dace.libraries.linalg import Inv import numpy as np -import warnings n = dace.symbol("n", dace.int64) diff --git a/tests/local_inline_test.py b/tests/local_inline_test.py index 2c07a1c3ad..7797e16fba 100644 --- a/tests/local_inline_test.py +++ b/tests/local_inline_test.py @@ -42,8 +42,6 @@ def test(): local_inline(A, B, C) diff = np.linalg.norm((-(-A + 1) + 1) - C) / W - print("Difference:", diff) - print("==== Program end ====") assert diff <= 1e-5 diff --git a/tests/map_indirect_array_test.py b/tests/map_indirect_array_test.py index e487916100..a055c173b5 100644 --- a/tests/map_indirect_array_test.py +++ b/tests/map_indirect_array_test.py @@ -25,9 +25,7 @@ def test(): plus_1(X_in=X, num=num, X_out=Y, N=10) diff = np.linalg.norm((X[0:num[0]] + 1) - Y[0:num[0]]) - if any(abs(y - 0.0) > 1e-5 for y in Y[num[0]:]) or diff > 1e-5: - print('Y =', Y) - raise AssertionError + assert not (any(abs(y - 0.0) > 1e-5 for y in Y[num[0]:]) or diff > 1e-5) if __name__ == "__main__": diff --git a/tests/mapreduce_test.py b/tests/mapreduce_test.py index 7256fe8a84..d8dfca3a26 100644 --- a/tests/mapreduce_test.py +++ b/tests/mapreduce_test.py @@ -145,8 +145,6 @@ def onetest(program): N = 20 K = 5 - print('Matrix multiplication %dx%dx%d' % (M, N, K)) - A = np.random.rand(M, K) B = np.random.rand(K, N) C = np.zeros([M, N], np.float64) @@ -158,7 +156,6 @@ def onetest(program): sdfg(A=A, B=B, C=C, M=M, N=N, K=K) diff = np.linalg.norm(C_regression - C) / (M * N) - print("Difference:", diff) assert diff <= 1e-5 @@ -166,8 +163,6 @@ def test_basic(): W = 128 H = 128 - print('Map-Reduce Test %dx%d' % (W, H)) - A = dace.ndarray([H, W], dtype=dace.float32) B = dace.ndarray([H, W], dtype=dace.float32) res = dace.ndarray([1], dtype=dace.float32) @@ -180,8 +175,6 @@ def test_basic(): diff = np.linalg.norm(5 * A - B) / np.linalg.norm(5 * A) diff_res = np.linalg.norm(np.sum(B) - res[0]) / np.linalg.norm(np.sum(B)) # diff_res = abs((np.sum(B) - res[0])).view(type=np.ndarray) - print("Difference:", diff, diff_res) - print("==== Program end ====") assert diff <= 1e-5 and diff_res <= 1 @@ -190,8 +183,6 @@ def test_mmm(): N = 20 K = 5 - print('Matrix multiplication %dx%dx%d' % (M, N, K)) - # Initialize arrays: Randomize A and B, zero C A = dace.ndarray([M, N], dtype=dace.float64) B = dace.ndarray([N, K], dtype=dace.float64) @@ -211,9 +202,6 @@ def test_mmm(): np.dot(A_regression, B_regression, C_regression) diff = np.linalg.norm(C_regression - C) / np.linalg.norm(C_regression) - print(C_regression) - print(C) - print("Difference:", diff) assert diff <= 1e-10 @@ -221,8 +209,6 @@ def test_extradims(): W = 128 H = 128 - print('Map-Reduce Test %dx%d' % (W, H)) - A = dace.ndarray([1, H, 1, W, 1], dtype=dace.float32) B = dace.ndarray([H, W], dtype=dace.float32) res = dace.ndarray([1], dtype=dace.float32) @@ -234,8 +220,6 @@ def test_extradims(): diff = np.linalg.norm(5 * A.reshape((H, W)) - B) / (H * W) diff_res = abs((np.sum(B) - res[0])).view(type=np.ndarray) - print("Difference:", diff, diff_res) - print("==== Program end ====") assert diff <= 1e-5 and diff_res <= 1 @@ -244,8 +228,6 @@ def test_permuted(): N = 20 K = 5 - print('Matrix multiplication %dx%dx%d' % (M, N, K)) - # Initialize arrays: Randomize A and B, zero C A = dace.ndarray([M, N], dtype=dace.float64) B = dace.ndarray([N, K], dtype=dace.float64) @@ -267,7 +249,6 @@ def test_permuted(): np.dot(A_regression, B_regression, C_regression) diff = np.linalg.norm(C_regression - C) / (M * K) - print("Difference:", diff) assert diff <= 1e-5 @@ -275,8 +256,6 @@ def test_histogram(): W = 32 H = 32 - print('Histogram (dec) %dx%d' % (W, H)) - A = np.random.randint(0, BINS, (H, W)).astype(np.uint8) hist = np.zeros([BINS], dtype=np.uint32) @@ -286,8 +265,6 @@ def test_histogram(): sdfg(A=A, hist=hist, H=H, W=W) diff = np.linalg.norm(np.histogram(A, bins=BINS, range=(0, BINS))[0] - hist) - print("Difference:", diff) - print("==== Program end ====") assert diff <= 1e-5 diff --git a/tests/multi_output_scope_test.py b/tests/multi_output_scope_test.py index 3a646dc17a..be62bd32da 100644 --- a/tests/multi_output_scope_test.py +++ b/tests/multi_output_scope_test.py @@ -31,12 +31,9 @@ def test(): mean = stats[0] / W variance = stats[1] / W - mean * mean - print("Mean: %f, Variance: %f" % (mean, variance)) diff_mean = abs(mean - np.mean(A)) - print("Difference (mean):", diff_mean) diff_var = abs(variance - np.var(A)) - print("Difference (variance):", diff_var) assert diff_mean <= 1e-5 and diff_var <= 1e-4 diff --git a/tests/multiple_tasklet_test.py b/tests/multiple_tasklet_test.py index 9cfc7c4704..27fd2ca94a 100644 --- a/tests/multiple_tasklet_test.py +++ b/tests/multiple_tasklet_test.py @@ -8,7 +8,6 @@ # Constructs an SDFG with multiple tasklets manually and runs it def test(): - print('SDFG multiple tasklet test') # Externals (parameters, symbols) N = dp.symbol('N') n = 20 diff --git a/tests/multiprogram_cudatest.py b/tests/multiprogram_cudatest.py index 1b8dae3247..9b7c4805df 100644 --- a/tests/multiprogram_cudatest.py +++ b/tests/multiprogram_cudatest.py @@ -1,6 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -from dace.transformation import optimizer from dace.transformation.dataflow import GPUTransformMap import numpy as np import pytest @@ -29,8 +28,6 @@ def work2(i: _[0:32]): ###################################### @pytest.mark.gpu def test_multiprogram(): - print('Multi-program CUDA test') - A = np.random.rand(32).astype(np.float32) B = np.random.rand(32).astype(np.float32) C = np.random.rand(32).astype(np.float32) @@ -48,8 +45,6 @@ def test_multiprogram(): s2func(A=B, B=C) diff = np.linalg.norm(A - C) - - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/multistate_init_test.py b/tests/multistate_init_test.py index 3359ce3e56..952d2436e7 100644 --- a/tests/multistate_init_test.py +++ b/tests/multistate_init_test.py @@ -38,8 +38,6 @@ def test(): multistate_init(A, W=W) diff = np.linalg.norm(4 * regression - A) / W - print("Difference:", diff) - print("==== Program end ====") assert diff <= 1e-5 diff --git a/tests/multistream_copy_cudatest.py b/tests/multistream_copy_cudatest.py index 032450ec8a..34a877eb29 100644 --- a/tests/multistream_copy_cudatest.py +++ b/tests/multistream_copy_cudatest.py @@ -46,7 +46,6 @@ def test_multistream_copy(): refC = np.array([a[0], b[1]], dtype=np.float32) diff = np.linalg.norm(c - refC) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/multistream_custom_cudatest.py b/tests/multistream_custom_cudatest.py index 184743f74c..9cbfd9b237 100644 --- a/tests/multistream_custom_cudatest.py +++ b/tests/multistream_custom_cudatest.py @@ -127,7 +127,6 @@ def test_multistream_custom(): dp.Config.set('compiler', 'cpu', 'libs', value=oldconf) diff = np.linalg.norm(C - out_ref) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/multistream_kernel_cudatest.py b/tests/multistream_kernel_cudatest.py index f1451003ac..fa22c69a2e 100644 --- a/tests/multistream_kernel_cudatest.py +++ b/tests/multistream_kernel_cudatest.py @@ -61,8 +61,6 @@ ###################################### @pytest.mark.gpu def test_multistream_kernel(): - print('Multi-stream kernel test') - a = np.random.rand(2).astype(np.float32) b = np.random.rand(2).astype(np.float32) c = np.random.rand(2).astype(np.float32) @@ -71,7 +69,6 @@ def test_multistream_kernel(): refC = (a + 1) * (b + 2) diff = np.linalg.norm(c - refC) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/nested_control_flow_test.py b/tests/nested_control_flow_test.py index 215a6afb90..b8d42f37a3 100644 --- a/tests/nested_control_flow_test.py +++ b/tests/nested_control_flow_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace import numpy as np -import pytest @dace.program diff --git a/tests/nested_cr_test.py b/tests/nested_cr_test.py index 391e40385e..4fab322ebf 100644 --- a/tests/nested_cr_test.py +++ b/tests/nested_cr_test.py @@ -23,16 +23,12 @@ def test(): - print('Nested conflict resolution test') - Bdata = np.ones([1], np.int32) sdfg(B=Bdata) B_regression = np.array([2], dtype=np.int32) diff = B_regression[0] - Bdata[0] - print("Difference:", diff) - print("==== Program end ====") assert diff == 0 diff --git a/tests/nested_sdfg_python_test.py b/tests/nested_sdfg_python_test.py index 5d27a3e702..cad2f99ecf 100644 --- a/tests/nested_sdfg_python_test.py +++ b/tests/nested_sdfg_python_test.py @@ -2,8 +2,6 @@ import numpy as np import dace as dp -from dace.sdfg import SDFG -from dace.memlet import Memlet N = dp.symbol('N') @@ -31,7 +29,6 @@ def do(): def test(): - print('Nested SDFG test (Python syntax)') # Externals (parameters, symbols) N = 64 @@ -42,7 +39,6 @@ def test(): sdfg(A=input, B=output, N=N) diff = np.linalg.norm(output - np.power(input, 5)) / (N * N) - print("Difference:", diff) assert diff <= 1e-5 diff --git a/tests/nested_stream_test.py b/tests/nested_stream_test.py index 84e67ff4cf..9de34641b6 100644 --- a/tests/nested_stream_test.py +++ b/tests/nested_stream_test.py @@ -26,15 +26,12 @@ def test(): - print('Nested stream test') - Bdata = np.zeros([2], np.int32) sdfg(B=Bdata) B_regression = np.array([2, 0], dtype=np.int32) diff = np.linalg.norm(B_regression - Bdata) - print("Difference:", diff) assert diff == 0 diff --git a/tests/nested_vector_type_test.py b/tests/nested_vector_type_test.py index 990d96b1e0..508c69889b 100644 --- a/tests/nested_vector_type_test.py +++ b/tests/nested_vector_type_test.py @@ -2,7 +2,6 @@ import dace from dace.memlet import Memlet -import dace.libraries.blas as blas import numpy as np import scipy @@ -97,7 +96,6 @@ def test_nested_vectorization(): ref_result = scipy.linalg.blas.saxpy(a, b, a=scaling) diff = np.linalg.norm(c - ref_result) - print('Difference:', diff) assert diff < 1e-8 diff --git a/tests/npbench/deep_learning/conv2d_bias_test.py b/tests/npbench/deep_learning/conv2d_bias_test.py index 5b776b84c9..a99e58b65c 100644 --- a/tests/npbench/deep_learning/conv2d_bias_test.py +++ b/tests/npbench/deep_learning/conv2d_bias_test.py @@ -5,9 +5,7 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize -from dace.config import set_temporary from dace.autodiff import add_backward_pass C_in, C_out, H, K, N, W = (dc.symbol(s, dc.int64) for s in ('C_in', 'C_out', 'H', 'K', 'N', 'W')) diff --git a/tests/npbench/misc/compute_test.py b/tests/npbench/misc/compute_test.py index 9bc220ddbf..31956b4cd0 100644 --- a/tests/npbench/misc/compute_test.py +++ b/tests/npbench/misc/compute_test.py @@ -6,7 +6,6 @@ import pytest import argparse from dace.transformation.auto.auto_optimize import auto_optimize -from dace.autodiff import add_backward_pass def relerror(val, ref): diff --git a/tests/npbench/misc/crc16_test.py b/tests/npbench/misc/crc16_test.py index 4b5d7b73e3..928a9e9d64 100644 --- a/tests/npbench/misc/crc16_test.py +++ b/tests/npbench/misc/crc16_test.py @@ -2,7 +2,6 @@ # Original application code: NPBench - https://github.com/spcl/npbench import dace.dtypes import numpy as np -import dace as dc import pytest import argparse from dace.transformation.auto.auto_optimize import auto_optimize diff --git a/tests/npbench/polybench/atax_test.py b/tests/npbench/polybench/atax_test.py index 8dbd812b82..93120c9517 100644 --- a/tests/npbench/polybench/atax_test.py +++ b/tests/npbench/polybench/atax_test.py @@ -5,9 +5,7 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize -from dace.config import set_temporary from dace.autodiff import add_backward_pass # Data set sizes diff --git a/tests/npbench/polybench/bicg_test.py b/tests/npbench/polybench/bicg_test.py index e90b728609..d21815d6e3 100644 --- a/tests/npbench/polybench/bicg_test.py +++ b/tests/npbench/polybench/bicg_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/cholesky2_test.py b/tests/npbench/polybench/cholesky2_test.py index 50486f9126..96c6b8eb25 100644 --- a/tests/npbench/polybench/cholesky2_test.py +++ b/tests/npbench/polybench/cholesky2_test.py @@ -6,7 +6,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize # Data set sizes diff --git a/tests/npbench/polybench/cholesky_test.py b/tests/npbench/polybench/cholesky_test.py index 309bb3197d..8e2d48fb05 100644 --- a/tests/npbench/polybench/cholesky_test.py +++ b/tests/npbench/polybench/cholesky_test.py @@ -6,7 +6,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/covariance_test.py b/tests/npbench/polybench/covariance_test.py index 1c8e2ed2a6..07d02c62c6 100644 --- a/tests/npbench/polybench/covariance_test.py +++ b/tests/npbench/polybench/covariance_test.py @@ -7,11 +7,7 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG -from dace.transformation.dataflow import StreamingMemory, MapFusionVertical, StreamingComposition, PruneConnectors from dace.transformation.auto.auto_optimize import auto_optimize -from dace.libraries.standard import Reduce -from dace.libraries.blas import Gemv from dace.autodiff import add_backward_pass # Data set sizes diff --git a/tests/npbench/polybench/deriche_test.py b/tests/npbench/polybench/deriche_test.py index ac40cd14fc..606c22ed90 100644 --- a/tests/npbench/polybench/deriche_test.py +++ b/tests/npbench/polybench/deriche_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/doitgen_test.py b/tests/npbench/polybench/doitgen_test.py index 45da2d635f..a97931e4d0 100644 --- a/tests/npbench/polybench/doitgen_test.py +++ b/tests/npbench/polybench/doitgen_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/durbin_test.py b/tests/npbench/polybench/durbin_test.py index c119dd1361..df0860b5bd 100644 --- a/tests/npbench/polybench/durbin_test.py +++ b/tests/npbench/polybench/durbin_test.py @@ -5,9 +5,7 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize -from dace.config import set_temporary from dace.autodiff import add_backward_pass # Data set sizes diff --git a/tests/npbench/polybench/fdtd_2d_test.py b/tests/npbench/polybench/fdtd_2d_test.py index ff0a9a9913..7012d346e7 100644 --- a/tests/npbench/polybench/fdtd_2d_test.py +++ b/tests/npbench/polybench/fdtd_2d_test.py @@ -5,8 +5,6 @@ import numpy as np import dace as dc import pytest -from dace.transformation.interstate import InlineSDFG -from dace.transformation.dataflow import StreamingMemory, StreamingComposition, MapFusionVertical from dace.transformation.auto.auto_optimize import auto_optimize import argparse from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/floyd_warshall_test.py b/tests/npbench/polybench/floyd_warshall_test.py index 48a8e4485f..d343f4b92f 100644 --- a/tests/npbench/polybench/floyd_warshall_test.py +++ b/tests/npbench/polybench/floyd_warshall_test.py @@ -6,8 +6,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG, StateFusion -from dace.transformation.dataflow import StreamingMemory, MapFusionVertical, StreamingComposition, PruneConnectors from dace.transformation.auto.auto_optimize import auto_optimize # Data set sizes diff --git a/tests/npbench/polybench/gemm_npbench_test.py b/tests/npbench/polybench/gemm_npbench_test.py index 7c078d5e0d..e3722cdac3 100644 --- a/tests/npbench/polybench/gemm_npbench_test.py +++ b/tests/npbench/polybench/gemm_npbench_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/gemver_test.py b/tests/npbench/polybench/gemver_test.py index e49cf0c7d7..1c8ce29e22 100644 --- a/tests/npbench/polybench/gemver_test.py +++ b/tests/npbench/polybench/gemver_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/gesummv_test.py b/tests/npbench/polybench/gesummv_test.py index 62a13ba452..3198dc35ec 100644 --- a/tests/npbench/polybench/gesummv_test.py +++ b/tests/npbench/polybench/gesummv_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/gramschmidt_test.py b/tests/npbench/polybench/gramschmidt_test.py index 79e86b2da3..b94b86ecf7 100644 --- a/tests/npbench/polybench/gramschmidt_test.py +++ b/tests/npbench/polybench/gramschmidt_test.py @@ -5,9 +5,7 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize -from dace.config import set_temporary from dace.autodiff import add_backward_pass # Data set sizes diff --git a/tests/npbench/polybench/heat_3d_test.py b/tests/npbench/polybench/heat_3d_test.py index 84b2d7a11c..fbd7f1306b 100644 --- a/tests/npbench/polybench/heat_3d_test.py +++ b/tests/npbench/polybench/heat_3d_test.py @@ -5,9 +5,7 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize -from dace.config import set_temporary from dace.autodiff import add_backward_pass # Dataset sizes diff --git a/tests/npbench/polybench/jacobi_1d_test.py b/tests/npbench/polybench/jacobi_1d_test.py index ef324c2763..64f87c4693 100644 --- a/tests/npbench/polybench/jacobi_1d_test.py +++ b/tests/npbench/polybench/jacobi_1d_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/jacobi_2d_test.py b/tests/npbench/polybench/jacobi_2d_test.py index 6ad77c4163..05efa43243 100644 --- a/tests/npbench/polybench/jacobi_2d_test.py +++ b/tests/npbench/polybench/jacobi_2d_test.py @@ -5,8 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG -from dace.transformation.dataflow import StreamingMemory, MapFusionVertical from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/k2mm_test.py b/tests/npbench/polybench/k2mm_test.py index 7fedd26df1..78f281a2bd 100644 --- a/tests/npbench/polybench/k2mm_test.py +++ b/tests/npbench/polybench/k2mm_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/k3mm_test.py b/tests/npbench/polybench/k3mm_test.py index c726c3d9c4..25c3e140b3 100644 --- a/tests/npbench/polybench/k3mm_test.py +++ b/tests/npbench/polybench/k3mm_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/lu_test.py b/tests/npbench/polybench/lu_test.py index 6f812d0f25..d5ec2eb1e3 100644 --- a/tests/npbench/polybench/lu_test.py +++ b/tests/npbench/polybench/lu_test.py @@ -6,8 +6,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG -from dace.transformation.dataflow import StreamingMemory, MapFusionVertical, StreamingComposition, PruneConnectors from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/ludcmp_test.py b/tests/npbench/polybench/ludcmp_test.py index 509ab75f98..2795aeb63c 100644 --- a/tests/npbench/polybench/ludcmp_test.py +++ b/tests/npbench/polybench/ludcmp_test.py @@ -6,9 +6,7 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize -from dace.config import set_temporary from dace.autodiff import add_backward_pass # Dataset sizes diff --git a/tests/npbench/polybench/mvt_test.py b/tests/npbench/polybench/mvt_test.py index f3c35dfbd5..4dae81f0f4 100644 --- a/tests/npbench/polybench/mvt_test.py +++ b/tests/npbench/polybench/mvt_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/nussinov_test.py b/tests/npbench/polybench/nussinov_test.py index 6b96fd94ee..1c199cab4c 100644 --- a/tests/npbench/polybench/nussinov_test.py +++ b/tests/npbench/polybench/nussinov_test.py @@ -6,10 +6,7 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG -from dace.transformation.dataflow import StreamingMemory, MapFusionVertical, StreamingComposition, PruneConnectors from dace.transformation.auto.auto_optimize import auto_optimize -from dace.config import set_temporary N = dc.symbol('N', dtype=dc.int32) diff --git a/tests/npbench/polybench/seidel_2d_test.py b/tests/npbench/polybench/seidel_2d_test.py index 0b4b0aeff0..eb714af773 100644 --- a/tests/npbench/polybench/seidel_2d_test.py +++ b/tests/npbench/polybench/seidel_2d_test.py @@ -5,9 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG -from dace.transformation.auto.auto_optimize import auto_optimize -from dace.config import set_temporary from dace.autodiff import add_backward_pass # Dataset sizes @@ -93,7 +90,6 @@ def run_seidel_2d(device_type: dace.dtypes.DeviceType): N, A_ref, ) - print(np.linalg.norm(A - A_ref) / np.linalg.norm(A_ref)) assert np.allclose(A, A_ref) return sdfg diff --git a/tests/npbench/polybench/symm_test.py b/tests/npbench/polybench/symm_test.py index 17a4a5232b..2287359df8 100644 --- a/tests/npbench/polybench/symm_test.py +++ b/tests/npbench/polybench/symm_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/syr2k_test.py b/tests/npbench/polybench/syr2k_test.py index 411cc206e6..6b61bcc69f 100644 --- a/tests/npbench/polybench/syr2k_test.py +++ b/tests/npbench/polybench/syr2k_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/syrk_test.py b/tests/npbench/polybench/syrk_test.py index 33771b37be..359b58de5b 100644 --- a/tests/npbench/polybench/syrk_test.py +++ b/tests/npbench/polybench/syrk_test.py @@ -6,8 +6,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG -from dace.transformation.dataflow import StreamingMemory, MapFusionVertical, StreamingComposition, PruneConnectors from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/trisolv_test.py b/tests/npbench/polybench/trisolv_test.py index af3be43b0a..c91c6242ad 100644 --- a/tests/npbench/polybench/trisolv_test.py +++ b/tests/npbench/polybench/trisolv_test.py @@ -5,7 +5,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/npbench/polybench/trmm_test.py b/tests/npbench/polybench/trmm_test.py index 110591d07e..d3cdbf9263 100644 --- a/tests/npbench/polybench/trmm_test.py +++ b/tests/npbench/polybench/trmm_test.py @@ -6,7 +6,6 @@ import dace as dc import pytest import argparse -from dace.transformation.interstate import InlineSDFG from dace.transformation.auto.auto_optimize import auto_optimize from dace.autodiff import add_backward_pass diff --git a/tests/numpy/attention_simple_test.py b/tests/numpy/attention_simple_test.py index 2ce0205e3f..fb1cd0923f 100644 --- a/tests/numpy/attention_simple_test.py +++ b/tests/numpy/attention_simple_test.py @@ -67,9 +67,7 @@ def attn_fwd( def test_attn_simple(): - print("=== Generating SDFG ===") sdfg = attn_fwd.to_sdfg() - print("=== Compiling ===") sdfg.compile() diff --git a/tests/numpy/attention_test.py b/tests/numpy/attention_test.py index 6b27af480c..4f4d2f12d2 100644 --- a/tests/numpy/attention_test.py +++ b/tests/numpy/attention_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -import numpy as np M = dace.symbol('M') N = dace.symbol('N') @@ -101,9 +100,7 @@ def attn_fwd(q: dace.float32[batchSize, Qsize, seqLenQ], k: dace.float32[batchSi def test_attention(): - print("=== Generating SDFG ===") sdfg = attn_fwd.to_sdfg() - print("=== Compiling ===") sdfg.compile() diff --git a/tests/numpy/augassign_test.py b/tests/numpy/augassign_test.py index 1ddeeaf9a8..932b535e1a 100644 --- a/tests/numpy/augassign_test.py +++ b/tests/numpy/augassign_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -import numpy as np from common import compare_numpy_output diff --git a/tests/numpy/basic_test.py b/tests/numpy/basic_test.py index 85a593dc8d..9b842486d7 100644 --- a/tests/numpy/basic_test.py +++ b/tests/numpy/basic_test.py @@ -57,7 +57,6 @@ def test_gemm(): realC = 1.0 * (A @ B) + 1.0 * origC diff = np.linalg.norm(C - realC) / (M * N) - print('Difference:', diff) assert diff < 1e-5 diff --git a/tests/numpy/binop_test.py b/tests/numpy/binop_test.py index 220d0930db..af1acbd120 100644 --- a/tests/numpy/binop_test.py +++ b/tests/numpy/binop_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace import numpy as np -from copy import deepcopy as dc from common import compare_numpy_output diff --git a/tests/numpy/binop_with_scalars_test.py b/tests/numpy/binop_with_scalars_test.py index 79296ee539..70b3c4afaa 100644 --- a/tests/numpy/binop_with_scalars_test.py +++ b/tests/numpy/binop_with_scalars_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace import numpy as np -import pytest from common import compare_numpy_output ### Left ##################################################################### diff --git a/tests/numpy/constants_test.py b/tests/numpy/constants_test.py index 39b14319b2..0495160fa0 100644 --- a/tests/numpy/constants_test.py +++ b/tests/numpy/constants_test.py @@ -49,7 +49,6 @@ def _perform_test( expected, dtype=np.float64, ): - print(f"PERFORM: {code}") dace_dtype = dace.dtypes.dtype_to_typeclass(dtype) sdfg = _make_sdfg(code=code, dtype=dace_dtype) _test_sdfg(sdfg=sdfg, expected=expected, dtype=dtype) diff --git a/tests/numpy/dTGL_test.py b/tests/numpy/dTGL_test.py index 647b67cfb2..b09d073829 100644 --- a/tests/numpy/dTGL_test.py +++ b/tests/numpy/dTGL_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -import numpy as np # Declaration of symbolic variables N, BS = (dace.symbol(name) for name in ['N', 'BS']) diff --git a/tests/numpy/dace_elementwise_test.py b/tests/numpy/dace_elementwise_test.py index 02f66cb2a1..bf40458f23 100644 --- a/tests/numpy/dace_elementwise_test.py +++ b/tests/numpy/dace_elementwise_test.py @@ -14,7 +14,6 @@ def elementwise(A: dace.float64[5, 3], B: dace.float64[5, 3]): elementwise(A=A.copy(), B=B) diff = np.linalg.norm(np.log(A) - B) - print('Difference:', diff) assert diff < 1e-5 @@ -29,7 +28,6 @@ def elementise_none(A: dace.float64[5, 3], B: dace.float64[5, 3]): elementise_none(A=A.copy(), B=B) diff = np.linalg.norm(np.log(A) - B) - print('Difference:', diff) assert diff < 1e-5 @@ -44,7 +42,6 @@ def elementwise_cast(A: dace.float32[5, 3], B: dace.float64[5, 3]): elementwise_cast(A=A.copy(), B=B) diff = np.linalg.norm(A - B) - print('Difference:', diff) assert diff < 1e-5 diff --git a/tests/numpy/einsum_test.py b/tests/numpy/einsum_test.py index 48e0d47b93..2ada563b11 100644 --- a/tests/numpy/einsum_test.py +++ b/tests/numpy/einsum_test.py @@ -51,11 +51,8 @@ def einsumtest(A: dace.float64[N, N, N, N], B: dace.float64[N, N, N, N], C: dace return np.einsum('bdik,acaj,ikab,ajac,ikbd->', A, B, C, D, E, optimize=True) A, B, C, D, E = tuple(np.random.rand(10, 10, 10, 10) for _ in range(5)) - try: + with pytest.raises(ValueError): einsumtest(A, B, C, D, E) - raise AssertionError('Exception should have been raised') - except ValueError: - print('Exception successfully caught') def test_opteinsum(): diff --git a/tests/numpy/element_assignment_test.py b/tests/numpy/element_assignment_test.py index 1f933cc4f0..dadcc12a46 100644 --- a/tests/numpy/element_assignment_test.py +++ b/tests/numpy/element_assignment_test.py @@ -34,7 +34,6 @@ def test_elementwise(): optest(A, B, C) diff = np.linalg.norm(C - ((-A) * B)) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/numpy/flip_test.py b/tests/numpy/flip_test.py index 46d258e87f..bd3fc62f8d 100644 --- a/tests/numpy/flip_test.py +++ b/tests/numpy/flip_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import numpy as np -from sympy.core.numbers import comp import dace from common import compare_numpy_output diff --git a/tests/numpy/indirection_test.py b/tests/numpy/indirection_test.py index bfea78b954..7267428c14 100644 --- a/tests/numpy/indirection_test.py +++ b/tests/numpy/indirection_test.py @@ -31,8 +31,6 @@ def test_indirection(): npA[x[j]] += npA[x[j - 1]] rel_norm = np.linalg.norm(npA - A) / np.linalg.norm(npA) - - print(rel_norm) assert rel_norm < 1e-12 diff --git a/tests/numpy/inline_scalar_test.py b/tests/numpy/inline_scalar_test.py index 68f990a966..7b5e23976d 100644 --- a/tests/numpy/inline_scalar_test.py +++ b/tests/numpy/inline_scalar_test.py @@ -19,7 +19,6 @@ def test_inline_scalar(): transpose_add(A, B) diff = np.linalg.norm(A.transpose() - B + 1) - print('Difference:', diff) assert diff < 1e-5 diff --git a/tests/numpy/list_globals_test.py b/tests/numpy/list_globals_test.py index 9facde0e67..54f0378b89 100644 --- a/tests/numpy/list_globals_test.py +++ b/tests/numpy/list_globals_test.py @@ -5,7 +5,6 @@ ################## # Lists -from dace.frontend.python.common import DaceSyntaxError global_axes = [0, 2, 1] diff --git a/tests/numpy/map_syntax_test.py b/tests/numpy/map_syntax_test.py index 27a0cfe018..6510a507cd 100644 --- a/tests/numpy/map_syntax_test.py +++ b/tests/numpy/map_syntax_test.py @@ -23,7 +23,6 @@ def test_copy3d(): copy3d(A, B) diff = np.linalg.norm(B - A) / (M * N) - print('Difference:', diff) assert diff < 1e-5 diff --git a/tests/numpy/matmul_delegation_test.py b/tests/numpy/matmul_delegation_test.py index 48e020bf75..86964c4fc1 100644 --- a/tests/numpy/matmul_delegation_test.py +++ b/tests/numpy/matmul_delegation_test.py @@ -30,10 +30,7 @@ def test_matmul_delegation(): reference = ((matrix0 @ matrix1) @ vector0) @ vector1 rel_error = (result - reference) / reference - if rel_error > 1e-5: - raise ValueError("Result mismatch: {} (expected {})".format(result, reference)) - else: - print("Linear algebra multiplication delegation test verified.") + assert rel_error <= 1e-5 def test_matmul_delegation2(): @@ -47,10 +44,7 @@ def test_matmul_delegation2(): reference = vector1 @ (matrix0 @ matrix1) @ vector0 rel_error = (result - reference) / reference - if rel_error > 1e-5: - raise ValueError("Result mismatch: {} (expected {})".format(result, reference)) - else: - print("Linear algebra multiplication delegation test no.2 verified.") + assert rel_error <= 1e-5 if __name__ == '__main__': diff --git a/tests/numpy/matrix_product_transpose_test.py b/tests/numpy/matrix_product_transpose_test.py index 8bde0a173e..b06ce550de 100644 --- a/tests/numpy/matrix_product_transpose_test.py +++ b/tests/numpy/matrix_product_transpose_test.py @@ -18,7 +18,6 @@ def test_mpt(): realC = np.transpose(A) @ np.transpose(B) rel_error = np.linalg.norm(C - realC) / np.linalg.norm(realC) - print('Relative_error:', rel_error) assert rel_error < 1e-5 diff --git a/tests/numpy/nested_subrange_test.py b/tests/numpy/nested_subrange_test.py index 59d2792447..814c545d11 100644 --- a/tests/numpy/nested_subrange_test.py +++ b/tests/numpy/nested_subrange_test.py @@ -48,7 +48,6 @@ def onetest(program): sdfg(A=A, B=B) diff = np.linalg.norm(expected - B) - print('Difference:', diff) assert diff < 1e-5 @@ -66,7 +65,6 @@ def onetest_subrange_of_subrange(program): sdfg(A=A, B=B) diff = np.linalg.norm(expected - B) - print('Difference:', diff) assert diff < 1e-5 diff --git a/tests/numpy/npdot_test.py b/tests/numpy/npdot_test.py index 7fcd1805f3..3ae3d25079 100644 --- a/tests/numpy/npdot_test.py +++ b/tests/numpy/npdot_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace import numpy as np -import pytest from common import compare_numpy_output diff --git a/tests/numpy/range_indirection_test.py b/tests/numpy/range_indirection_test.py index 799060e506..a725a36660 100644 --- a/tests/numpy/range_indirection_test.py +++ b/tests/numpy/range_indirection_test.py @@ -31,8 +31,6 @@ def test(): npA[x[j]] += npA[x[j - 1]] rel_norm = np.linalg.norm(npA - A) / np.linalg.norm(npA) - - print(rel_norm) assert rel_norm < 1e-12 diff --git a/tests/numpy/reductions_test.py b/tests/numpy/reductions_test.py index f90f1f21de..8a5b8e5b55 100644 --- a/tests/numpy/reductions_test.py +++ b/tests/numpy/reductions_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace import numpy as np -from copy import deepcopy as dc from common import compare_numpy_output diff --git a/tests/numpy/rgf_exhaustivetest.py b/tests/numpy/rgf_exhaustivetest.py index b2ffef70b4..ab607922f9 100644 --- a/tests/numpy/rgf_exhaustivetest.py +++ b/tests/numpy/rgf_exhaustivetest.py @@ -155,10 +155,6 @@ def rgf_dense(HD: dace.complex128[N, BS, BS], HE: dace.complex128[N, BS, BS], HF if __name__ == '__main__': - - print("=== Generating SDFG ===") sdfg = rgf_dense.to_sdfg(simplify=False) - print("=== Applying simplification pass ===") sdfg.simplify() - print("=== Compiling ===") sdfg.compile() diff --git a/tests/numpy/rot90_test.py b/tests/numpy/rot90_test.py index 8a60460c43..c998edc19b 100644 --- a/tests/numpy/rot90_test.py +++ b/tests/numpy/rot90_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import numpy as np -from sympy.core.numbers import comp import dace from common import compare_numpy_output diff --git a/tests/numpy/scalar_array_op_test.py b/tests/numpy/scalar_array_op_test.py index f3f4aac5c3..5f0ec6abb3 100644 --- a/tests/numpy/scalar_array_op_test.py +++ b/tests/numpy/scalar_array_op_test.py @@ -19,7 +19,6 @@ def test(): saoptest(A, 10, B) diff = np.linalg.norm(B - (50 * A)) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/numpy/sequential_conditionals_test.py b/tests/numpy/sequential_conditionals_test.py index 7a50bbe9de..678271bf91 100644 --- a/tests/numpy/sequential_conditionals_test.py +++ b/tests/numpy/sequential_conditionals_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -import numpy as np # Declaration of symbolic variables N, BS = (dace.symbol(name) for name in ['N', 'BS']) diff --git a/tests/numpy/slice_test.py b/tests/numpy/slice_test.py index 1659121b7a..3cb5b89f70 100644 --- a/tests/numpy/slice_test.py +++ b/tests/numpy/slice_test.py @@ -23,7 +23,6 @@ def test(): slicetest(A, B, C) diff = np.linalg.norm(C - (A[1:N] * B[:, 0:N - 1])) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/numpy/sse_test.py b/tests/numpy/sse_test.py index 280b190d53..ac2e459e69 100644 --- a/tests/numpy/sse_test.py +++ b/tests/numpy/sse_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -import numpy as np # Declaration of symbolic variables Nkz, NE, Nqz, Nw, N3D, NA, NB, Norb = (dace.symbol(name) diff --git a/tests/numpy/transient_test.py b/tests/numpy/transient_test.py index 37b68ade1f..a050033802 100644 --- a/tests/numpy/transient_test.py +++ b/tests/numpy/transient_test.py @@ -32,7 +32,6 @@ def test(): ttest(A, B) diff = np.linalg.norm(B - realB) / (M * K * N) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/numpy/transpose_test.py b/tests/numpy/transpose_test.py index 160728aca6..171b1b9465 100644 --- a/tests/numpy/transpose_test.py +++ b/tests/numpy/transpose_test.py @@ -44,7 +44,6 @@ def test_transpose(): realB = np.transpose(A) rel_error = np.linalg.norm(B - realB) / np.linalg.norm(realB) - print('Relative_error:', rel_error) assert rel_error <= 1e-5 diff --git a/tests/numpy/ufunc_nested_call_test.py b/tests/numpy/ufunc_nested_call_test.py index 2710071563..b85709d25b 100644 --- a/tests/numpy/ufunc_nested_call_test.py +++ b/tests/numpy/ufunc_nested_call_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace import numpy as np -import pytest from common import compare_numpy_output diff --git a/tests/numpy/ufunc_replicated_input.py b/tests/numpy/ufunc_replicated_input.py index 276e751066..c3a9194787 100644 --- a/tests/numpy/ufunc_replicated_input.py +++ b/tests/numpy/ufunc_replicated_input.py @@ -1,8 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -import math import numpy as np -import pytest from common import compare_numpy_output diff --git a/tests/numpy/ufunc_test.py b/tests/numpy/ufunc_test.py index aeb4e9ca3f..5e80d6ddac 100644 --- a/tests/numpy/ufunc_test.py +++ b/tests/numpy/ufunc_test.py @@ -1,8 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -import math import numpy as np -import pytest from common import compare_numpy_output diff --git a/tests/numpy_bool_input_test.py b/tests/numpy_bool_input_test.py index 8140512d28..047e17d32c 100644 --- a/tests/numpy_bool_input_test.py +++ b/tests/numpy_bool_input_test.py @@ -1,5 +1,3 @@ -import numpy as np - import dace diff --git a/tests/octave/octave_test.py b/tests/octave/octave_test.py index b39301725d..56f4acfbad 100644 --- a/tests/octave/octave_test.py +++ b/tests/octave/octave_test.py @@ -1,4 +1,3 @@ -import dace from dace.cli import dacelab import os import pytest diff --git a/tests/onnx/pure_expansions/test_conv_expansion.py b/tests/onnx/pure_expansions/test_conv_expansion.py index 8ca3616b29..1b38beed93 100644 --- a/tests/onnx/pure_expansions/test_conv_expansion.py +++ b/tests/onnx/pure_expansions/test_conv_expansion.py @@ -50,7 +50,6 @@ def conv(X_: dace.float32[tuple(X.shape)], W_: dace.float32[tuple(W.shape)], else: sdfg(X_=X, W_=W, Z_=dace_Z) - print(torch_Z - dace_Z) assert np.allclose(torch_Z, dace_Z) diff --git a/tests/parallel_sections_test.py b/tests/parallel_sections_test.py index 99ebb316e0..1bce9c7c0b 100644 --- a/tests/parallel_sections_test.py +++ b/tests/parallel_sections_test.py @@ -99,8 +99,7 @@ def test(): for i, val in enumerate(array_out): if val != 2 * i: - print(i, val) - raise ValueError + raise ValueError(f"Failed for i={i} and val={val}.") if __name__ == '__main__': diff --git a/tests/passes/access_ranges_test.py b/tests/passes/access_ranges_test.py index 3bab2e9ab0..220299e9b5 100644 --- a/tests/passes/access_ranges_test.py +++ b/tests/passes/access_ranges_test.py @@ -2,7 +2,6 @@ """ Tests the AccessRanges analysis pass. """ import dace from dace.transformation.passes.analysis import AccessRanges -import numpy as np N = dace.symbol('N') diff --git a/tests/passes/array_elimination_test.py b/tests/passes/array_elimination_test.py index f20428fda3..1b04a4754a 100644 --- a/tests/passes/array_elimination_test.py +++ b/tests/passes/array_elimination_test.py @@ -1,7 +1,5 @@ # Copyright 2019-2022 ETH Zurich and the DaCe authors. All rights reserved. -import pytest - import dace from dace.sdfg import utils as sdutil from dace.transformation.pass_pipeline import Pipeline diff --git a/tests/passes/empty_loop_elimination_test.py b/tests/passes/empty_loop_elimination_test.py index 2a3c3be5f6..881dabe076 100644 --- a/tests/passes/empty_loop_elimination_test.py +++ b/tests/passes/empty_loop_elimination_test.py @@ -1,6 +1,4 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. -import numpy as np -import pytest import dace from dace.transformation.passes.empty_loop_elimination import EmptyLoopElimination from dace.sdfg.state import LoopRegion diff --git a/tests/passes/scalar_to_symbol_test.py b/tests/passes/scalar_to_symbol_test.py index 1565bb729c..8807fe330d 100644 --- a/tests/passes/scalar_to_symbol_test.py +++ b/tests/passes/scalar_to_symbol_test.py @@ -3,10 +3,8 @@ import dace from dace.sdfg.state import ConditionalBlock, LoopRegion from dace.transformation.passes import scalar_to_symbol -from dace.transformation import transformation as xf, interstate as isxf -from dace.transformation.interstate import loop_detection as ld +from dace.transformation import interstate as isxf -import collections from sympy import core as sympy_core import numpy as np import pytest diff --git a/tests/passes/simplification/continue_to_condition_test.py b/tests/passes/simplification/continue_to_condition_test.py index a2bfc32c94..2062715b4a 100644 --- a/tests/passes/simplification/continue_to_condition_test.py +++ b/tests/passes/simplification/continue_to_condition_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. import numpy as np -import pytest import dace from dace import nodes from dace.transformation.passes.simplification.continue_to_condition import ContinueToCondition diff --git a/tests/passes/split_tasklets_test.py b/tests/passes/split_tasklets_test.py index 922018de97..78a0a475e8 100644 --- a/tests/passes/split_tasklets_test.py +++ b/tests/passes/split_tasklets_test.py @@ -2,7 +2,6 @@ import typing import dace import re -import dace.sdfg.utils as sdutil import copy from dace.transformation.passes.split_tasklets import SplitTasklets import numpy diff --git a/tests/passes/symbol_propagation_test.py b/tests/passes/symbol_propagation_test.py index 554cea81bc..e085b20ae5 100644 --- a/tests/passes/symbol_propagation_test.py +++ b/tests/passes/symbol_propagation_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. import numpy as np -import pytest import dace from dace.sdfg import nodes diff --git a/tests/passes/symbol_ssa_test.py b/tests/passes/symbol_ssa_test.py index 5b0c7bd175..fa5b1c0c42 100644 --- a/tests/passes/symbol_ssa_test.py +++ b/tests/passes/symbol_ssa_test.py @@ -1,12 +1,9 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. """ Tests the symbol write scopes analysis pass. """ -import pytest - import dace from dace.transformation.pass_pipeline import FixedPointPipeline from dace.transformation.passes.symbol_ssa import StrictSymbolSSA -from dace.transformation.passes.analysis import SymbolScopeDict def test_loop_iter_symbol_reused_split(): diff --git a/tests/persistent_fusion_cudatest.py b/tests/persistent_fusion_cudatest.py index a965f325ff..f0ee7672ff 100644 --- a/tests/persistent_fusion_cudatest.py +++ b/tests/persistent_fusion_cudatest.py @@ -320,8 +320,6 @@ def test_persistent_fusion(): reference = nx.shortest_path(graph, source=srcnode) reference = np.array([len(reference[v]) - 1 if v in reference else np.iinfo(vtype).max for v in range(V)]) - print('Breadth-First Search (E = {}, V = {})'.format(E, V)) - # Allocate output arrays depth = np.ndarray([V], vtype) diff --git a/tests/persistent_tb_map_cudatest.py b/tests/persistent_tb_map_cudatest.py index 6522f6d2b3..435e233c3d 100644 --- a/tests/persistent_tb_map_cudatest.py +++ b/tests/persistent_tb_map_cudatest.py @@ -40,8 +40,6 @@ def test_persistent_thread_block(): N = 1050 - print('Dot product (N = {})'.format(N)) - A = np.random.rand(N).astype(np.float32) B = np.random.rand(N).astype(np.float32) out_AB = np.zeros(1, dtype=np.float64) @@ -52,7 +50,6 @@ def test_persistent_thread_block(): sdfg(A=A, B=A, out=out_AA, N=N) assert (np.allclose(out_AB, np.dot(A, B)) and np.allclose(out_AA, np.dot(A, A))), "Result doesn't match!" - print("Complete.") if __name__ == "__main__": diff --git a/tests/polybench/2mm.py b/tests/polybench/2mm.py index b9c7b81144..50cb960f11 100644 --- a/tests/polybench/2mm.py +++ b/tests/polybench/2mm.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace try: import polybench diff --git a/tests/polybench/3mm.py b/tests/polybench/3mm.py index e1e8c570f5..58073e22ca 100644 --- a/tests/polybench/3mm.py +++ b/tests/polybench/3mm.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace try: diff --git a/tests/polybench/atax.py b/tests/polybench/atax.py index a1e416360b..74ce2e80fa 100644 --- a/tests/polybench/atax.py +++ b/tests/polybench/atax.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench diff --git a/tests/polybench/bicg.py b/tests/polybench/bicg.py index 325cd25db2..463c3ddb04 100644 --- a/tests/polybench/bicg.py +++ b/tests/polybench/bicg.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench diff --git a/tests/polybench/doitgen.py b/tests/polybench/doitgen.py index 3c8bbf6a28..c7597b54ef 100644 --- a/tests/polybench/doitgen.py +++ b/tests/polybench/doitgen.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench diff --git a/tests/polybench/durbin.py b/tests/polybench/durbin.py index 8230dcfcc9..d0810bd090 100644 --- a/tests/polybench/durbin.py +++ b/tests/polybench/durbin.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench diff --git a/tests/polybench/floyd-warshall.py b/tests/polybench/floyd-warshall.py index a4546f0f3a..3cedb193e0 100644 --- a/tests/polybench/floyd-warshall.py +++ b/tests/polybench/floyd-warshall.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace try: import polybench diff --git a/tests/polybench/gemm.py b/tests/polybench/gemm.py index 3c0e2231fd..e274201df2 100644 --- a/tests/polybench/gemm.py +++ b/tests/polybench/gemm.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace try: import polybench diff --git a/tests/polybench/gemver.py b/tests/polybench/gemver.py index 591f08b1d7..998229a5a5 100644 --- a/tests/polybench/gemver.py +++ b/tests/polybench/gemver.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench diff --git a/tests/polybench/gesummv.py b/tests/polybench/gesummv.py index 13ea808360..245549daa1 100644 --- a/tests/polybench/gesummv.py +++ b/tests/polybench/gesummv.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench diff --git a/tests/polybench/gramschmidt.py b/tests/polybench/gramschmidt.py index ef293af361..f34d170adb 100644 --- a/tests/polybench/gramschmidt.py +++ b/tests/polybench/gramschmidt.py @@ -1,6 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import math -import numpy as np import dace import polybench diff --git a/tests/polybench/jacobi-1d.py b/tests/polybench/jacobi-1d.py index fac73173f2..8e65056d4d 100644 --- a/tests/polybench/jacobi-1d.py +++ b/tests/polybench/jacobi-1d.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace import polybench -from absl import app, flags N = dace.symbol('N') tsteps = dace.symbol('tsteps') diff --git a/tests/polybench/lu.py b/tests/polybench/lu.py index 7696c08b56..4f3996e045 100644 --- a/tests/polybench/lu.py +++ b/tests/polybench/lu.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import numpy as np import dace import polybench diff --git a/tests/polybench/ludcmp.py b/tests/polybench/ludcmp.py index 651f903480..455a2eb135 100644 --- a/tests/polybench/ludcmp.py +++ b/tests/polybench/ludcmp.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench import numpy as np diff --git a/tests/polybench/mvt.py b/tests/polybench/mvt.py index 01f8ee5e22..c160b18808 100644 --- a/tests/polybench/mvt.py +++ b/tests/polybench/mvt.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench diff --git a/tests/polybench/nussinov.py b/tests/polybench/nussinov.py index 2a8d2c416a..2b82d52dbf 100644 --- a/tests/polybench/nussinov.py +++ b/tests/polybench/nussinov.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench diff --git a/tests/polybench/seidel-2d.py b/tests/polybench/seidel-2d.py index 1b14e9fe32..3c785389c9 100644 --- a/tests/polybench/seidel-2d.py +++ b/tests/polybench/seidel-2d.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace import polybench -from absl import app, flags N = dace.symbol('N') tsteps = dace.symbol('tsteps') diff --git a/tests/polybench/symm.py b/tests/polybench/symm.py index 6c2a914c90..29385d37d7 100644 --- a/tests/polybench/symm.py +++ b/tests/polybench/symm.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench diff --git a/tests/polybench/syr2k.py b/tests/polybench/syr2k.py index 0a1e749518..1571801635 100644 --- a/tests/polybench/syr2k.py +++ b/tests/polybench/syr2k.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench diff --git a/tests/polybench/syrk.py b/tests/polybench/syrk.py index 26d28ba85e..03dee32f68 100644 --- a/tests/polybench/syrk.py +++ b/tests/polybench/syrk.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench diff --git a/tests/polybench/trisolv.py b/tests/polybench/trisolv.py index 007112cd16..931a2598e6 100644 --- a/tests/polybench/trisolv.py +++ b/tests/polybench/trisolv.py @@ -1,8 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench -import numpy as np N = dace.symbol('N') diff --git a/tests/polybench/trmm.py b/tests/polybench/trmm.py index 7599668c3f..9aec061bb5 100644 --- a/tests/polybench/trmm.py +++ b/tests/polybench/trmm.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import dace import polybench diff --git a/tests/properties_test.py b/tests/properties_test.py index 124a557307..e987575dd8 100644 --- a/tests/properties_test.py +++ b/tests/properties_test.py @@ -4,7 +4,6 @@ import unittest import sympy as sp import dace -from collections import OrderedDict class PropertyTests(unittest.TestCase): diff --git a/tests/python_frontend/augassign_wcr_test.py b/tests/python_frontend/augassign_wcr_test.py index 1931d18577..a91277d7fe 100644 --- a/tests/python_frontend/augassign_wcr_test.py +++ b/tests/python_frontend/augassign_wcr_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace import numpy as np -import pytest @dace.program diff --git a/tests/python_frontend/binop_replacements_test.py b/tests/python_frontend/binop_replacements_test.py index 40f5c6c16c..ab42c8f5d0 100644 --- a/tests/python_frontend/binop_replacements_test.py +++ b/tests/python_frontend/binop_replacements_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace import numpy as np -import pytest N = dace.symbol('N') M = dace.symbol('M') diff --git a/tests/python_frontend/callback_autodetect_test.py b/tests/python_frontend/callback_autodetect_test.py index ee2ce7af21..c51909a7c0 100644 --- a/tests/python_frontend/callback_autodetect_test.py +++ b/tests/python_frontend/callback_autodetect_test.py @@ -153,7 +153,6 @@ def test_callback_from_module(): with pytest.warns(match="Automatically creating callback"): modcallback(A, B) diff = np.linalg.norm(B - np.median(A, axis=1)) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/python_frontend/callee_autodetect_test.py b/tests/python_frontend/callee_autodetect_test.py index da1cc95f13..ab94c42892 100644 --- a/tests/python_frontend/callee_autodetect_test.py +++ b/tests/python_frontend/callee_autodetect_test.py @@ -211,7 +211,6 @@ def test_error_handling(): class NotConvertible(SDFGConvertible): def __call__(self, a): - import numpy as np print('A very pythonic method', a) def __sdfg__(self, *args, **kwargs): @@ -251,7 +250,6 @@ class MaybeConvertible: @not_convertible def __call__(self, a): - import numpy as np print('A very pythonic method', a) A = np.random.rand(20) diff --git a/tests/python_frontend/device_annotations_test.py b/tests/python_frontend/device_annotations_test.py index 505591d9f4..21d636f338 100644 --- a/tests/python_frontend/device_annotations_test.py +++ b/tests/python_frontend/device_annotations_test.py @@ -3,7 +3,7 @@ import pytest import numpy as np -from dace.dtypes import StorageType, DeviceType, ScheduleType +from dace.dtypes import StorageType, ScheduleType from dace import dtypes try: diff --git a/tests/python_frontend/fields_and_global_arrays_test.py b/tests/python_frontend/fields_and_global_arrays_test.py index 628c478bc0..7f4b9e1ba6 100644 --- a/tests/python_frontend/fields_and_global_arrays_test.py +++ b/tests/python_frontend/fields_and_global_arrays_test.py @@ -6,7 +6,6 @@ import numpy as np from dataclasses import dataclass import pytest -import time from types import SimpleNamespace diff --git a/tests/python_frontend/identifiers_and_keywords_test.py b/tests/python_frontend/identifiers_and_keywords_test.py index b3ef2f875e..3013bd684b 100644 --- a/tests/python_frontend/identifiers_and_keywords_test.py +++ b/tests/python_frontend/identifiers_and_keywords_test.py @@ -71,7 +71,6 @@ def test_keyword_and(): @dace.program def keyword_assert(A: dace.float32[N], B: dace.float32[N], C: dace.bool, D: dace.bool): with C as A: - from dace import symbolic a = 5 del a assert (C == True) diff --git a/tests/python_frontend/indirection_in_map_test.py b/tests/python_frontend/indirection_in_map_test.py index 0377101cd1..cfa86ce944 100644 --- a/tests/python_frontend/indirection_in_map_test.py +++ b/tests/python_frontend/indirection_in_map_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. import dace import numpy as np -import scipy as sp import scipy.sparse as sparse M = dace.symbol('M') diff --git a/tests/python_frontend/type_statement_test.py b/tests/python_frontend/type_statement_test.py index 583b50f4eb..7f345453ed 100644 --- a/tests/python_frontend/type_statement_test.py +++ b/tests/python_frontend/type_statement_test.py @@ -1,6 +1,4 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. -import dace -import pytest # TODO: Investigate why pytest parses the DaCeProgram, even when the test is not supposed to run. # @pytest.mark.py312 diff --git a/tests/range_add_test.py b/tests/range_add_test.py index 51037b9306..f266cfe1f0 100644 --- a/tests/range_add_test.py +++ b/tests/range_add_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. -import dace from dace.subsets import Range import pytest diff --git a/tests/read_after_write_test.py b/tests/read_after_write_test.py index 563ec34587..792c931333 100644 --- a/tests/read_after_write_test.py +++ b/tests/read_after_write_test.py @@ -40,7 +40,6 @@ def test(): raw_prog(A, B, W=W) diff = np.linalg.norm(4 * A - B) / W - print("Difference:", diff) assert diff <= 1e-5 diff --git a/tests/reduce_strided_disabledtest.py b/tests/reduce_strided_disabledtest.py index 6a6f1a24e0..635b466874 100644 --- a/tests/reduce_strided_disabledtest.py +++ b/tests/reduce_strided_disabledtest.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import copy import dace import dace.sdfg.nodes import numpy as np diff --git a/tests/reloadable_lib_test.py b/tests/reloadable_lib_test.py index f4191ab231..681014efc0 100644 --- a/tests/reloadable_lib_test.py +++ b/tests/reloadable_lib_test.py @@ -19,8 +19,6 @@ def tasklet(i): def test(): - print('Reloadable DaCe program test') - array_one = np.random.rand(10).astype(np.float64) array_two = np.random.rand(20).astype(np.float64) output_one = np.zeros(10, dtype=np.float64) @@ -34,7 +32,6 @@ def test(): diff1 = np.linalg.norm(2.0 * array_one - output_one) / 10.0 diff2 = np.linalg.norm(4.0 * array_two - output_two) / 20.0 - print("Differences:", diff1, diff2) assert diff1 <= 1e-5 and diff2 <= 1e-5 diff --git a/tests/reshape_test.py b/tests/reshape_test.py index eff6ef27a4..959134be8d 100644 --- a/tests/reshape_test.py +++ b/tests/reshape_test.py @@ -3,9 +3,7 @@ import dace from dace.sdfg import propagation as prop -from dace import nodes import dace.library -from dace.transformation import transformation as xf def test_unsqueeze(): diff --git a/tests/sdfg/cutout_test.py b/tests/sdfg/cutout_test.py index 99009ba82d..7db0559561 100644 --- a/tests/sdfg/cutout_test.py +++ b/tests/sdfg/cutout_test.py @@ -1,8 +1,7 @@ # Copyright 2019-2022 ETH Zurich and the DaCe authors. All rights reserved. import numpy as np import dace -from dace.sdfg.analysis.cutout import SDFGCutout, _reduce_in_configuration -import pytest +from dace.sdfg.analysis.cutout import SDFGCutout def test_cutout_onenode(): diff --git a/tests/sdfg/data/container_array_test.py b/tests/sdfg/data/container_array_test.py index 2773b5fec5..dbaa826d72 100644 --- a/tests/sdfg/data/container_array_test.py +++ b/tests/sdfg/data/container_array_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. import ctypes -import pytest import dace import numpy as np diff --git a/tests/sdfg/data/structure_test.py b/tests/sdfg/data/structure_test.py index caf32dfcfb..3ea4881de2 100644 --- a/tests/sdfg/data/structure_test.py +++ b/tests/sdfg/data/structure_test.py @@ -1,10 +1,7 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. import dace import numpy as np -import pytest -from dace import serialize -from dace.properties import make_properties from scipy import sparse diff --git a/tests/sdfg/data/tensor_test.py b/tests/sdfg/data/tensor_test.py index 7ceda5557f..2dfbb8fb6e 100644 --- a/tests/sdfg/data/tensor_test.py +++ b/tests/sdfg/data/tensor_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. import dace import numpy as np -import pytest from scipy import sparse diff --git a/tests/sdfg/memlet_utils_test.py b/tests/sdfg/memlet_utils_test.py index 3c85d72f21..3bdd3c0217 100644 --- a/tests/sdfg/memlet_utils_test.py +++ b/tests/sdfg/memlet_utils_test.py @@ -3,7 +3,6 @@ import dace import numpy as np import pytest -from dace import symbolic from dace.sdfg import memlet_utils as mu import re from typing import Tuple, Optional diff --git a/tests/sdfg/multiple_connector_test.py b/tests/sdfg/multiple_connector_test.py index 501be355a2..dca842522f 100644 --- a/tests/sdfg/multiple_connector_test.py +++ b/tests/sdfg/multiple_connector_test.py @@ -1,5 +1,6 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. import dace +import pytest from dace.sdfg import InvalidSDFGError @@ -13,11 +14,8 @@ def test_multiple_in_connectors(): state.add_edge(a, None, tasklet, 'a', dace.Memlet('A[0]')) state.add_edge(b, None, tasklet, 'a', dace.Memlet('A[0]')) - try: + with pytest.raises(InvalidSDFGError): sdfg.validate() - raise AssertionError('SDFG validates successfully, test failed!') - except InvalidSDFGError as ex: - print('Exception caught, test passed') def test_multiple_out_connectors(): @@ -30,11 +28,8 @@ def test_multiple_out_connectors(): state.add_edge(tasklet, 'a', a, None, dace.Memlet('A[0]')) state.add_edge(tasklet, 'a', b, None, dace.Memlet('A[0]')) - try: + with pytest.raises(InvalidSDFGError): sdfg.validate() - raise AssertionError('SDFG validates successfully, test failed!') - except InvalidSDFGError: - print('Exception caught, test passed') if __name__ == '__main__': diff --git a/tests/sdfg/nested_sdfg_deepcopy_test.py b/tests/sdfg/nested_sdfg_deepcopy_test.py index 3dbdcba2fd..4c59fbb7f6 100644 --- a/tests/sdfg/nested_sdfg_deepcopy_test.py +++ b/tests/sdfg/nested_sdfg_deepcopy_test.py @@ -2,7 +2,6 @@ """ Tests deepcopying (nested) SDFGs. """ import copy import dace -import numpy as np def test_deepcopy_same_state(): diff --git a/tests/sdfg/scalar_return.py b/tests/sdfg/scalar_return.py index 3a4f325291..aba6151ae9 100644 --- a/tests/sdfg/scalar_return.py +++ b/tests/sdfg/scalar_return.py @@ -2,7 +2,6 @@ import dace import numpy as np import pytest -from typing import Tuple from dace.sdfg.validation import InvalidSDFGError diff --git a/tests/sdfg/schedule_inference_test.py b/tests/sdfg/schedule_inference_test.py index 8f4fcd6acb..f40d3a9acc 100644 --- a/tests/sdfg/schedule_inference_test.py +++ b/tests/sdfg/schedule_inference_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. """ Tests for default storage/schedule inference. """ import dace -from dace.sdfg.state import SDFGState from dace.sdfg.validation import InvalidSDFGNodeError from dace.sdfg.infer_types import set_default_schedule_and_storage_types from dace.transformation.helpers import get_parent_map diff --git a/tests/struct_reduce_sdfg_test.py b/tests/struct_reduce_sdfg_test.py index dfcb0fd5da..fb00854ea9 100644 --- a/tests/struct_reduce_sdfg_test.py +++ b/tests/struct_reduce_sdfg_test.py @@ -23,7 +23,6 @@ def test(): expected = (5.0, 7.0, 9.0) diff = tuple(abs(x - y) for x, y in zip(inout[0], expected)) - print('Difference:', diff) assert all(d <= 1e-5 for d in diff) diff --git a/tests/struct_reduce_test.py b/tests/struct_reduce_test.py index 2407978a3e..86734f99b0 100644 --- a/tests/struct_reduce_test.py +++ b/tests/struct_reduce_test.py @@ -22,7 +22,6 @@ def test(): expected = (5.0, 7.0, 9.0) diff = tuple(abs(x - y) for x, y in zip(inout[0], expected)) - print('Difference:', diff) assert all(d <= 1e-5 for d in diff) diff --git a/tests/struct_test.py b/tests/struct_test.py index 245dbc14a1..6d4bed3bd1 100644 --- a/tests/struct_test.py +++ b/tests/struct_test.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import ctypes import dace import numpy as np @@ -66,7 +65,6 @@ def test(): for i in range(5): diff += np.linalg.norm(out_data[i] - refdata[i]) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/subset_covers_precise_test.py b/tests/subset_covers_precise_test.py index 6cdae75d17..154d756787 100644 --- a/tests/subset_covers_precise_test.py +++ b/tests/subset_covers_precise_test.py @@ -1,8 +1,5 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. -import pytest - -import dace from dace.config import Config from dace.subsets import Indices, Range diff --git a/tests/symbol_type_test.py b/tests/symbol_type_test.py index 7bfb992534..54e4aba0b5 100644 --- a/tests/symbol_type_test.py +++ b/tests/symbol_type_test.py @@ -31,7 +31,6 @@ def test_nested_symbol_type(): res = np.zeros(1, dtype=np.float32) compiledSDFG(data=res, s=np.float32(1.5)) - print("res:", res[0]) assert res[0] == np.float32(1.5) diff --git a/tests/tensorflow/callback_test.py b/tests/tensorflow/callback_test.py index 01b706e765..d587786ee4 100644 --- a/tests/tensorflow/callback_test.py +++ b/tests/tensorflow/callback_test.py @@ -29,14 +29,11 @@ def test_callback(): for test in tests: output_tf = sess_tf.run(test) output_dace = sess_dace.run(test) - print(output_dace) - print(output_tf) assert np.linalg.norm(output_dace - output_tf) < 1e-8 if __name__ == '__main__': try: - import tensorflow test_callback() except ImportError: pass diff --git a/tests/tensorflow/compile_test.py b/tests/tensorflow/compile_test.py index 1fd00d32ed..52e6ba39e4 100644 --- a/tests/tensorflow/compile_test.py +++ b/tests/tensorflow/compile_test.py @@ -8,8 +8,6 @@ def test_compile(): import tensorflow as tf from dace.frontend.ml.tensorflow import TFSession - print('DaCe Tensorflow frontend compile API test') - A = np.random.rand(16, 16).astype(np.float32) B = np.random.rand(16, 16).astype(np.float32) @@ -23,14 +21,11 @@ def test_compile(): C = func(feed_dict={A_tf: A, B_tf: B}) diff = np.linalg.norm(C - (A @ B)) / (16 * 16) - print("Difference:", diff) - print("==== Program end ====") assert diff <= 1e-5 if __name__ == '__main__': try: - import tensorflow test_compile() except ImportError: pass diff --git a/tests/tensorflow/conv_test.py b/tests/tensorflow/conv_test.py index 41a6e384d7..eaaf3a5e0d 100644 --- a/tests/tensorflow/conv_test.py +++ b/tests/tensorflow/conv_test.py @@ -102,7 +102,6 @@ def test_conv(): if __name__ == '__main__': try: - import tensorflow test_conv() except ImportError: pass diff --git a/tests/tensorflow/fbn_test.py b/tests/tensorflow/fbn_test.py index fcc5f56fde..09e4de2450 100644 --- a/tests/tensorflow/fbn_test.py +++ b/tests/tensorflow/fbn_test.py @@ -111,7 +111,6 @@ def test_fused_batch_norm(): if __name__ == '__main__': try: - import tensorflow test_fused_batch_norm() except ImportError: pass diff --git a/tests/tensorflow/ops_test.py b/tests/tensorflow/ops_test.py index a34e882967..eefd0a4179 100644 --- a/tests/tensorflow/ops_test.py +++ b/tests/tensorflow/ops_test.py @@ -52,8 +52,6 @@ def test_mean(): print(tf.norm(output_dace - output_tf).eval(session=sess_tf)) raise AssertionError("mean test {i} failed".format(i=index)) - print("mean tests passed!") - @pytest.mark.tensorflow def test_addn(): @@ -75,7 +73,6 @@ def test_addn(): print(output_tf) print(tf.norm(output_dace - output_tf).eval(session=sess_tf)) raise AssertionError("AddN test failed") - print("AddN test passed!") @pytest.mark.tensorflow @@ -105,7 +102,6 @@ def test_slice(): if __name__ == '__main__': try: - import tensorflow test_shapen() test_mean() test_addn() diff --git a/tests/tensorflow/pool_test.py b/tests/tensorflow/pool_test.py index b30b5f01fb..e016642e63 100644 --- a/tests/tensorflow/pool_test.py +++ b/tests/tensorflow/pool_test.py @@ -29,7 +29,6 @@ def test_pooling(): print(tf_output.shape) print(tf.norm(dace_output - tf_output).eval(session=sess_tf)) raise AssertionError("max pool test failed") - print("Max pool test passed") # AVG pool test tf_output = sess_tf.run(avg_pool_outp, feed_dict={input_placeholder: input_tensor}) @@ -41,7 +40,6 @@ def test_pooling(): print(tf_output.shape) print(tf.norm(dace_output - tf_output).eval(session=sess_tf)) raise AssertionError("avg pool test failed") - print("Average pool test passed") # AVG pool gradient test np.random.seed(0) @@ -88,7 +86,6 @@ def test_pooling(): if __name__ == '__main__': try: - import tensorflow test_pooling() except ImportError: pass diff --git a/tests/tensorflow/simple_test.py b/tests/tensorflow/simple_test.py index 31abdb8513..20665f3db7 100644 --- a/tests/tensorflow/simple_test.py +++ b/tests/tensorflow/simple_test.py @@ -7,7 +7,6 @@ def test_simple(): import tensorflow as tf from dace.frontend.ml.tensorflow import TFSession - print('DaCe Tensorflow frontend test') A = np.random.rand(16, 16).astype(np.float32) B = np.random.rand(16, 16).astype(np.float32) @@ -20,14 +19,11 @@ def test_simple(): C = sess.run(A_tf @ B_tf, feed_dict={A_tf: A, B_tf: B}) diff = np.linalg.norm(C - (A @ B)) / (16 * 16) - print("Difference:", diff) - print("==== Program end ====") assert diff <= 1e-5 if __name__ == '__main__': try: - import tensorflow test_simple() except ImportError: pass diff --git a/tests/threadlocal_test.py b/tests/threadlocal_test.py index 1a61b60f22..54ed13c66a 100644 --- a/tests/threadlocal_test.py +++ b/tests/threadlocal_test.py @@ -31,7 +31,6 @@ def test_threadlocal(): sdfg(A=A) assert np.all(A >= 0) - print('OK. Detected threads:', np.max(A) + 1) if __name__ == '__main__': diff --git a/tests/tile_test.py b/tests/tile_test.py index d1a3a46b95..25ca9d6999 100644 --- a/tests/tile_test.py +++ b/tests/tile_test.py @@ -1,7 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import argparse import dace -import math import numpy as np W = dace.symbol('W') @@ -28,8 +26,6 @@ def test(): TW = 16 TH = 16 - print('Transpose (Tiled) %dx%d (tile size: %dx%d)' % (W, H, TW, TH)) - A = dace.ndarray([H, W], dtype=dace.float32) B = dace.ndarray([H, W], dtype=dace.float32) A[:] = np.random.rand(H, W).astype(dace.float32.type) @@ -38,7 +34,6 @@ def test(): transpose_tiled(A, B, TW=TW, TH=TH) diff = np.linalg.norm(np.transpose(A) - B) / (H * W) - print("Difference:", diff) assert diff <= 1e-5 diff --git a/tests/tile_twice_test.py b/tests/tile_twice_test.py index 5dd3cb7d86..867422cc8b 100644 --- a/tests/tile_twice_test.py +++ b/tests/tile_twice_test.py @@ -25,7 +25,6 @@ def test(): sdfg(a=A) diff = np.linalg.norm(A - expected) - print('Difference:', diff) assert diff <= 1e-8 diff --git a/tests/tiling_test.py b/tests/tiling_test.py index fd14a15a63..eacd1de4ad 100644 --- a/tests/tiling_test.py +++ b/tests/tiling_test.py @@ -1,8 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import argparse import dace from dace.transformation.dataflow import MapTiling -from dace.transformation.optimizer import SDFGOptimizer import numpy as np from scipy import ndimage @@ -69,8 +67,6 @@ def test(): H = 1024 MAXITER = 30 - print('Jacobi 5-point Stencil %dx%d (%d steps)' % (W, H, MAXITER)) - A = np.ndarray((H, W), dtype=np.float32) # Initialize arrays: Randomize A, zero B @@ -79,8 +75,6 @@ def test(): regression = np.ndarray([H - 2, W - 2], dtype=np.float32) regression[:] = A[1:H - 1, 1:W - 1] - #print(A.view(type=np.ndarray)) - ############################################# # Run DaCe program @@ -99,7 +93,6 @@ def test(): regression = ndimage.convolve(regression, kernel, mode='constant', cval=0.0) residual = np.linalg.norm(A[1:H - 1, 1:W - 1] - regression) / (H * W) - print("Residual:", residual) assert residual <= 0.05 diff --git a/tests/torch_forward/test_attn.py b/tests/torch_forward/test_attn.py index df673e057c..cf2aed3b75 100644 --- a/tests/torch_forward/test_attn.py +++ b/tests/torch_forward/test_attn.py @@ -6,7 +6,6 @@ from dace.ml import DaceModule -from dace.transformation.dataflow import RedundantSecondArray from tests.utils import torch_tensors_close diff --git a/tests/torch_forward/test_cpp_extension.py b/tests/torch_forward/test_cpp_extension.py index c8b1b624f4..8d16f6f5d2 100644 --- a/tests/torch_forward/test_cpp_extension.py +++ b/tests/torch_forward/test_cpp_extension.py @@ -4,7 +4,6 @@ pytest.importorskip("torch", reason="PyTorch not installed. Please install with: pip install dace[ml]") import os -import numpy as np import torch import torch.utils.cpp_extension from dace.codegen import targets, compiler diff --git a/tests/torch_forward/test_debug_transients.py b/tests/torch_forward/test_debug_transients.py index 995b986b8d..8704e4a953 100644 --- a/tests/torch_forward/test_debug_transients.py +++ b/tests/torch_forward/test_debug_transients.py @@ -4,7 +4,6 @@ pytest.importorskip("torch", reason="PyTorch not installed. Please install with: pip install dace[ml]") import torch from torch import nn -import numpy as np import dace from tests.utils import torch_tensors_close diff --git a/tests/torch_forward/test_img_op_implementations.py b/tests/torch_forward/test_img_op_implementations.py index 4ec120b0f9..7a15d4b36d 100644 --- a/tests/torch_forward/test_img_op_implementations.py +++ b/tests/torch_forward/test_img_op_implementations.py @@ -4,7 +4,6 @@ pytest.importorskip("torch", reason="PyTorch not installed. Please install with: pip install dace[ml]") import torch from torch import nn -import numpy as np from dace.ml import DaceModule from tests.utils import torch_tensors_close diff --git a/tests/transformations/add_threadblock_map_test.py b/tests/transformations/add_threadblock_map_test.py index aee328bae1..b215471494 100644 --- a/tests/transformations/add_threadblock_map_test.py +++ b/tests/transformations/add_threadblock_map_test.py @@ -3,7 +3,6 @@ import dace import pytest import numpy -import sys from dace.transformation.dataflow.add_threadblock_map import AddThreadBlockMap N = dace.symbol("N") diff --git a/tests/transformations/apply_transformations_once_test.py b/tests/transformations/apply_transformations_once_test.py index ba8a156e7d..9ce9a7ffaf 100644 --- a/tests/transformations/apply_transformations_once_test.py +++ b/tests/transformations/apply_transformations_once_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. import dace -import numpy as np from dace import transformation as dace_transformation, properties as dace_properties from dace.sdfg import nodes as dace_nodes from typing import Any, Union diff --git a/tests/transformations/copy_to_map_test.py b/tests/transformations/copy_to_map_test.py index 0ffff02c05..eecb1729e7 100644 --- a/tests/transformations/copy_to_map_test.py +++ b/tests/transformations/copy_to_map_test.py @@ -4,8 +4,6 @@ import copy import pytest import numpy as np -import re -from typing import Tuple, Optional def _copy_to_map(storage: dace.StorageType): @@ -111,7 +109,7 @@ def test_preprocess(): test_copy_to_map() test_flatten_to_map() try: - import cupy + import cupy # noqa: F401 test_copy_to_map_gpu() test_flatten_to_map_gpu() test_preprocess() diff --git a/tests/transformations/double_buffering_test.py b/tests/transformations/double_buffering_test.py index ae547f68eb..5428d4c943 100644 --- a/tests/transformations/double_buffering_test.py +++ b/tests/transformations/double_buffering_test.py @@ -32,7 +32,6 @@ def test_double_buffering(): sdfg(A=A, B=B, C=C) diff = np.linalg.norm(expected_C - C) / (256 * 256) - print('Difference (before):', diff) # Apply local storage transformation on inner map (last two transformations) sdfg.simplify() @@ -50,7 +49,6 @@ def test_double_buffering(): sdfg(A=A, B=B, C=C) diff2 = np.linalg.norm(expected_C - C) / (256 * 256) - print('Difference (after):', diff2) assert (diff <= 1e-5 and diff2 <= 1e-5) diff --git a/tests/transformations/interstate/condition_fusion_test.py b/tests/transformations/interstate/condition_fusion_test.py index 4d61bd992e..99062ddf07 100644 --- a/tests/transformations/interstate/condition_fusion_test.py +++ b/tests/transformations/interstate/condition_fusion_test.py @@ -1,8 +1,5 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. -import numpy as np -import pytest import dace -from dace import nodes from dace.transformation.interstate import ConditionFusion from dace.sdfg.state import ConditionalBlock diff --git a/tests/transformations/interstate/condition_map_interchange_test.py b/tests/transformations/interstate/condition_map_interchange_test.py index fe478f1773..7d0997c95a 100644 --- a/tests/transformations/interstate/condition_map_interchange_test.py +++ b/tests/transformations/interstate/condition_map_interchange_test.py @@ -2,10 +2,8 @@ """Tests the conditional map interchange transformation.""" import numpy as np -import pytest import dace from dace.transformation.interstate import ConditionMapInterchange -from dace.sdfg.state import LoopRegion from copy import deepcopy diff --git a/tests/transformations/interstate/loop_overwrite_elimination_test.py b/tests/transformations/interstate/loop_overwrite_elimination_test.py index 6d8fb08b52..c579942833 100644 --- a/tests/transformations/interstate/loop_overwrite_elimination_test.py +++ b/tests/transformations/interstate/loop_overwrite_elimination_test.py @@ -2,7 +2,6 @@ """Tests loop overwrite elimination transformations.""" import numpy as np -import pytest import dace from dace.transformation.interstate import LoopOverwriteElimination from dace.sdfg.state import LoopRegion diff --git a/tests/transformations/isolate_nested_sdfg_test.py b/tests/transformations/isolate_nested_sdfg_test.py index 78666a201c..86c5025c4c 100644 --- a/tests/transformations/isolate_nested_sdfg_test.py +++ b/tests/transformations/isolate_nested_sdfg_test.py @@ -1,7 +1,5 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. import dace -import numpy as np -import pytest from typing import Tuple, Union from dace import nodes as dace_nodes diff --git a/tests/transformations/map_collapse_test.py b/tests/transformations/map_collapse_test.py index 4d8f4d9e6a..02629a4c72 100644 --- a/tests/transformations/map_collapse_test.py +++ b/tests/transformations/map_collapse_test.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import copy import dace from dace.sdfg.utils import consolidate_edges from dace.transformation.dataflow import MapCollapse diff --git a/tests/transformations/map_expansion_test.py b/tests/transformations/map_expansion_test.py index b00639e260..54613ed632 100644 --- a/tests/transformations/map_expansion_test.py +++ b/tests/transformations/map_expansion_test.py @@ -110,14 +110,12 @@ def mymap(i: _[0:20], j: _[rng[0]:rng[1]], k: _[0:5]): sdfg = expansion.to_sdfg() sdfg(A=A, rng=b) diff = np.linalg.norm(A - expected) - print('Difference (before transformation):', diff) sdfg.apply_transformations(MapExpansion) sdfg(A=A, rng=b) expected[:, 5:10, :] *= 2 diff2 = np.linalg.norm(A - expected) - print('Difference:', diff2) assert (diff <= 1e-5) and (diff2 <= 1e-5) @@ -140,7 +138,6 @@ def mymap(i: _[0:20], j: _[0:30], k: _[0:5]): sdfg.simplify() sdfg(A=A) diff = np.linalg.norm(A - expected) - print('Difference (before transformation):', diff) sdfg.apply_transformations(MapExpansion, options=dict(expansion_limit=1)) @@ -168,7 +165,6 @@ def mymap(i: _[0:20], j: _[0:30], k: _[0:5]): sdfg(A=A) expected *= 2 diff2 = np.linalg.norm(A - expected) - print('Difference:', diff2) assert (diff <= 1e-5) and (diff2 <= 1e-5) assert len(map_entries) == 2 diff --git a/tests/transformations/map_fusion_horizontal_test.py b/tests/transformations/map_fusion_horizontal_test.py index b3c4509d60..a6cdc31c0a 100644 --- a/tests/transformations/map_fusion_horizontal_test.py +++ b/tests/transformations/map_fusion_horizontal_test.py @@ -1,11 +1,9 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -from typing import Any, Union, Tuple, Type, Optional, List +from typing import Tuple -import numpy as np import pytest import dace -from dace import SDFG, SDFGState from dace.sdfg import nodes from dace.transformation import dataflow as dftrans diff --git a/tests/transformations/map_fusion_vertical_test.py b/tests/transformations/map_fusion_vertical_test.py index b8776562fb..016eed1541 100644 --- a/tests/transformations/map_fusion_vertical_test.py +++ b/tests/transformations/map_fusion_vertical_test.py @@ -367,7 +367,6 @@ def test_fusion_simple(): compile_and_run_sdfg(sdfg, A=A, B=B, out=out) diff = abs(np.sum(A * A + B) - out) - print('Difference:', diff) assert diff <= 1e-3 @@ -381,7 +380,6 @@ def test_fusion_rename(): compile_and_run_sdfg(sdfg, A=A, B=B, out=out) diff = abs(np.sum(A * A + B) - out) - print('Difference:', diff) assert diff <= 1e-3 @@ -430,10 +428,8 @@ def test_multiple_fusions(): compile_and_run_sdfg(sdfg, A=A, B=B, C=C, out=out) diff1 = np.linalg.norm(A * A + 1 - B) diff2 = np.linalg.norm(A * A + 2 - C) - print('Difference1:', diff1) - assert diff1 <= 1e-4 - print('Difference2:', diff2) + assert diff1 <= 1e-4 assert diff2 <= 1e-4 @@ -447,7 +443,6 @@ def test_fusion_chain(): B = np.zeros_like(A) sdfg(A=A, B=B) diff = np.linalg.norm(A * 8 + 5 - B) - print('Difference:', diff) assert diff <= 1e-4 diff --git a/tests/transformations/map_tiling_test.py b/tests/transformations/map_tiling_test.py index 802bf41d30..eac074afef 100644 --- a/tests/transformations/map_tiling_test.py +++ b/tests/transformations/map_tiling_test.py @@ -1,9 +1,7 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. from typing import List import dace -import numpy as np from dace.transformation.dataflow import MapTiling -import pytest N = dace.symbol('N') diff --git a/tests/transformations/mapfission_test.py b/tests/transformations/mapfission_test.py index 2145918211..d5a384e80b 100644 --- a/tests/transformations/mapfission_test.py +++ b/tests/transformations/mapfission_test.py @@ -6,7 +6,6 @@ from dace.transformation.interstate import InlineSDFG from dace.transformation.helpers import nest_state_subgraph import numpy as np -import unittest def mapfission_sdfg(): diff --git a/tests/transformations/nested_copies_among_connectors.py b/tests/transformations/nested_copies_among_connectors.py index 6e289b4fbc..170e960e5a 100644 --- a/tests/transformations/nested_copies_among_connectors.py +++ b/tests/transformations/nested_copies_among_connectors.py @@ -2,7 +2,6 @@ import dace import numpy as np -from dace.transformation import dataflow, interstate, subgraph from dace.transformation.interstate import InlineSDFG diff --git a/tests/transformations/prune_connectors_test.py b/tests/transformations/prune_connectors_test.py index 43c306e581..8a7be6c12c 100644 --- a/tests/transformations/prune_connectors_test.py +++ b/tests/transformations/prune_connectors_test.py @@ -3,7 +3,6 @@ import numpy as np import os import copy -import pytest from typing import Tuple import dace diff --git a/tests/transformations/redundant_copy_data_races_test.py b/tests/transformations/redundant_copy_data_races_test.py index 212fb3c89e..30a93d2cc0 100644 --- a/tests/transformations/redundant_copy_data_races_test.py +++ b/tests/transformations/redundant_copy_data_races_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -import numpy as np from dace import nodes diff --git a/tests/transformations/redundant_slices_test.py b/tests/transformations/redundant_slices_test.py index b8de6f0ba7..5085011739 100644 --- a/tests/transformations/redundant_slices_test.py +++ b/tests/transformations/redundant_slices_test.py @@ -6,8 +6,7 @@ import dace from dace import data, nodes -from dace.transformation.dataflow import RedundantReadSlice, RedundantWriteSlice, RemoveSliceView -from dace.transformation.interstate import InlineMultistateSDFG, InlineSDFG, StateFusion +from dace.transformation.dataflow import RedundantReadSlice, RedundantWriteSlice from dace.sdfg import utils as sdutil diff --git a/tests/transformations/state_fission_test.py b/tests/transformations/state_fission_test.py index ffd6625ee6..ef3629fccd 100644 --- a/tests/transformations/state_fission_test.py +++ b/tests/transformations/state_fission_test.py @@ -9,7 +9,7 @@ from dace.sdfg import nodes, graph from dace.transformation import helpers, dataflow -from .utility import count_nodes, unique_name, make_sdfg_args, compile_and_run_sdfg +from .utility import count_nodes, unique_name def make_vecAdd_sdfg(symbol_name: str, sdfg_name: str, access_nodes_dict: dict, dtype=dace.float32): diff --git a/tests/transformations/state_fusion_test.py b/tests/transformations/state_fusion_test.py index aece80f574..eae9141523 100644 --- a/tests/transformations/state_fusion_test.py +++ b/tests/transformations/state_fusion_test.py @@ -1,9 +1,9 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -from dace.transformation import transformation from dace.transformation.interstate import StateFusion import networkx as nx import numpy as np +import pytest # Inter-state condition tests @@ -59,11 +59,8 @@ def test_fuse_assignment_in_use(): state4.add_edge(state3.add_tasklet('two', {}, {'a'}, 'a = k'), 'a', state3.add_write('A'), None, dace.Memlet('A[1]')) - try: + with pytest.raises(ValueError): StateFusion.apply_to(sdfg, first_state=state3, second_state=state4) - raise AssertionError('States fused, test failed') - except ValueError: - print('Exception successfully caught') # Connected components tests diff --git a/tests/transformations/subgraph_fusion/block_allreduce_cudatest.py b/tests/transformations/subgraph_fusion/block_allreduce_cudatest.py index 0f32037af5..15ea5457d9 100644 --- a/tests/transformations/subgraph_fusion/block_allreduce_cudatest.py +++ b/tests/transformations/subgraph_fusion/block_allreduce_cudatest.py @@ -43,8 +43,6 @@ def test_blockallreduce(): result2 = csdfg(A=A, M=30, N=30) del csdfg - print(np.linalg.norm(result1)) - print(np.linalg.norm(result2)) assert np.allclose(result1, result2) diff --git a/tests/transformations/subgraph_fusion/complex_test.py b/tests/transformations/subgraph_fusion/complex_test.py index 54ebcf1242..f50c1e2046 100644 --- a/tests/transformations/subgraph_fusion/complex_test.py +++ b/tests/transformations/subgraph_fusion/complex_test.py @@ -1,13 +1,9 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -import dace.transformation.subgraph.helpers as helpers -import dace.sdfg.nodes as nodes import numpy as np from dace.sdfg.graph import SubgraphView -import sys - from dace.transformation.subgraph import SubgraphFusion from util import expand_maps, expand_reduce, fusion @@ -123,7 +119,6 @@ def _test_quantitatively(sdfg, graph): assert np.allclose(out1, out1_base) assert np.allclose(out2, out2_base) assert np.allclose(out3, out3_base) - print('PASS') def test_complex(): diff --git a/tests/transformations/subgraph_fusion/create_out_transient_test.py b/tests/transformations/subgraph_fusion/create_out_transient_test.py index d331c92e1d..c3d33b4fde 100644 --- a/tests/transformations/subgraph_fusion/create_out_transient_test.py +++ b/tests/transformations/subgraph_fusion/create_out_transient_test.py @@ -1,14 +1,7 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -from dace.transformation.subgraph import SubgraphFusion -import dace.transformation.subgraph.helpers as helpers -import dace.sdfg.nodes as nodes import numpy as np -from dace.sdfg.graph import SubgraphView -from dace.transformation.interstate import StateFusion -from typing import List, Union -import sys from util import fusion N, M, O = [dace.symbol(s) for s in ['N', 'M', 'O']] diff --git a/tests/transformations/subgraph_fusion/disjoint_test.py b/tests/transformations/subgraph_fusion/disjoint_test.py index 7dfb015a72..3ea9757fb4 100644 --- a/tests/transformations/subgraph_fusion/disjoint_test.py +++ b/tests/transformations/subgraph_fusion/disjoint_test.py @@ -1,15 +1,9 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -from typing import List, Union import numpy as np -from util import expand_maps, expand_reduce, fusion import dace -import dace.libraries.standard as stdlib -import dace.sdfg.nodes as nodes -import dace.transformation.subgraph.helpers as helpers from dace.sdfg.graph import SubgraphView -from dace.transformation.dataflow import ReduceExpansion from dace.transformation.subgraph import SubgraphFusion M = dace.symbol('M') diff --git a/tests/transformations/subgraph_fusion/expansion_test.py b/tests/transformations/subgraph_fusion/expansion_test.py index 4afa6b7793..a41abe27bc 100644 --- a/tests/transformations/subgraph_fusion/expansion_test.py +++ b/tests/transformations/subgraph_fusion/expansion_test.py @@ -1,15 +1,8 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -import dace.transformation.subgraph.helpers as helpers -import dace.sdfg.nodes as nodes import numpy as np -from dace.sdfg.graph import SubgraphView - -import sys - -from dace.transformation.subgraph import SubgraphFusion -from util import expand_maps, expand_reduce, fusion +from util import expand_maps N, M, O = [dace.symbol(s) for s in ['N', 'M', 'O']] diff --git a/tests/transformations/subgraph_fusion/fission_io_test.py b/tests/transformations/subgraph_fusion/fission_io_test.py index 8fae813d30..45d6ddd348 100644 --- a/tests/transformations/subgraph_fusion/fission_io_test.py +++ b/tests/transformations/subgraph_fusion/fission_io_test.py @@ -1,16 +1,11 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. from copy import deepcopy import dace -from dace.sdfg import nodes from dace.transformation.dataflow import MapFission -from dace.transformation.helpers import nest_state_subgraph import numpy as np -import unittest -from typing import Union, List from dace.sdfg.graph import SubgraphView from dace.transformation.subgraph import SubgraphFusion -import dace.transformation.subgraph.helpers as helpers from util import fusion diff --git a/tests/transformations/subgraph_fusion/fission_offsets1_test.py b/tests/transformations/subgraph_fusion/fission_offsets1_test.py index 6f3718ccb7..13f6b687e8 100644 --- a/tests/transformations/subgraph_fusion/fission_offsets1_test.py +++ b/tests/transformations/subgraph_fusion/fission_offsets1_test.py @@ -1,16 +1,10 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import copy import dace -from dace.sdfg import nodes from dace.transformation.dataflow import MapFission -from dace.transformation.helpers import nest_state_subgraph import numpy as np -import unittest -from typing import Union, List from dace.sdfg.graph import SubgraphView from dace.transformation.subgraph import SubgraphFusion -import dace.transformation.subgraph.helpers as helpers from util import fusion @@ -96,8 +90,6 @@ def test_offsets_array(): csdfg = sdfg.compile() csdfg(A=A_cpy) del csdfg - print(np.linalg.norm(A_cpy)) - print(np.linalg.norm(expected)) assert (np.allclose(A_cpy, expected)) subgraph = SubgraphView(sdfg.nodes()[0], sdfg.nodes()[0].nodes()) diff --git a/tests/transformations/subgraph_fusion/fission_offsets2_test.py b/tests/transformations/subgraph_fusion/fission_offsets2_test.py index e3d9d9490d..f6f929abec 100644 --- a/tests/transformations/subgraph_fusion/fission_offsets2_test.py +++ b/tests/transformations/subgraph_fusion/fission_offsets2_test.py @@ -1,16 +1,10 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import copy import dace -from dace.sdfg import nodes from dace.transformation.dataflow import MapFission -from dace.transformation.helpers import nest_state_subgraph import numpy as np -import unittest -from typing import Union, List from dace.sdfg.graph import SubgraphView from dace.transformation.subgraph import SubgraphFusion -import dace.transformation.subgraph.helpers as helpers from util import fusion diff --git a/tests/transformations/subgraph_fusion/fission_subgraph_test.py b/tests/transformations/subgraph_fusion/fission_subgraph_test.py index 43ec8f7d55..589098ba95 100644 --- a/tests/transformations/subgraph_fusion/fission_subgraph_test.py +++ b/tests/transformations/subgraph_fusion/fission_subgraph_test.py @@ -1,17 +1,11 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import copy from copy import deepcopy as dcpy import dace -from dace.sdfg import nodes from dace.transformation.dataflow import MapFission -from dace.transformation.helpers import nest_state_subgraph import numpy as np -import unittest -from typing import Union, List from dace.sdfg.graph import SubgraphView from dace.transformation.subgraph import SubgraphFusion -import dace.transformation.subgraph.helpers as helpers from util import fusion diff --git a/tests/transformations/subgraph_fusion/intermediate_mimo_test.py b/tests/transformations/subgraph_fusion/intermediate_mimo_test.py index d28e631469..fdee971346 100644 --- a/tests/transformations/subgraph_fusion/intermediate_mimo_test.py +++ b/tests/transformations/subgraph_fusion/intermediate_mimo_test.py @@ -1,16 +1,10 @@ # Copyright 2019-2023 ETH Zurich and the DaCe authors. All rights reserved. -import copy import dace -from dace.sdfg import nodes from dace.sdfg.graph import SubgraphView -from dace.transformation.helpers import nest_state_subgraph import numpy as np -import unittest -import sys from dace.transformation.subgraph import MultiExpansion, SubgraphFusion -from typing import Union, List from dace.sdfg.graph import SubgraphView N = dace.symbol('N') diff --git a/tests/transformations/subgraph_fusion/invariant_dimension_test.py b/tests/transformations/subgraph_fusion/invariant_dimension_test.py index c5653bfc86..10cf00353e 100644 --- a/tests/transformations/subgraph_fusion/invariant_dimension_test.py +++ b/tests/transformations/subgraph_fusion/invariant_dimension_test.py @@ -2,17 +2,13 @@ import dace from dace.transformation.subgraph import SubgraphFusion import dace.sdfg.utils as utils -import dace.transformation.subgraph.helpers as helpers -import dace.sdfg.nodes as nodes import dace.subsets as subsets import numpy as np import itertools from dace.sdfg.graph import SubgraphView -from typing import Union, List -import sys from util import fusion N, M, O = [dace.symbol(s) for s in ['N', 'M', 'O']] @@ -119,7 +115,6 @@ def _test_quantitatively(sdfg, graph): del csdfg assert np.allclose(C1, C2) - print('PASS') def test_invariant_dim(): diff --git a/tests/transformations/subgraph_fusion/parallel_test.py b/tests/transformations/subgraph_fusion/parallel_test.py index fae9cd2196..1cd5e51d93 100644 --- a/tests/transformations/subgraph_fusion/parallel_test.py +++ b/tests/transformations/subgraph_fusion/parallel_test.py @@ -1,10 +1,8 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace from dace.transformation.subgraph import MultiExpansion, SubgraphFusion -import dace.sdfg.nodes as nodes import numpy as np -from typing import Union, List from dace.sdfg.graph import SubgraphView N, M, O, P, Q, R = [dace.symbol(s) for s in ['N', 'M', 'O', 'P', 'Q', 'R']] diff --git a/tests/transformations/subgraph_fusion/reduction_fuse_test.py b/tests/transformations/subgraph_fusion/reduction_fuse_test.py index 1e2597d510..0a5e9752e4 100644 --- a/tests/transformations/subgraph_fusion/reduction_fuse_test.py +++ b/tests/transformations/subgraph_fusion/reduction_fuse_test.py @@ -1,16 +1,10 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -from typing import List, Union import numpy as np import pytest from util import expand_maps, expand_reduce, fusion import dace -import dace.libraries.standard as stdlib -import dace.sdfg.nodes as nodes -import dace.transformation.subgraph.helpers as helpers -from dace.sdfg.graph import SubgraphView -from dace.transformation.dataflow import ReduceExpansion M = dace.symbol('M') N = dace.symbol('N') diff --git a/tests/transformations/subgraph_fusion/reduction_test.py b/tests/transformations/subgraph_fusion/reduction_test.py index 4e4cdd7d7a..753fc71213 100644 --- a/tests/transformations/subgraph_fusion/reduction_test.py +++ b/tests/transformations/subgraph_fusion/reduction_test.py @@ -1,15 +1,10 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -from typing import List, Union import numpy as np import pytest -from util import expand_maps, expand_reduce, fusion +from util import expand_reduce import dace -import dace.libraries.standard as stdlib -import dace.sdfg.nodes as nodes -import dace.transformation.subgraph.helpers as helpers -from dace.sdfg.graph import SubgraphView from dace.transformation.dataflow import ReduceExpansion M = dace.symbol('M') diff --git a/tests/transformations/subgraph_fusion/sequential1_test.py b/tests/transformations/subgraph_fusion/sequential1_test.py index c870475b0e..f87ba2d714 100644 --- a/tests/transformations/subgraph_fusion/sequential1_test.py +++ b/tests/transformations/subgraph_fusion/sequential1_test.py @@ -1,10 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -import dace.transformation.subgraph.helpers as helpers -from dace.transformation.subgraph import SubgraphFusion -from dace.sdfg.graph import SubgraphView -import dace.sdfg.nodes as nodes -from typing import List, Union import numpy as np from util import fusion diff --git a/tests/transformations/subgraph_fusion/sequential2_cudatest.py b/tests/transformations/subgraph_fusion/sequential2_cudatest.py index 8f66146f59..0df18b8013 100644 --- a/tests/transformations/subgraph_fusion/sequential2_cudatest.py +++ b/tests/transformations/subgraph_fusion/sequential2_cudatest.py @@ -1,11 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -from dace.transformation.subgraph import SubgraphFusion -import dace.transformation.subgraph.helpers as helpers -from dace.sdfg.graph import SubgraphView -import dace.sdfg.nodes as nodes import numpy as np -from typing import List, Union import pytest from util import fusion @@ -47,8 +42,6 @@ def test(): csdfg = sdfg.compile() csdfg(A=A, C=C2, N=N) - print(np.linalg.norm(C1)) - print(np.linalg.norm(C2)) assert np.allclose(C1, C2) diff --git a/tests/transformations/subgraph_fusion/sequential2_test.py b/tests/transformations/subgraph_fusion/sequential2_test.py index a00664b5cb..de94e932b9 100644 --- a/tests/transformations/subgraph_fusion/sequential2_test.py +++ b/tests/transformations/subgraph_fusion/sequential2_test.py @@ -1,10 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -from dace.transformation.subgraph import SubgraphFusion -from dace.sdfg.graph import SubgraphView -import dace.transformation.subgraph.helpers as helpers -from typing import List, Union -import dace.sdfg.nodes as nodes import numpy as np from util import fusion diff --git a/tests/transformations/subgraph_fusion/smax_test.py b/tests/transformations/subgraph_fusion/smax_test.py index be2b533036..a6340ce9b3 100644 --- a/tests/transformations/subgraph_fusion/smax_test.py +++ b/tests/transformations/subgraph_fusion/smax_test.py @@ -1,18 +1,12 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import sys -from typing import List, Union import numpy as np from util import expand_maps, expand_reduce, fusion import dace -import dace.dtypes as dtypes import dace.libraries.standard as stdlib import dace.sdfg.nodes as nodes -import dace.transformation.subgraph.helpers as helpers from dace.sdfg.graph import SubgraphView -from dace.transformation.dataflow import ReduceExpansion -from dace.transformation.subgraph import MultiExpansion, SubgraphFusion dace_dtype = dace.float32 H, B, SN, SM = (dace.symbol(s) for s in ('H', 'B', 'SN', 'SM')) @@ -88,8 +82,6 @@ def test_2fuse(): del csdfg assert np.allclose(res1, res2) - print("PASS") - return def test_1fuse(): @@ -110,11 +102,7 @@ def test_1fuse(): res2 = csdfg(X_in=X_in, H=10, B=10, SN=20, SM=20) del csdfg - print(np.linalg.norm(res1)) - print(np.linalg.norm(res2)) assert np.allclose(res1, res2) - print("PASS") - return def test_1fuse(): @@ -136,10 +124,7 @@ def test_1fuse(): res2 = csdfg(X_in=X_in, H=10, B=10, SN=20, SM=20) del csdfg - print(np.linalg.norm(res1)) - print(np.linalg.norm(res2)) assert np.allclose(res1, res2) - print("PASS") if __name__ == "__main__": diff --git a/tests/transformations/subgraph_fusion/tiling_pool_test.py b/tests/transformations/subgraph_fusion/tiling_pool_test.py index 6b9500c021..83a2975165 100644 --- a/tests/transformations/subgraph_fusion/tiling_pool_test.py +++ b/tests/transformations/subgraph_fusion/tiling_pool_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -from dace.sdfg import SDFG from dace.transformation.subgraph.stencil_tiling import StencilTiling from dace.transformation.subgraph import SubgraphFusion from dace.sdfg.graph import SubgraphView @@ -100,10 +99,8 @@ def invoke_stencil(tile_size, offset=False, unroll=False): csdfg(A=A, B=B3, N=100) del csdfg - print(np.linalg.norm(B1)) - print(np.linalg.norm(B3)) - - print("PASS") + assert np.allclose(B1, B2) + assert np.allclose(B1, B3) test_settings = list(itertools.product([1, 8], [False, True], [False, True])) @@ -115,6 +112,5 @@ def test_all(tile, offset, unroll): if __name__ == '__main__': - for (t, o, u) in itertools.product([1, 8], [False, True], [False, True]): - print(f"Testing config {t}, {o}, {u}") + for (t, o, u) in test_settings: test_all(t, o, u) diff --git a/tests/transformations/subgraph_fusion/tiling_stencil_test.py b/tests/transformations/subgraph_fusion/tiling_stencil_test.py index 694e5c2460..98f102b8aa 100644 --- a/tests/transformations/subgraph_fusion/tiling_stencil_test.py +++ b/tests/transformations/subgraph_fusion/tiling_stencil_test.py @@ -3,7 +3,6 @@ import contextlib import dace -from dace.sdfg import SDFG from dace.transformation.subgraph.stencil_tiling import StencilTiling from dace.transformation.subgraph import SubgraphFusion from dace.sdfg.graph import SubgraphView @@ -152,11 +151,8 @@ def invoke_stencil(tile_size, offset=False, unroll=False, view=False): csdfg(A=A, B=B3, N=100) del csdfg - print(np.linalg.norm(B1)) - print(np.linalg.norm(B3)) assert np.allclose(B1, B2) assert np.allclose(B1, B3) - print("PASS") test_settings = list(itertools.product([1, 8], [False, True], [False, True])) @@ -168,6 +164,5 @@ def test_all(tile, offset, unroll): if __name__ == '__main__': - for (t, o, u) in itertools.product([1, 8], [False, True], [False, True]): - print(f"Testing config {t}, {o}, {u}") + for (t, o, u) in test_settings: test_all(t, o, u) diff --git a/tests/transformations/sve/sve_vectorization_test.py b/tests/transformations/sve/sve_vectorization_test.py index 6645aa3a0b..267c79acf3 100644 --- a/tests/transformations/sve/sve_vectorization_test.py +++ b/tests/transformations/sve/sve_vectorization_test.py @@ -1,7 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -from dace.sdfg.graph import NodeNotFoundError import dace -import numpy as np from dace.transformation.dataflow.sve.vectorization import SVEVectorization from dace import SDFG import dace.dtypes as dtypes diff --git a/tests/transformations/tiling_number_of_tiles_test.py b/tests/transformations/tiling_number_of_tiles_test.py index 6bee84d65e..147b4c489d 100644 --- a/tests/transformations/tiling_number_of_tiles_test.py +++ b/tests/transformations/tiling_number_of_tiles_test.py @@ -32,7 +32,6 @@ def test_tiling_number_of_tiles(): sdfg.apply_transformations(StripMining, options=[{'tile_size': '16', 'tiling_type': dace.TilingType.NumberOfTiles}]) sdfg(A=A, X=X, Y=Y, N=size) assert np.allclose(Y, A * X + Z) - print('PASS') if __name__ == "__main__": diff --git a/tests/transformations/transient_reuse_test.py b/tests/transformations/transient_reuse_test.py index 7ff1a0fc8f..36c061c3b7 100644 --- a/tests/transformations/transient_reuse_test.py +++ b/tests/transformations/transient_reuse_test.py @@ -45,7 +45,6 @@ def test_reuse(): C_regression = np.dot(np.dot(A, np.dot(np.dot(A, B), np.dot(A, B))), np.dot(B, D)) diff = np.linalg.norm(C_regression - C) / (m * n) - print("Difference:", diff) assert diff <= 1e-5 diff --git a/tests/transformations/trivial_loop_elimination_test.py b/tests/transformations/trivial_loop_elimination_test.py index 6f2769f921..f08f0e91c7 100644 --- a/tests/transformations/trivial_loop_elimination_test.py +++ b/tests/transformations/trivial_loop_elimination_test.py @@ -1,8 +1,6 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -from dace.sdfg.nodes import MapEntry import dace from dace.transformation.interstate import TrivialLoopElimination -from dace.symbolic import pystr_to_symbolic import unittest import numpy as np diff --git a/tests/transformations/utility.py b/tests/transformations/utility.py index 17efaf4ecd..9bf61b0d8a 100644 --- a/tests/transformations/utility.py +++ b/tests/transformations/utility.py @@ -1,6 +1,6 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. """Helper functions for compilation. """ -from typing import Any, Union, Tuple, Type, Optional, List, Dict +from typing import Any, Union, Tuple, Type, List import copy import numpy as np diff --git a/tests/trivial_map_elimination_test.py b/tests/trivial_map_elimination_test.py index b1bdeab77f..5a0ed1c6bd 100644 --- a/tests/trivial_map_elimination_test.py +++ b/tests/trivial_map_elimination_test.py @@ -1,6 +1,5 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. import dace -from dace.sdfg import nodes from dace.transformation.dataflow import TrivialMapElimination import unittest diff --git a/tests/undefined_symbol_test.py b/tests/undefined_symbol_test.py index bac734f155..e5246e0898 100644 --- a/tests/undefined_symbol_test.py +++ b/tests/undefined_symbol_test.py @@ -2,10 +2,8 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. import pytest -import numpy as np import sympy -import dace from dace import symbolic diff --git a/tests/unique_nested_sdfg_test.py b/tests/unique_nested_sdfg_test.py index 410b9829ba..3ab0551f9f 100644 --- a/tests/unique_nested_sdfg_test.py +++ b/tests/unique_nested_sdfg_test.py @@ -5,8 +5,6 @@ import dace import numpy as np -import argparse -import subprocess from dace.memlet import Memlet diff --git a/tests/unparse_memlet_test.py b/tests/unparse_memlet_test.py index a9871be375..951d544d1d 100644 --- a/tests/unparse_memlet_test.py +++ b/tests/unparse_memlet_test.py @@ -28,7 +28,6 @@ def test(): expected = 2.0 * np.sum(A[0:N // 2]) + A[N // 2] actual = np.sum(B) diff = abs(actual - expected) - print('Difference:', diff) assert diff <= 1e-5 diff --git a/tests/utils.py b/tests/utils.py index b4ddb24314..28ff777eda 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -1,10 +1,8 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. import os -import typing import urllib.request, urllib.parse import pathlib -import pytest import dace import numpy as np diff --git a/tests/utils/array_dimension_utils.py b/tests/utils/array_dimension_utils.py index 903e53db76..f657c91fd9 100644 --- a/tests/utils/array_dimension_utils.py +++ b/tests/utils/array_dimension_utils.py @@ -1,7 +1,6 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. import dace -import pytest import tempfile import os diff --git a/tests/utils/is_contiguous_subset_test.py b/tests/utils/is_contiguous_subset_test.py index 1284d6907b..8022ec02d9 100644 --- a/tests/utils/is_contiguous_subset_test.py +++ b/tests/utils/is_contiguous_subset_test.py @@ -1,7 +1,6 @@ # Copyright 2019-2025 ETH Zurich and the DaCe authors. All rights reserved. import dace -import pytest import dace.subsets diff --git a/tests/utils/specialize_scalar_test.py b/tests/utils/specialize_scalar_test.py index 8f99f154d9..96831cf1ce 100644 --- a/tests/utils/specialize_scalar_test.py +++ b/tests/utils/specialize_scalar_test.py @@ -3,7 +3,6 @@ from dace.codegen.control_flow import LoopRegion from dace.properties import CodeBlock from dace.sdfg.state import ConditionalBlock -import pytest import dace.sdfg.utils as sdutil diff --git a/tests/vector_min_test.py b/tests/vector_min_test.py index 9c526f1ff4..3e19047922 100644 --- a/tests/vector_min_test.py +++ b/tests/vector_min_test.py @@ -1,5 +1,4 @@ # Copyright 2019-2021 ETH Zurich and the DaCe authors. All rights reserved. -import math import numpy as np import dace as dp @@ -8,7 +7,6 @@ def test(): - print('Dynamic SDFG test with vectorization and min') # Externals (parameters, symbols) N = dp.symbol('N') n = 20 @@ -45,8 +43,6 @@ def test(): mysdfg(A=input, B=input2, C=output, N=n) diff = np.linalg.norm(np.minimum(input, input2) - output) / n - print("Difference:", diff) - print("==== Program end ====") assert diff <= 1e-5 diff --git a/tests/vla_test.py b/tests/vla_test.py index 1e303d1898..990876f9ac 100644 --- a/tests/vla_test.py +++ b/tests/vla_test.py @@ -33,7 +33,6 @@ def test(): assert any('Variable-length' in str(warn.message) for warn in w) diff = np.linalg.norm(A - B) - print('Difference:', diff) assert diff < 1e-5 diff --git a/tests/wcr_cudatest.py b/tests/wcr_cudatest.py index b3604ae88b..0b1a419cd0 100644 --- a/tests/wcr_cudatest.py +++ b/tests/wcr_cudatest.py @@ -3,7 +3,6 @@ import dace from dace.transformation.interstate import GPUTransformSDFG -from typing import Dict, Tuple import pytest diff --git a/tutorials/transformations.ipynb b/tutorials/transformations.ipynb index 931df79e18..ade02d65bc 100644 --- a/tutorials/transformations.ipynb +++ b/tutorials/transformations.ipynb @@ -685,7 +685,6 @@ "source": [ "from dace.transformation import transformation as xf\n", "from dace.sdfg import utils as sdutil\n", - "from dace import registry\n", "\n", "\n", "class RedundantArrayTasklet(xf.SingleStateTransformation):\n",