dace
package
Subpackages
- dace.codegen package
- Subpackages
- dace.codegen.instrumentation package
- Submodules
- dace.codegen.instrumentation.fpga module
- dace.codegen.instrumentation.gpu_events module
- dace.codegen.instrumentation.papi module
PAPIInstrumentation
PAPIInstrumentation.configure_papi()
PAPIInstrumentation.get_unique_number()
PAPIInstrumentation.has_surrounding_perfcounters()
PAPIInstrumentation.on_consume_entry()
PAPIInstrumentation.on_copy_begin()
PAPIInstrumentation.on_copy_end()
PAPIInstrumentation.on_map_entry()
PAPIInstrumentation.on_node_begin()
PAPIInstrumentation.on_node_end()
PAPIInstrumentation.on_scope_entry()
PAPIInstrumentation.on_scope_exit()
PAPIInstrumentation.on_sdfg_begin()
PAPIInstrumentation.on_sdfg_end()
PAPIInstrumentation.on_state_begin()
PAPIInstrumentation.perf_counter_end_measurement_string()
PAPIInstrumentation.perf_counter_start_measurement_string()
PAPIInstrumentation.perf_counter_string()
PAPIInstrumentation.perf_counter_string_from_string_list()
PAPIInstrumentation.perf_get_supersection_start_string()
PAPIInstrumentation.perf_section_start_string()
PAPIInstrumentation.perf_supersection_start_string()
PAPIInstrumentation.perf_whitelist_schedules
PAPIInstrumentation.should_instrument_entry()
PAPIUtils
PAPIUtils.accumulate_byte_movement()
PAPIUtils.all_maps()
PAPIUtils.available_counters()
PAPIUtils.get_iteration_count()
PAPIUtils.get_memlet_byte_size()
PAPIUtils.get_memory_input_size()
PAPIUtils.get_out_memlet_costs()
PAPIUtils.get_parents()
PAPIUtils.get_tasklet_byte_accesses()
PAPIUtils.is_papi_used()
PAPIUtils.reduce_iteration_count()
- dace.codegen.instrumentation.provider module
InstrumentationProvider
InstrumentationProvider.extensions()
InstrumentationProvider.get_provider_mapping()
InstrumentationProvider.on_copy_begin()
InstrumentationProvider.on_copy_end()
InstrumentationProvider.on_node_begin()
InstrumentationProvider.on_node_end()
InstrumentationProvider.on_scope_entry()
InstrumentationProvider.on_scope_exit()
InstrumentationProvider.on_sdfg_begin()
InstrumentationProvider.on_sdfg_end()
InstrumentationProvider.on_state_begin()
InstrumentationProvider.on_state_end()
InstrumentationProvider.register()
InstrumentationProvider.unregister()
- dace.codegen.instrumentation.report module
- dace.codegen.instrumentation.timer module
- dace.codegen.instrumentation.data module
- Module contents
- dace.codegen.targets package
- Submodules
- dace.codegen.targets.cpu module
CPUCodeGen
CPUCodeGen.allocate_array()
CPUCodeGen.allocate_reference()
CPUCodeGen.allocate_view()
CPUCodeGen.cmake_options()
CPUCodeGen.copy_memory()
CPUCodeGen.deallocate_array()
CPUCodeGen.declare_array()
CPUCodeGen.define_out_memlet()
CPUCodeGen.generate_node()
CPUCodeGen.generate_nsdfg_arguments()
CPUCodeGen.generate_nsdfg_call()
CPUCodeGen.generate_nsdfg_header()
CPUCodeGen.generate_scope()
CPUCodeGen.generate_scope_postamble()
CPUCodeGen.generate_scope_preamble()
CPUCodeGen.generate_tasklet_postamble()
CPUCodeGen.generate_tasklet_preamble()
CPUCodeGen.get_generated_codeobjects()
CPUCodeGen.has_finalizer
CPUCodeGen.has_initializer
CPUCodeGen.language
CPUCodeGen.make_ptr_assignment()
CPUCodeGen.make_ptr_vector_cast()
CPUCodeGen.memlet_ctor()
CPUCodeGen.memlet_definition()
CPUCodeGen.memlet_stream_ctor()
CPUCodeGen.memlet_view_ctor()
CPUCodeGen.process_out_memlets()
CPUCodeGen.target_name
CPUCodeGen.title
CPUCodeGen.unparse_tasklet()
CPUCodeGen.write_and_resolve_expr()
- dace.codegen.targets.cuda module
CUDACodeGen
CUDACodeGen.allocate_array()
CUDACodeGen.allocate_stream()
CUDACodeGen.cmake_options()
CUDACodeGen.copy_memory()
CUDACodeGen.deallocate_array()
CUDACodeGen.deallocate_stream()
CUDACodeGen.declare_array()
CUDACodeGen.define_out_memlet()
CUDACodeGen.generate_devicelevel_scope()
CUDACodeGen.generate_devicelevel_state()
CUDACodeGen.generate_kernel_scope()
CUDACodeGen.generate_node()
CUDACodeGen.generate_nsdfg_arguments()
CUDACodeGen.generate_nsdfg_call()
CUDACodeGen.generate_nsdfg_header()
CUDACodeGen.generate_scope()
CUDACodeGen.generate_state()
CUDACodeGen.get_generated_codeobjects()
CUDACodeGen.get_kernel_dimensions()
CUDACodeGen.get_next_scope_entries()
CUDACodeGen.get_tb_maps_recursive()
CUDACodeGen.has_finalizer
CUDACodeGen.has_initializer
CUDACodeGen.make_ptr_vector_cast()
CUDACodeGen.node_dispatch_predicate()
CUDACodeGen.preprocess()
CUDACodeGen.process_out_memlets()
CUDACodeGen.state_dispatch_predicate()
CUDACodeGen.target_name
CUDACodeGen.title
cpu_to_gpu_cpred()
prod()
- dace.codegen.targets.framecode module
- dace.codegen.targets.mpi module
- dace.codegen.targets.target module
IllegalCopy
TargetCodeGenerator
TargetCodeGenerator.allocate_array()
TargetCodeGenerator.cmake_options()
TargetCodeGenerator.copy_memory()
TargetCodeGenerator.deallocate_array()
TargetCodeGenerator.declare_array()
TargetCodeGenerator.extensions()
TargetCodeGenerator.generate_node()
TargetCodeGenerator.generate_scope()
TargetCodeGenerator.generate_state()
TargetCodeGenerator.get_generated_codeobjects()
TargetCodeGenerator.has_finalizer
TargetCodeGenerator.has_initializer
TargetCodeGenerator.preprocess()
TargetCodeGenerator.register()
TargetCodeGenerator.unregister()
make_absolute()
- dace.codegen.targets.fpga module
FPGACodeGen
FPGACodeGen.allocate_array()
FPGACodeGen.copy_memory()
FPGACodeGen.deallocate_array()
FPGACodeGen.declare_array()
FPGACodeGen.define_out_memlet()
FPGACodeGen.find_rtl_tasklet()
FPGACodeGen.generate_host_function_boilerplate()
FPGACodeGen.generate_kernel()
FPGACodeGen.generate_modules()
FPGACodeGen.generate_nested_state()
FPGACodeGen.generate_node()
FPGACodeGen.generate_nsdfg_arguments()
FPGACodeGen.generate_nsdfg_call()
FPGACodeGen.generate_nsdfg_header()
FPGACodeGen.generate_scope()
FPGACodeGen.generate_state()
FPGACodeGen.generate_tasklet_postamble()
FPGACodeGen.generate_tasklet_preamble()
FPGACodeGen.get_next_scope_entries()
FPGACodeGen.has_finalizer
FPGACodeGen.has_initializer
FPGACodeGen.instrument_opencl_kernel()
FPGACodeGen.is_multi_pumped_subgraph()
FPGACodeGen.language
FPGACodeGen.make_opencl_parameter()
FPGACodeGen.make_parameters()
FPGACodeGen.make_ptr_assignment()
FPGACodeGen.make_ptr_vector_cast()
FPGACodeGen.partition_kernels()
FPGACodeGen.preprocess()
FPGACodeGen.process_out_memlets()
FPGACodeGen.shared_data()
FPGACodeGen.target_name
FPGACodeGen.title
fpga_ptr()
get_multibank_ranges_from_subset()
is_external_stream()
is_fpga_array()
is_multibank_array()
is_multibank_array_with_distributed_index()
is_vendor_supported()
iterate_distributed_subset()
iterate_multibank_interface_ids()
modify_distributed_subset()
parse_location_bank()
unqualify_fpga_array_name()
vector_element_type_of()
- dace.codegen.targets.xilinx module
- dace.codegen.targets.intel_fpga module
IntelFPGACodeGen
IntelFPGACodeGen.allocate_view()
IntelFPGACodeGen.cmake_options()
IntelFPGACodeGen.create_mangled_channel_name()
IntelFPGACodeGen.create_mangled_module_name()
IntelFPGACodeGen.define_local_array()
IntelFPGACodeGen.define_shift_register()
IntelFPGACodeGen.define_stream()
IntelFPGACodeGen.generate_channel_writes()
IntelFPGACodeGen.generate_constants()
IntelFPGACodeGen.generate_converters()
IntelFPGACodeGen.generate_flatten_loop_post()
IntelFPGACodeGen.generate_flatten_loop_pre()
IntelFPGACodeGen.generate_host_function_body()
IntelFPGACodeGen.generate_host_function_prologue()
IntelFPGACodeGen.generate_kernel_internal()
IntelFPGACodeGen.generate_memlet_definition()
IntelFPGACodeGen.generate_module()
IntelFPGACodeGen.generate_no_dependence_post()
IntelFPGACodeGen.generate_no_dependence_pre()
IntelFPGACodeGen.generate_nsdfg_arguments()
IntelFPGACodeGen.generate_nsdfg_header()
IntelFPGACodeGen.generate_pipeline_loop_post()
IntelFPGACodeGen.generate_pipeline_loop_pre()
IntelFPGACodeGen.generate_tasklet_postamble()
IntelFPGACodeGen.generate_undefines()
IntelFPGACodeGen.generate_unroll_loop_post()
IntelFPGACodeGen.generate_unroll_loop_pre()
IntelFPGACodeGen.get_generated_codeobjects()
IntelFPGACodeGen.get_mangled_channel_name()
IntelFPGACodeGen.language
IntelFPGACodeGen.make_kernel_argument()
IntelFPGACodeGen.make_ptr_vector_cast()
IntelFPGACodeGen.make_read()
IntelFPGACodeGen.make_shift_register_write()
IntelFPGACodeGen.make_vector_type()
IntelFPGACodeGen.make_write()
IntelFPGACodeGen.process_out_memlets()
IntelFPGACodeGen.target_name
IntelFPGACodeGen.title
IntelFPGACodeGen.unparse_tasklet()
IntelFPGACodeGen.write_and_resolve_expr()
OpenCLDaceKeywordRemover
OpenCLDaceKeywordRemover.ctypes
OpenCLDaceKeywordRemover.nptypes
OpenCLDaceKeywordRemover.nptypes_to_ctypes
OpenCLDaceKeywordRemover.visit_Assign()
OpenCLDaceKeywordRemover.visit_Attribute()
OpenCLDaceKeywordRemover.visit_BinOp()
OpenCLDaceKeywordRemover.visit_Call()
OpenCLDaceKeywordRemover.visit_Name()
- Module contents
- dace.codegen.instrumentation package
- Submodules
- dace.codegen.codegen module
- dace.codegen.codeobject module
- dace.codegen.compiled_sdfg module
- dace.codegen.compiler module
- dace.codegen.control_flow module
- dace.codegen.cppunparse module
CPPLocals
CPPUnparser
CPPUnparser.binop
CPPUnparser.boolops
CPPUnparser.callbools
CPPUnparser.callcmps
CPPUnparser.cmpops
CPPUnparser.dispatch()
CPPUnparser.dispatch_lhs_tuple()
CPPUnparser.enter()
CPPUnparser.fill()
CPPUnparser.format_conversions
CPPUnparser.funcops
CPPUnparser.leave()
CPPUnparser.unop
CPPUnparser.unop_lambda
CPPUnparser.write()
LocalScheme
cppunparse()
interleave()
py2cpp()
pyexpr2cpp()
- dace.codegen.dispatcher module
DefinedMemlets
DefinedType
TargetDispatcher
TargetDispatcher.declared_arrays
TargetDispatcher.defined_vars
TargetDispatcher.dispatch_allocate()
TargetDispatcher.dispatch_copy()
TargetDispatcher.dispatch_deallocate()
TargetDispatcher.dispatch_node()
TargetDispatcher.dispatch_output_definition()
TargetDispatcher.dispatch_scope()
TargetDispatcher.dispatch_state()
TargetDispatcher.dispatch_subgraph()
TargetDispatcher.get_array_dispatcher()
TargetDispatcher.get_copy_dispatcher()
TargetDispatcher.get_generic_node_dispatcher()
TargetDispatcher.get_generic_state_dispatcher()
TargetDispatcher.get_node_dispatcher()
TargetDispatcher.get_predicated_node_dispatchers()
TargetDispatcher.get_predicated_state_dispatchers()
TargetDispatcher.get_scope_dispatcher()
TargetDispatcher.get_state_dispatcher()
TargetDispatcher.register_array_dispatcher()
TargetDispatcher.register_copy_dispatcher()
TargetDispatcher.register_map_dispatcher()
TargetDispatcher.register_node_dispatcher()
TargetDispatcher.register_state_dispatcher()
TargetDispatcher.used_environments
TargetDispatcher.used_targets
- dace.codegen.exceptions module
- dace.codegen.prettycode module
- Module contents
- Subpackages
- dace.cli package
- dace.frontend package
- Subpackages
- dace.frontend.common package
- dace.frontend.octave package
- Submodules
- dace.frontend.octave.ast_arrayaccess module
- dace.frontend.octave.ast_assign module
- dace.frontend.octave.ast_expression module
AST_BinExpression
AST_BinExpression.generate_code()
AST_BinExpression.get_basetype()
AST_BinExpression.get_children()
AST_BinExpression.get_dims()
AST_BinExpression.matrix2d_matrix2d_mult()
AST_BinExpression.matrix2d_matrix2d_plus_or_minus()
AST_BinExpression.matrix2d_scalar()
AST_BinExpression.provide_parents()
AST_BinExpression.replace_child()
AST_BinExpression.scalar_scalar()
AST_BinExpression.vec_mult_vect()
AST_UnaryExpression
- dace.frontend.octave.ast_function module
- dace.frontend.octave.ast_loop module
- dace.frontend.octave.ast_matrix module
- dace.frontend.octave.ast_node module
AST_Node
AST_Node.defined_variables()
AST_Node.find_data_node_in_sdfg_state()
AST_Node.generate_code()
AST_Node.get_children()
AST_Node.get_datanode()
AST_Node.get_initializers()
AST_Node.get_name_in_sdfg()
AST_Node.get_new_tmpvar()
AST_Node.get_parent()
AST_Node.print_as_tree()
AST_Node.provide_parents()
AST_Node.replace_child()
AST_Node.replace_parent()
AST_Node.search_vardef_in_scope()
AST_Node.shortdesc()
AST_Node.specialize()
AST_Statements
- dace.frontend.octave.ast_nullstmt module
- dace.frontend.octave.ast_range module
- dace.frontend.octave.ast_values module
- dace.frontend.octave.lexer module
- dace.frontend.octave.parse module
p_arg1()
p_arg2()
p_arg_list()
p_args()
p_break_stmt()
p_case_list()
p_cellarray()
p_cellarray_2()
p_cellarrayref()
p_command()
p_comment_stmt()
p_concat_list1()
p_concat_list2()
p_continue_stmt()
p_elseif_stmt()
p_end()
p_end_function()
p_error()
p_error_stmt()
p_expr()
p_expr1()
p_expr2()
p_expr_2()
p_expr_colon()
p_expr_end()
p_expr_ident()
p_expr_list()
p_expr_number()
p_expr_stmt()
p_expr_string()
p_exprs()
p_field_expr()
p_foo_stmt()
p_for_stmt()
p_func_stmt()
p_funcall_expr()
p_global()
p_global_list()
p_global_stmt()
p_ident_init_opt()
p_if_stmt()
p_lambda_args()
p_lambda_expr()
p_matrix()
p_matrix_2()
p_null_stmt()
p_parens_expr()
p_persistent_stmt()
p_ret()
p_return_stmt()
p_semi_opt()
p_separator()
p_stmt()
p_stmt_list()
p_stmt_list_opt()
p_switch_stmt()
p_top()
p_transpose_expr()
p_try_catch()
p_unwind()
p_while_stmt()
parse()
- dace.frontend.octave.parsetab module
- Module contents
- dace.frontend.python package
- Submodules
- dace.frontend.python.astutils module
ASTFindReplace
ASTHelperMixin
AnnotateTopLevel
ConstantExtractor
ExtNodeTransformer
ExtNodeVisitor
ExtUnparser
NameFound
RemoveSubscripts
TaskletFreeSymbolVisitor
and_expr()
astrange_to_symrange()
copy_tree()
create_constant()
escape_string()
evalnode()
function_to_ast()
is_constant()
negate_expr()
parse_function_arguments()
rname()
slice_to_subscript()
subscript_to_ast_slice()
subscript_to_ast_slice_recursive()
subscript_to_slice()
unparse()
- dace.frontend.python.cached_program module
- dace.frontend.python.common module
- dace.frontend.python.interface module
- dace.frontend.python.memlet_parser module
- dace.frontend.python.ndloop module
- dace.frontend.python.newast module
AddTransientMethods
ProgramVisitor
ProgramVisitor.cfg_target
ProgramVisitor.create_callback()
ProgramVisitor.current_state
ProgramVisitor.defined
ProgramVisitor.increment_progress()
ProgramVisitor.last_block
ProgramVisitor.last_cfg_target
ProgramVisitor.make_slice()
ProgramVisitor.parse_program()
ProgramVisitor.progress_bar
ProgramVisitor.progress_count()
ProgramVisitor.sdfg
ProgramVisitor.start_time
ProgramVisitor.visit()
ProgramVisitor.visit_AnnAssign()
ProgramVisitor.visit_Assign()
ProgramVisitor.visit_AsyncWith()
ProgramVisitor.visit_Attribute()
ProgramVisitor.visit_AugAssign()
ProgramVisitor.visit_BinOp()
ProgramVisitor.visit_BoolOp()
ProgramVisitor.visit_Break()
ProgramVisitor.visit_Bytes()
ProgramVisitor.visit_Call()
ProgramVisitor.visit_Compare()
ProgramVisitor.visit_Constant()
ProgramVisitor.visit_Continue()
ProgramVisitor.visit_Dict()
ProgramVisitor.visit_ExtSlice()
ProgramVisitor.visit_For()
ProgramVisitor.visit_FunctionDef()
ProgramVisitor.visit_If()
ProgramVisitor.visit_Index()
ProgramVisitor.visit_Lambda()
ProgramVisitor.visit_List()
ProgramVisitor.visit_Name()
ProgramVisitor.visit_NameConstant()
ProgramVisitor.visit_NamedExpr()
ProgramVisitor.visit_Num()
ProgramVisitor.visit_Return()
ProgramVisitor.visit_Set()
ProgramVisitor.visit_Str()
ProgramVisitor.visit_Subscript()
ProgramVisitor.visit_TopLevelExpr()
ProgramVisitor.visit_Tuple()
ProgramVisitor.visit_TypeAlias()
ProgramVisitor.visit_UnaryOp()
ProgramVisitor.visit_While()
ProgramVisitor.visit_With()
SkipCall
TaskletTransformer
add_indirection_subgraph()
parse_dace_program()
specifies_datatype()
until()
- dace.frontend.python.parser module
- dace.frontend.python.preprocessing module
ArrayClosureResolver
AugAssignExpander
CallTreeResolver
ConditionalCodeResolver
ContextManagerInliner
DaceRecursionError
DeadCodeEliminator
DisallowedAssignmentChecker
ExpressionInliner
GlobalResolver
GlobalResolver.generic_visit()
GlobalResolver.global_value_to_node()
GlobalResolver.globals
GlobalResolver.visit_Assert()
GlobalResolver.visit_AsyncFunctionDef()
GlobalResolver.visit_Attribute()
GlobalResolver.visit_AugAssign()
GlobalResolver.visit_Call()
GlobalResolver.visit_For()
GlobalResolver.visit_FunctionDef()
GlobalResolver.visit_JoinedStr()
GlobalResolver.visit_Lambda()
GlobalResolver.visit_Name()
GlobalResolver.visit_Raise()
GlobalResolver.visit_Subscript()
GlobalResolver.visit_TopLevelExpr()
GlobalResolver.visit_keyword()
LoopUnroller
MPIResolver
ModuleResolver
ModuloConverter
PreprocessedAST
RewriteSympyEquality
StructTransformer
find_disallowed_statements()
flatten_callback()
has_replacement()
preprocess_dace_program()
- dace.frontend.python.replacements module
- dace.frontend.python.tasklet_runner module
- dace.frontend.python.wrappers module
- Module contents
- Submodules
- dace.frontend.operations module
- Module contents
- Subpackages
- dace.sdfg package
- Submodules
- dace.sdfg.graph module
DiGraph
DiGraph.add_edge()
DiGraph.add_node()
DiGraph.edges()
DiGraph.edges_between()
DiGraph.find_cycles()
DiGraph.has_cycles()
DiGraph.in_degree()
DiGraph.in_edges()
DiGraph.is_directed()
DiGraph.is_multigraph()
DiGraph.nodes()
DiGraph.number_of_edges()
DiGraph.number_of_nodes()
DiGraph.out_degree()
DiGraph.out_edges()
DiGraph.remove_edge()
DiGraph.remove_node()
Edge
EdgeNotFoundError
Graph
Graph.add_edge()
Graph.add_node()
Graph.add_nodes_from()
Graph.all_edges()
Graph.all_nodes_between()
Graph.all_simple_paths()
Graph.bfs_nodes()
Graph.degree()
Graph.dfs_edges()
Graph.edge_bfs()
Graph.edge_id()
Graph.edges()
Graph.edges_between()
Graph.in_degree()
Graph.in_edges()
Graph.is_directed()
Graph.is_multigraph()
Graph.neighbors()
Graph.node_id()
Graph.nodes()
Graph.number_of_edges()
Graph.number_of_nodes()
Graph.nx
Graph.out_degree()
Graph.out_edges()
Graph.predecessors()
Graph.remove_edge()
Graph.remove_node()
Graph.remove_nodes_from()
Graph.sink_nodes()
Graph.source_nodes()
Graph.successors()
Graph.to_json()
MultiConnectorEdge
MultiDiConnectorGraph
MultiDiGraph
MultiEdge
NodeNotFoundError
OrderedDiGraph
OrderedDiGraph.add_edge()
OrderedDiGraph.add_node()
OrderedDiGraph.edges()
OrderedDiGraph.edges_between()
OrderedDiGraph.find_cycles()
OrderedDiGraph.has_cycles()
OrderedDiGraph.in_degree()
OrderedDiGraph.in_edges()
OrderedDiGraph.is_directed()
OrderedDiGraph.is_multigraph()
OrderedDiGraph.node()
OrderedDiGraph.node_id()
OrderedDiGraph.nodes()
OrderedDiGraph.number_of_edges()
OrderedDiGraph.number_of_nodes()
OrderedDiGraph.nx
OrderedDiGraph.out_degree()
OrderedDiGraph.out_edges()
OrderedDiGraph.remove_edge()
OrderedDiGraph.remove_node()
OrderedDiGraph.reverse()
OrderedMultiDiConnectorGraph
OrderedMultiDiConnectorGraph.add_edge()
OrderedMultiDiConnectorGraph.add_nedge()
OrderedMultiDiConnectorGraph.edges_between()
OrderedMultiDiConnectorGraph.in_edges()
OrderedMultiDiConnectorGraph.is_multigraph()
OrderedMultiDiConnectorGraph.out_edges()
OrderedMultiDiConnectorGraph.remove_edge()
OrderedMultiDiConnectorGraph.reverse()
OrderedMultiDiGraph
SubgraphView
SubgraphView.add_edge()
SubgraphView.add_node()
SubgraphView.add_nodes_from()
SubgraphView.edges()
SubgraphView.edges_between()
SubgraphView.graph
SubgraphView.in_degree()
SubgraphView.in_edges()
SubgraphView.is_directed()
SubgraphView.is_multigraph()
SubgraphView.node_id()
SubgraphView.nodes()
SubgraphView.number_of_edges()
SubgraphView.number_of_nodes()
SubgraphView.out_degree()
SubgraphView.out_edges()
SubgraphView.remove_edge()
SubgraphView.remove_node()
SubgraphView.remove_nodes_from()
generate_element_id()
- dace.sdfg.nodes module
AccessNode
AccessNode.data
AccessNode.debuginfo
AccessNode.desc()
AccessNode.from_json()
AccessNode.has_reads()
AccessNode.has_writes()
AccessNode.instrument
AccessNode.instrument_condition
AccessNode.label
AccessNode.properties()
AccessNode.root_data
AccessNode.root_desc()
AccessNode.setzero
AccessNode.validate()
CodeNode
Consume
ConsumeEntry
ConsumeEntry.chunksize
ConsumeEntry.condition
ConsumeEntry.consume
ConsumeEntry.debuginfo
ConsumeEntry.free_symbols
ConsumeEntry.from_json()
ConsumeEntry.instrument
ConsumeEntry.is_collapsed
ConsumeEntry.label
ConsumeEntry.map
ConsumeEntry.new_symbols()
ConsumeEntry.num_pes
ConsumeEntry.pe_index
ConsumeEntry.properties()
ConsumeEntry.schedule
ConsumeExit
EntryNode
ExitNode
LibraryNode
Map
MapEntry
MapEntry.collapse
MapEntry.debuginfo
MapEntry.free_symbols
MapEntry.from_json()
MapEntry.gpu_block_size
MapEntry.gpu_launch_bounds
MapEntry.instrument
MapEntry.is_collapsed
MapEntry.label
MapEntry.map
MapEntry.map_type()
MapEntry.new_symbols()
MapEntry.omp_chunk_size
MapEntry.omp_num_threads
MapEntry.omp_schedule
MapEntry.params
MapEntry.properties()
MapEntry.range
MapEntry.schedule
MapEntry.unroll
MapEntry.unroll_factor
MapExit
NestedSDFG
NestedSDFG.debuginfo
NestedSDFG.free_symbols
NestedSDFG.from_json()
NestedSDFG.infer_connector_types()
NestedSDFG.instrument
NestedSDFG.is_collapsed
NestedSDFG.no_inline
NestedSDFG.properties()
NestedSDFG.schedule
NestedSDFG.sdfg
NestedSDFG.symbol_mapping
NestedSDFG.unique_name
NestedSDFG.used_symbols()
NestedSDFG.validate()
Node
Node.add_in_connector()
Node.add_out_connector()
Node.free_symbols
Node.guid
Node.in_connectors
Node.infer_connector_types()
Node.last_connector()
Node.new_symbols()
Node.next_connector()
Node.out_connectors
Node.properties()
Node.remove_in_connector()
Node.remove_out_connector()
Node.to_json()
Node.validate()
PipelineEntry
PipelineExit
PipelineScope
RTLTasklet
Tasklet
Tasklet.code
Tasklet.code_exit
Tasklet.code_global
Tasklet.code_init
Tasklet.debuginfo
Tasklet.free_symbols
Tasklet.from_json()
Tasklet.has_side_effects()
Tasklet.ignored_symbols
Tasklet.infer_connector_types()
Tasklet.instrument
Tasklet.language
Tasklet.name
Tasklet.properties()
Tasklet.side_effects
Tasklet.state_fields
Tasklet.validate()
UnregisteredLibraryNode
full_class_path()
- dace.sdfg.analysis module
- dace.sdfg.infer_types module
- dace.sdfg.propagation module
AffineSMemlet
ConstantRangeMemlet
ConstantSMemlet
GenericSMemlet
MemletPattern
ModuloSMemlet
SeparableMemlet
SeparableMemletPattern
align_memlet()
propagate_memlet()
propagate_memlets_nested_sdfg()
propagate_memlets_scope()
propagate_memlets_sdfg()
propagate_memlets_state()
propagate_states()
propagate_subset()
reset_state_annotations()
- dace.sdfg.replace module
- dace.sdfg.scope module
- dace.sdfg.sdfg module
InterstateEdge
InterstateEdge.assignments
InterstateEdge.condition
InterstateEdge.condition_sympy()
InterstateEdge.free_symbols
InterstateEdge.from_json()
InterstateEdge.get_read_memlets()
InterstateEdge.guid
InterstateEdge.is_unconditional()
InterstateEdge.label
InterstateEdge.new_symbols()
InterstateEdge.properties()
InterstateEdge.read_symbols()
InterstateEdge.replace()
InterstateEdge.replace_dict()
InterstateEdge.to_json()
InterstateEdge.used_symbols()
LogicalGroup
NestedDict
SDFG
SDFG.add_array()
SDFG.add_constant()
SDFG.add_datadesc()
SDFG.add_datadesc_reference()
SDFG.add_datadesc_view()
SDFG.add_loop()
SDFG.add_pgrid()
SDFG.add_rdistrarray()
SDFG.add_reference()
SDFG.add_scalar()
SDFG.add_stream()
SDFG.add_subarray()
SDFG.add_symbol()
SDFG.add_temp_transient()
SDFG.add_temp_transient_like()
SDFG.add_transient()
SDFG.add_view()
SDFG.append_exit_code()
SDFG.append_global_code()
SDFG.append_init_code()
SDFG.append_transformation()
SDFG.apply_fpga_transformations()
SDFG.apply_gpu_transformations()
SDFG.apply_strict_transformations()
SDFG.apply_transformations()
SDFG.apply_transformations_once_everywhere()
SDFG.apply_transformations_repeated()
SDFG.arg_names
SDFG.arglist()
SDFG.argument_typecheck()
SDFG.arrays
SDFG.arrays_recursive()
SDFG.available_data_reports()
SDFG.build_folder
SDFG.call_with_instrumented_data()
SDFG.callback_mapping
SDFG.clear_data_reports()
SDFG.clear_instrumentation_reports()
SDFG.compile()
SDFG.constants
SDFG.constants_prop
SDFG.data()
SDFG.debuginfo
SDFG.exit_code
SDFG.expand_library_nodes()
SDFG.fill_scope_connectors()
SDFG.find_new_constant()
SDFG.find_new_symbol()
SDFG.find_state()
SDFG.from_file()
SDFG.from_json()
SDFG.generate_code()
SDFG.get_all_toplevel_symbols()
SDFG.get_instrumentation_reports()
SDFG.get_instrumented_data()
SDFG.get_latest_report()
SDFG.get_latest_report_path()
SDFG.global_code
SDFG.hash_sdfg()
SDFG.init_code
SDFG.init_signature()
SDFG.instrument
SDFG.is_instrumented()
SDFG.is_loaded()
SDFG.is_name_free()
SDFG.is_name_used()
SDFG.is_valid()
SDFG.label
SDFG.logical_groups
SDFG.make_array_memlet()
SDFG.name
SDFG.openmp_sections
SDFG.orig_sdfg
SDFG.parent
SDFG.parent_nsdfg_node
SDFG.parent_sdfg
SDFG.predecessor_state_transitions()
SDFG.predecessor_states()
SDFG.prepend_exit_code()
SDFG.process_grids
SDFG.propagate
SDFG.properties()
SDFG.python_signature()
SDFG.python_signature_arglist()
SDFG.rdistrarrays
SDFG.read_and_write_sets()
SDFG.recheck_using_experimental_blocks()
SDFG.remove_data()
SDFG.remove_node()
SDFG.remove_symbol()
SDFG.replace()
SDFG.replace_dict()
SDFG.reset_sdfg_list()
SDFG.save()
SDFG.sdfg_id
SDFG.sdfg_list
SDFG.set_exit_code()
SDFG.set_global_code()
SDFG.set_init_code()
SDFG.set_sourcecode()
SDFG.shared_transients()
SDFG.signature()
SDFG.signature_arglist()
SDFG.simplify()
SDFG.specialize()
SDFG.start_state
SDFG.states()
SDFG.subarrays
SDFG.symbols
SDFG.temp_data_name()
SDFG.to_json()
SDFG.transformation_hist
SDFG.transients()
SDFG.update_sdfg_list()
SDFG.using_experimental_blocks
SDFG.validate()
SDFG.view()
memlets_in_ast()
- dace.sdfg.state module
BlockGraphView
BlockGraphView.all_edges_recursive()
BlockGraphView.all_nodes_recursive()
BlockGraphView.all_transients()
BlockGraphView.arglist()
BlockGraphView.data_nodes()
BlockGraphView.edges()
BlockGraphView.edges_by_connector()
BlockGraphView.entry_node()
BlockGraphView.exit_node()
BlockGraphView.free_symbols
BlockGraphView.in_degree()
BlockGraphView.in_edges_by_connector()
BlockGraphView.memlet_path()
BlockGraphView.memlet_tree()
BlockGraphView.nodes()
BlockGraphView.out_degree()
BlockGraphView.out_edges_by_connector()
BlockGraphView.read_and_write_sets()
BlockGraphView.replace()
BlockGraphView.replace_dict()
BlockGraphView.sdfg
BlockGraphView.signature_arglist()
BlockGraphView.top_level_transients()
BlockGraphView.unordered_arglist()
BlockGraphView.used_symbols()
BreakBlock
ConditionalBlock
ContinueBlock
ControlFlowBlock
ControlFlowBlock.block_id
ControlFlowBlock.edges()
ControlFlowBlock.from_json()
ControlFlowBlock.guid
ControlFlowBlock.invariant_conditions
ControlFlowBlock.is_collapsed
ControlFlowBlock.label
ControlFlowBlock.name
ControlFlowBlock.nodes()
ControlFlowBlock.parent_graph
ControlFlowBlock.post_conditions
ControlFlowBlock.pre_conditions
ControlFlowBlock.properties()
ControlFlowBlock.sdfg
ControlFlowBlock.set_default_lineinfo()
ControlFlowBlock.to_json()
ControlFlowBlock.view()
ControlFlowRegion
ControlFlowRegion.add_edge()
ControlFlowRegion.add_node()
ControlFlowRegion.add_return()
ControlFlowRegion.add_state()
ControlFlowRegion.add_state_after()
ControlFlowRegion.add_state_before()
ControlFlowRegion.all_control_flow_blocks()
ControlFlowRegion.all_control_flow_regions()
ControlFlowRegion.all_interstate_edges()
ControlFlowRegion.all_sdfgs_recursive()
ControlFlowRegion.all_states()
ControlFlowRegion.cfg_id
ControlFlowRegion.cfg_list
ControlFlowRegion.from_json()
ControlFlowRegion.inline()
ControlFlowRegion.properties()
ControlFlowRegion.reset_cfg_list()
ControlFlowRegion.root_sdfg
ControlFlowRegion.start_block
ControlFlowRegion.state()
ControlFlowRegion.to_json()
ControlFlowRegion.update_cfg_list()
ControlGraphView
ControlGraphView.all_edges_recursive()
ControlGraphView.all_nodes_recursive()
ControlGraphView.all_transients()
ControlGraphView.data_nodes()
ControlGraphView.edges()
ControlGraphView.edges_by_connector()
ControlGraphView.entry_node()
ControlGraphView.exit_node()
ControlGraphView.in_edges_by_connector()
ControlGraphView.memlet_path()
ControlGraphView.memlet_tree()
ControlGraphView.nodes()
ControlGraphView.out_edges_by_connector()
ControlGraphView.properties()
ControlGraphView.read_and_write_sets()
ControlGraphView.replace()
ControlGraphView.replace_dict()
ControlGraphView.top_level_transients()
ControlGraphView.unordered_arglist()
ControlGraphView.used_symbols()
DataflowGraphView
DataflowGraphView.all_edges_recursive()
DataflowGraphView.all_nodes_recursive()
DataflowGraphView.all_transients()
DataflowGraphView.data_nodes()
DataflowGraphView.defined_symbols()
DataflowGraphView.edges()
DataflowGraphView.edges_by_connector()
DataflowGraphView.entry_node()
DataflowGraphView.exit_node()
DataflowGraphView.free_symbols
DataflowGraphView.in_edges_by_connector()
DataflowGraphView.is_leaf_memlet()
DataflowGraphView.memlet_path()
DataflowGraphView.memlet_tree()
DataflowGraphView.nodes()
DataflowGraphView.out_edges_by_connector()
DataflowGraphView.properties()
DataflowGraphView.read_and_write_sets()
DataflowGraphView.replace()
DataflowGraphView.replace_dict()
DataflowGraphView.scope_children()
DataflowGraphView.scope_dict()
DataflowGraphView.scope_leaves()
DataflowGraphView.scope_subgraph()
DataflowGraphView.scope_tree()
DataflowGraphView.signature_arglist()
DataflowGraphView.top_level_transients()
DataflowGraphView.unordered_arglist()
DataflowGraphView.used_symbols()
FunctionCallRegion
LoopRegion
LoopRegion.add_break()
LoopRegion.add_continue()
LoopRegion.has_break
LoopRegion.has_continue
LoopRegion.has_return
LoopRegion.init_statement
LoopRegion.inline()
LoopRegion.inverted
LoopRegion.loop_condition
LoopRegion.loop_variable
LoopRegion.properties()
LoopRegion.replace_dict()
LoopRegion.update_before_condition
LoopRegion.update_statement
NamedRegion
ReturnBlock
SDFGState
SDFGState.add_access()
SDFGState.add_array()
SDFGState.add_consume()
SDFGState.add_edge()
SDFGState.add_edge_pair()
SDFGState.add_map()
SDFGState.add_mapped_tasklet()
SDFGState.add_memlet_path()
SDFGState.add_nested_sdfg()
SDFGState.add_node()
SDFGState.add_pipeline()
SDFGState.add_read()
SDFGState.add_reduce()
SDFGState.add_scalar()
SDFGState.add_stream()
SDFGState.add_tasklet()
SDFGState.add_transient()
SDFGState.add_write()
SDFGState.all_edges_and_connectors()
SDFGState.dynamic_executions
SDFGState.executions
SDFGState.fill_scope_connectors()
SDFGState.from_json()
SDFGState.instrument
SDFGState.is_empty()
SDFGState.location
SDFGState.nodes()
SDFGState.nosync
SDFGState.parent
SDFGState.properties()
SDFGState.ranges
SDFGState.remove_edge()
SDFGState.remove_edge_and_connectors()
SDFGState.remove_memlet_path()
SDFGState.remove_node()
SDFGState.symbol_instrument
SDFGState.symbol_instrument_condition
SDFGState.symbols_defined_at()
SDFGState.to_json()
SDFGState.validate()
StateSubgraphView
- dace.sdfg.utils module
StopTraversal
change_edge_dest()
change_edge_src()
check_sdfg()
concurrent_subgraphs()
consolidate_edges()
consolidate_edges_scope()
depth_limited_dfs_iter()
depth_limited_search()
dfs_conditional()
dfs_topological_sort()
distributed_compile()
dynamic_map_inputs()
find_input_arraynode()
find_output_arraynode()
fuse_states()
get_all_view_nodes()
get_global_memlet_path_dst()
get_global_memlet_path_src()
get_last_view_node()
get_next_nonempty_states()
get_thread_local_data()
get_view_edge()
get_view_node()
has_dynamic_map_inputs()
inline_conditional_blocks()
inline_control_flow_regions()
inline_loop_blocks()
inline_sdfgs()
is_array_stream_view()
is_fpga_kernel()
is_nonfree_sym_dependent()
is_parallel()
load_precompiled_sdfg()
local_transients()
make_dynamic_map_inputs_unique()
map_view_to_array()
merge_maps()
node_path_graph()
nodes_in_all_simple_paths()
normalize_offsets()
postdominators()
prune_symbols()
remove_edge_and_dangling_path()
scope_aware_topological_sort()
separate_maps()
trace_nested_access()
traverse_sdfg_with_defined_symbols()
unique_node_repr()
weakly_connected_component()
- dace.sdfg.validation module
- Module contents
- dace.transformation package
- Subpackages
- dace.transformation.auto package
- dace.transformation.dataflow package
- Submodules
- dace.transformation.dataflow.copy_to_device module
- dace.transformation.dataflow.double_buffering module
- dace.transformation.dataflow.gpu_transform module
GPUTransformMap
GPUTransformMap.apply()
GPUTransformMap.can_be_applied()
GPUTransformMap.expressions()
GPUTransformMap.fullcopy
GPUTransformMap.map_entry
GPUTransformMap.match_to_str()
GPUTransformMap.properties()
GPUTransformMap.reduce
GPUTransformMap.register_trans
GPUTransformMap.sequential_innermaps
GPUTransformMap.stdlib
GPUTransformMap.toplevel_trans
- dace.transformation.dataflow.gpu_transform_local_storage module
GPUTransformLocalStorage
GPUTransformLocalStorage.apply()
GPUTransformLocalStorage.can_be_applied()
GPUTransformLocalStorage.expressions()
GPUTransformLocalStorage.fullcopy
GPUTransformLocalStorage.map_entry
GPUTransformLocalStorage.match_to_str()
GPUTransformLocalStorage.nested_seq
GPUTransformLocalStorage.properties()
GPUTransformLocalStorage.reduce
GPUTransformLocalStorage.stdlib
in_path()
in_scope()
- dace.transformation.dataflow.local_storage module
- dace.transformation.dataflow.map_collapse module
- dace.transformation.dataflow.map_expansion module
- dace.transformation.dataflow.map_fission module
- dace.transformation.dataflow.map_for_loop module
- dace.transformation.dataflow.map_fusion module
- dace.transformation.dataflow.map_interchange module
- dace.transformation.dataflow.mapreduce module
MapReduceFusion
MapReduceFusion.apply()
MapReduceFusion.can_be_applied()
MapReduceFusion.expressions()
MapReduceFusion.in_array
MapReduceFusion.match_to_str()
MapReduceFusion.no_init
MapReduceFusion.out_array
MapReduceFusion.properties()
MapReduceFusion.reduce
MapReduceFusion.stdlib
MapReduceFusion.tasklet
MapReduceFusion.tmap_exit
MapWCRFusion
MapWCRFusion.apply()
MapWCRFusion.can_be_applied()
MapWCRFusion.expressions()
MapWCRFusion.in_array
MapWCRFusion.match_to_str()
MapWCRFusion.out_array
MapWCRFusion.rmap_in_cr
MapWCRFusion.rmap_in_entry
MapWCRFusion.rmap_in_tasklet
MapWCRFusion.rmap_out_entry
MapWCRFusion.rmap_out_exit
MapWCRFusion.tasklet
MapWCRFusion.tmap_exit
- dace.transformation.dataflow.matrix_product_transpose module
MatrixProductTranspose
MatrixProductTranspose.a_times_b
MatrixProductTranspose.apply()
MatrixProductTranspose.at
MatrixProductTranspose.blas
MatrixProductTranspose.bt
MatrixProductTranspose.can_be_applied()
MatrixProductTranspose.expressions()
MatrixProductTranspose.match_to_str()
MatrixProductTranspose.properties()
MatrixProductTranspose.std
MatrixProductTranspose.transpose_a
MatrixProductTranspose.transpose_b
- dace.transformation.dataflow.merge_arrays module
- dace.transformation.dataflow.mpi module
- dace.transformation.dataflow.otf_map_fusion module
- dace.transformation.dataflow.reduce_expansion module
ReduceExpansion
ReduceExpansion.apply()
ReduceExpansion.can_be_applied()
ReduceExpansion.create_in_transient
ReduceExpansion.create_out_transient
ReduceExpansion.debug
ReduceExpansion.expand()
ReduceExpansion.expressions()
ReduceExpansion.properties()
ReduceExpansion.reduce
ReduceExpansion.reduce_implementation
ReduceExpansion.reduction_type_identity
ReduceExpansion.reduction_type_update
ReduceExpansion.stdlib
- dace.transformation.dataflow.redundant_array module
- dace.transformation.dataflow.redundant_array_copying module
- dace.transformation.dataflow.streaming_memory module
StreamingComposition
StreamingMemory
StreamingMemory.access
StreamingMemory.apply()
StreamingMemory.buffer_size
StreamingMemory.can_be_applied()
StreamingMemory.entry
StreamingMemory.exit
StreamingMemory.expressions()
StreamingMemory.memory_buffering_target_bytes
StreamingMemory.properties()
StreamingMemory.storage
StreamingMemory.use_memory_buffering
get_post_state()
is_int()
- dace.transformation.dataflow.stream_transient module
- dace.transformation.dataflow.strip_mining module
StripMining
StripMining.annotates_memlets()
StripMining.apply()
StripMining.can_be_applied()
StripMining.dim_idx
StripMining.divides_evenly
StripMining.expressions()
StripMining.map_entry
StripMining.match_to_str()
StripMining.new_dim_prefix
StripMining.properties()
StripMining.skew
StripMining.strided
StripMining.tile_offset
StripMining.tile_size
StripMining.tile_stride
StripMining.tiling_type
calc_set_image()
calc_set_image_index()
calc_set_image_range()
calc_set_union()
- dace.transformation.dataflow.tiling module
- dace.transformation.dataflow.vectorization module
- dace.transformation.dataflow.warp_tiling module
- Module contents
- dace.transformation.interstate package
- Submodules
- dace.transformation.interstate.fpga_transform_sdfg module
FPGATransformSDFG
FPGATransformSDFG.annotates_memlets()
FPGATransformSDFG.apply()
FPGATransformSDFG.apply_pass()
FPGATransformSDFG.apply_pattern()
FPGATransformSDFG.apply_to()
FPGATransformSDFG.can_be_applied()
FPGATransformSDFG.expressions()
FPGATransformSDFG.promote_global_trans
FPGATransformSDFG.properties()
FPGATransformSDFG.setup_match()
- dace.transformation.interstate.fpga_transform_state module
- dace.transformation.interstate.gpu_transform_sdfg module
GPUTransformSDFG
GPUTransformSDFG.annotates_memlets()
GPUTransformSDFG.apply()
GPUTransformSDFG.apply_pass()
GPUTransformSDFG.apply_pattern()
GPUTransformSDFG.apply_to()
GPUTransformSDFG.can_be_applied()
GPUTransformSDFG.exclude_copyin
GPUTransformSDFG.exclude_copyout
GPUTransformSDFG.exclude_tasklets
GPUTransformSDFG.expressions()
GPUTransformSDFG.properties()
GPUTransformSDFG.register_trans
GPUTransformSDFG.sequential_innermaps
GPUTransformSDFG.setup_match()
GPUTransformSDFG.simplify
GPUTransformSDFG.skip_scalar_tasklets
GPUTransformSDFG.toplevel_trans
- dace.transformation.interstate.loop_detection module
DetectLoop
DetectLoop.apply()
DetectLoop.can_be_applied()
DetectLoop.detect_loop()
DetectLoop.detect_rotated_loop()
DetectLoop.detect_self_loop()
DetectLoop.entry_state
DetectLoop.exit_state
DetectLoop.expressions()
DetectLoop.first_loop_block
DetectLoop.inverted
DetectLoop.loop_begin
DetectLoop.loop_body()
DetectLoop.loop_break
DetectLoop.loop_condition_edge()
DetectLoop.loop_exit_edge()
DetectLoop.loop_guard
DetectLoop.loop_increment_edge()
DetectLoop.loop_information()
DetectLoop.loop_init_edge()
DetectLoop.loop_latch
DetectLoop.loop_meta_states()
find_for_loop()
find_rotated_for_loop()
rotated_loop_find_itvar()
- dace.transformation.interstate.loop_to_map module
- dace.transformation.interstate.move_loop_into_map module
- dace.transformation.interstate.loop_peeling module
- dace.transformation.interstate.loop_unroll module
- dace.transformation.interstate.sdfg_nesting module
ASTRefiner
InlineSDFG
InlineTransients
InlineTransients.annotates_memlets()
InlineTransients.apply()
InlineTransients.apply_pass()
InlineTransients.apply_pattern()
InlineTransients.apply_to()
InlineTransients.can_be_applied()
InlineTransients.expressions()
InlineTransients.nsdfg
InlineTransients.properties()
InlineTransients.setup_match()
NestSDFG
RefineNestedAccess
RefineNestedAccess.annotates_memlets()
RefineNestedAccess.apply()
RefineNestedAccess.apply_pass()
RefineNestedAccess.apply_pattern()
RefineNestedAccess.apply_to()
RefineNestedAccess.can_be_applied()
RefineNestedAccess.expressions()
RefineNestedAccess.nsdfg
RefineNestedAccess.properties()
RefineNestedAccess.setup_match()
- dace.transformation.interstate.state_elimination module
EndStateElimination
FalseConditionElimination
HoistState
StartStateElimination
StateAssignElimination
SymbolAliasPromotion
SymbolAliasPromotion.apply()
SymbolAliasPromotion.apply_pass()
SymbolAliasPromotion.apply_pattern()
SymbolAliasPromotion.apply_to()
SymbolAliasPromotion.can_be_applied()
SymbolAliasPromotion.expressions()
SymbolAliasPromotion.first_state
SymbolAliasPromotion.second_state
SymbolAliasPromotion.setup_match()
TrueConditionElimination
- dace.transformation.interstate.state_fusion module
- Module contents
- Available Passes
- Scalar-to-Symbol Promotion
- Dead Memory Elimination and Merging
ArrayElimination
ArrayElimination.CATEGORY
ArrayElimination.apply_pass()
ArrayElimination.depends_on()
ArrayElimination.merge_access_nodes()
ArrayElimination.modifies()
ArrayElimination.properties()
ArrayElimination.remove_redundant_copies()
ArrayElimination.remove_redundant_views()
ArrayElimination.report()
ArrayElimination.should_reapply()
TransientReuse
- Dead Code Elimination
DeadStateElimination
DeadStateElimination.CATEGORY
DeadStateElimination.apply_pass()
DeadStateElimination.find_dead_states()
DeadStateElimination.is_definitely_not_taken()
DeadStateElimination.is_definitely_taken()
DeadStateElimination.modifies()
DeadStateElimination.properties()
DeadStateElimination.report()
DeadStateElimination.should_reapply()
DeadDataflowElimination
DeadDataflowElimination.CATEGORY
DeadDataflowElimination.apply_pass()
DeadDataflowElimination.depends_on()
DeadDataflowElimination.modifies()
DeadDataflowElimination.properties()
DeadDataflowElimination.remove_persistent_memory
DeadDataflowElimination.report()
DeadDataflowElimination.should_reapply()
DeadDataflowElimination.skip_library_nodes
PROTECTED_NAMES
RemoveUnusedSymbols
- Constant Propagation
ConstantPropagation
ConstantPropagation.CATEGORY
ConstantPropagation.apply_pass()
ConstantPropagation.collect_constants()
ConstantPropagation.modifies()
ConstantPropagation.progress
ConstantPropagation.properties()
ConstantPropagation.recursive
ConstantPropagation.report()
ConstantPropagation.should_apply()
ConstantPropagation.should_reapply()
OptionalArrayInference
- Memlet Consolidation
- State Fusion and SDFG Inlining
- Analysis Passes
- The Simplify Pass Pipeline
- Module contents
- dace.transformation.subgraph package
- Submodules
- dace.transformation.subgraph.expansion module
- dace.transformation.subgraph.gpu_persistent_fusion module
GPUPersistentKernel
GPUPersistentKernel.apply()
GPUPersistentKernel.can_be_applied()
GPUPersistentKernel.get_entry_states()
GPUPersistentKernel.get_exit_states()
GPUPersistentKernel.include_in_assignment
GPUPersistentKernel.is_gpu_state()
GPUPersistentKernel.kernel_prefix
GPUPersistentKernel.properties()
GPUPersistentKernel.validate
- dace.transformation.subgraph.helpers module
- dace.transformation.subgraph.subgraph_fusion module
SubgraphFusion
SubgraphFusion.adjust_arrays_nsdfg()
SubgraphFusion.apply()
SubgraphFusion.can_be_applied()
SubgraphFusion.check_topo_feasibility()
SubgraphFusion.clone_intermediate_nodes()
SubgraphFusion.consolidate
SubgraphFusion.copy_edge()
SubgraphFusion.debug
SubgraphFusion.determine_compressible_nodes()
SubgraphFusion.determine_invariant_dimensions()
SubgraphFusion.disjoint_subsets
SubgraphFusion.fuse()
SubgraphFusion.get_adjacent_nodes()
SubgraphFusion.get_invariant_dimensions()
SubgraphFusion.keep_global
SubgraphFusion.prepare_intermediate_nodes()
SubgraphFusion.propagate
SubgraphFusion.properties()
SubgraphFusion.schedule_innermaps
SubgraphFusion.transient_allocation
- Module contents
- Submodules
- Passes and Pipelines
- Transformations
ExpandTransformation
ExpandTransformation.apply()
ExpandTransformation.can_be_applied()
ExpandTransformation.expansion()
ExpandTransformation.expressions()
ExpandTransformation.from_json()
ExpandTransformation.match_to_str()
ExpandTransformation.postprocessing()
ExpandTransformation.properties()
ExpandTransformation.to_json()
MultiStateTransformation
PatternNode
PatternTransformation
PatternTransformation.annotates_memlets()
PatternTransformation.apply()
PatternTransformation.apply_pass()
PatternTransformation.apply_pattern()
PatternTransformation.apply_to()
PatternTransformation.can_be_applied()
PatternTransformation.can_be_applied_to()
PatternTransformation.cfg_id
PatternTransformation.expr_index
PatternTransformation.expressions()
PatternTransformation.from_json()
PatternTransformation.match_to_str()
PatternTransformation.print_match()
PatternTransformation.properties()
PatternTransformation.setup_match()
PatternTransformation.state_id
PatternTransformation.subclasses_recursive()
PatternTransformation.subgraph
PatternTransformation.to_json()
SingleStateTransformation
SubgraphTransformation
SubgraphTransformation.apply()
SubgraphTransformation.apply_pass()
SubgraphTransformation.apply_to()
SubgraphTransformation.can_be_applied()
SubgraphTransformation.can_be_applied_to()
SubgraphTransformation.cfg_id
SubgraphTransformation.from_json()
SubgraphTransformation.get_subgraph()
SubgraphTransformation.properties()
SubgraphTransformation.setup_match()
SubgraphTransformation.state_id
SubgraphTransformation.subclasses_recursive()
SubgraphTransformation.subgraph
SubgraphTransformation.subgraph_view()
SubgraphTransformation.to_json()
TransformationBase
experimental_cfg_block_compatible()
single_level_sdfg_only()
- dace.transformation.helpers module
are_subsets_contiguous()
can_run_state_on_fpga()
constant_symbols()
contained_in()
extract_map_dims()
find_contiguous_subsets()
find_sdfg_control_flow()
get_internal_scopes()
get_parent_map()
gpu_map_has_explicit_threadblocks()
is_symbol_unused()
make_map_internal_write_external()
nest_sdfg_control_flow()
nest_sdfg_subgraph()
nest_state_subgraph()
offset_map()
permute_map()
reconnect_edge_through_map()
redirect_edge()
replace_code_to_code_edges()
replicate_scope()
scope_tree_recursive()
simplify_state()
split_interstate_edges()
state_fission()
state_fission_after()
tile()
unsqueeze_memlet()
- dace.transformation.passes.pattern_matching module
PatternApplyOnceEverywhere
PatternMatchAndApply
PatternMatchAndApply.CATEGORY
PatternMatchAndApply.apply_pass()
PatternMatchAndApply.depends_on()
PatternMatchAndApply.modifies()
PatternMatchAndApply.permissive
PatternMatchAndApply.print_report
PatternMatchAndApply.progress
PatternMatchAndApply.properties()
PatternMatchAndApply.should_reapply()
PatternMatchAndApply.states
PatternMatchAndApply.transformations
PatternMatchAndApply.validate
PatternMatchAndApply.validate_all
PatternMatchAndApplyRepeated
collapse_multigraph_to_nx()
enumerate_matches()
get_transformation_metadata()
match_patterns()
type_match()
type_or_class_match()
- dace.transformation.optimizer module
- dace.transformation.testing module
- Module contents
- Subpackages
- dace.optimization package
- Tuning APIs
AutoTuner
CutoutTuner
CutoutTuner.apply()
CutoutTuner.config_from_key()
CutoutTuner.cutouts()
CutoutTuner.dry_run()
CutoutTuner.evaluate()
CutoutTuner.file_name()
CutoutTuner.measure()
CutoutTuner.optimize()
CutoutTuner.pre_evaluate()
CutoutTuner.search()
CutoutTuner.space()
CutoutTuner.task
CutoutTuner.top_k_configs()
CutoutTuner.try_load()
tqdm()
DistributedCutoutTuner
DistributedSpaceTuner
tqdm()
- Auto-Tuners
- Utilities
- Module contents
- Tuning APIs
Submodules
dace.builtin_hooks module
A set of built-in hooks.
- dace.builtin_hooks.cli_optimize_on_call(sdfg)
Calls a command-line interface for interactive SDFG transformations on every DaCe program call.
- Parameters:
sdfg (SDFG) – The current SDFG to optimize.
- dace.builtin_hooks.instrument(itype, filter, annotate_maps=True, annotate_tasklets=False, annotate_states=False, annotate_sdfgs=False)
Context manager that instruments every called DaCe program. Depending on the given instrumentation type and parameters, annotates the given elements on the SDFG. Filtering is possible with strings and wildcards, or a function (if given).
Example usage:
with dace.instrument(dace.InstrumentationType.GPU_Events, filter='*add??') as profiler: some_program(...) # ... other_program(...) # Print instrumentation report for last call print(profiler.reports[-1])
- Parameters:
itype (
InstrumentationType
) – Instrumentation type to use.filter (
Union
[str
,Callable
[[Any
],bool
],None
]) – An optional string with*
and?
wildcards, or function that receives one parameter, determining whether to instrument the element or not.annotate_maps (
bool
) – If True, instruments scopes (e.g., map, consume) in the SDFGs.annotate_tasklets (
bool
) – If True, instruments tasklets in the SDFGs.annotate_states (
bool
) – If True, instruments states in the SDFGs.annotate_sdfgs (
bool
) – If True, instruments whole SDFGs and sub-SDFGs.
- dace.builtin_hooks.instrument_data(ditype, filter, restore_from=None, verbose=False)
Context manager that instruments (serializes/deserializes) the data of every called DaCe program. This can be used for reproducible runs and debugging. Depending on the given data instrumentation type and parameters, annotates the access nodes on the SDFG. Filtering is possible with strings and wildcards, or a function (if given). An optional instrumented data report can be given to load a specific set of data.
Example usage:
@dace def sample(a: dace.float64, b: dace.float64): arr = a + b return arr + 1 with dace.instrument_data(dace.DataInstrumentationType.Save, filter='a??'): result_ab = sample(a, b) # Optionally, get the serialized data containers dreport = sdfg.get_instrumented_data() assert dreport.keys() == {'arr'} # dreport['arr'] is now the internal ``arr`` # Reload latest instrumented data (can be customized if ``restore_from`` is given) with dace.instrument_data(dace.DataInstrumentationType.Restore, filter='a??'): result_cd = sample(c, d) # where ``c, d`` are different from ``a, b`` assert numpy.allclose(result_ab, result_cd)
- Parameters:
ditype (DataInstrumentationType) – Data instrumentation type to use.
filter (
Union
[str
,Callable
[[Any
],bool
],None
]) – An optional string with*
and?
wildcards, or function that receives one parameter, determining whether to instrument the access node or not.restore_from (
Union
[str
, InstrumentedDataReport,None
]) – An optional parameter that specifies which instrumented data report to load data from. It could be a path to a folder, anInstrumentedDataReport
object, or None to load the latest generated report.verbose (
bool
) – If True, prints information about created and loaded instrumented data reports.
- dace.builtin_hooks.profile(repetitions=100, warmup=0, tqdm_leave=True, print_results=True)
Context manager that enables profiling of each called DaCe program. If repetitions is greater than 1, the program is run multiple times and the average execution time is reported.
Example usage:
with dace.profile(repetitions=100) as profiler: some_program(...) # ... other_program(...) # Print all execution times of the last called program (other_program) print(profiler.times[-1])
- Parameters:
repetitions (
int
) – The number of times to run each DaCe program.warmup (
int
) – Number of additional repetitions to run the program without measuring time.tqdm_leave (
bool
) – Sets theleave
parameter of thetqdm
progress bar (useful for nested progress bars). Ignored if tqdm progress bar is not used.print_results (
bool
) – Whether or not to print the median execution time after all repetitions.
- Note:
Running functions multiple times may affect the results of the program.
dace.config module
- class dace.config.Config
Bases:
object
Interface to the DaCe hierarchical configuration file.
- static append(*key_hierarchy, value=None, autosave=False)
Appends to the current value of a given configuration entry and sets it.
- Parameters:
key_hierarchy – A tuple of strings leading to the configuration entry. For example: (‘a’, ‘b’, ‘c’) would be configuration entry c which is in the path a->b.
value – The value to append.
autosave – If True, saves the configuration to the file after modification.
- Returns:
Current configuration entry value.
Examples:
Config.append('compiler', 'cpu', 'args', value='-fPIC')
- static cfg_filename()
Returns the current configuration file path.
- default_filename = '.dace.conf'
- static get(*key_hierarchy)
Returns the current value of a given configuration entry.
- Parameters:
key_hierarchy – A tuple of strings leading to the configuration entry. For example: (‘a’, ‘b’, ‘c’) would be configuration entry c which is in the path a->b.
- Returns:
Configuration entry value.
- static get_bool(*key_hierarchy)
Returns the current value of a given boolean configuration entry. This specialization allows more string types to be converted to boolean, e.g., due to environment variable overrides.
- Parameters:
key_hierarchy – A tuple of strings leading to the configuration entry. For example: (‘a’, ‘b’, ‘c’) would be configuration entry c which is in the path a->b.
- Returns:
Configuration entry value (as a boolean).
- static get_default(*key_hierarchy)
Returns the default value of a given configuration entry. Takes into accound current operating system.
- Parameters:
key_hierarchy – A tuple of strings leading to the configuration entry. For example: (‘a’, ‘b’, ‘c’) would be configuration entry c which is in the path a->b.
- Returns:
Default configuration value.
- static get_metadata(*key_hierarchy)
Returns the configuration specification of a given entry from the schema.
- Parameters:
key_hierarchy – A tuple of strings leading to the configuration entry. For example: (‘a’, ‘b’, ‘c’) would be configuration entry c which is in the path a->b.
- Returns:
Configuration specification as a dictionary.
- static initialize()
Initializes configuration.
- Note:
This function runs automatically when the module is loaded.
- static load(filename=None, file=None)
Loads a configuration from an existing file.
- Parameters:
filename – The file to load. If unspecified, uses default configuration file.
file – Load the configuration from the file object.
- static load_schema(filename=None)
Loads a configuration schema from an existing file.
- Parameters:
filename – The file to load. If unspecified, uses default schema file.
- static nondefaults()
- Return type:
Dict
[str
,Any
]
- static save(path=None, all=False, file=None)
Saves the current configuration to a file.
- Parameters:
path – The file to save to. If unspecified, uses default configuration file.
all (
bool
) – If False, only saves non-default configuration entries. Otherwise saves all entries.file – A file object to use directly.
- static set(*key_hierarchy, value=None, autosave=False)
Sets the current value of a given configuration entry.
- Parameters:
key_hierarchy – A tuple of strings leading to the configuration entry. For example: (‘a’, ‘b’, ‘c’) would be configuration entry c which is in the path a->b.
value – The value to set.
autosave – If True, saves the configuration to the file after modification.
Examples:
Config.set('profiling', value=True)
- dace.config.set_temporary(*path, value)
Temporarily set configuration value at
path
to value, and reset it after the context manager exits.Example:
print(Config.get("compiler", "build_type") with set_temporary("compiler", "build_type", value="Debug"): print(Config.get("compiler", "build_type") print(Config.get("compiler", "build_type")
- dace.config.temporary_config()
Creates a context where all configuration options changed will be reset when the context exits.
Example:
with temporary_config(): Config.set("testing", "serialization", value=True) Config.set("optimizer", "autooptimize", value=True) foo()
dace.data module
- class dace.data.Array(*args, **kwargs)
Bases:
Data
Array data descriptor. This object represents a multi-dimensional data container in SDFGs that can be accessed and modified. The definition does not contain the actual array, but rather a description of how to construct it and how it should behave.
The array definition is flexible in terms of data allocation, it allows arbitrary multidimensional, potentially symbolic shapes (e.g., an array with size
N+1 x M
will haveshape=(N+1, M)
), of arbitrary data typeclasses (dtype
). The physical data layout of the array is controlled by several properties:The
strides
property determines the ordering and layout of the dimensions — it specifies how many elements in memory are skipped whenever one element in that dimension is advanced. For example, the contiguous dimension always has a stride of1
; a C-style MxN array will have strides(N, 1)
, whereas a FORTRAN-style array of the same size will have(1, M)
. Strides can be larger than the shape, which allows post-padding of the contents of each dimension.The
start_offset
property is a number of elements to pad the beginning of the memory buffer with. This is used to ensure that a specific index is aligned as a form of pre-padding (that element may not necessarily be the first element, e.g., in the case of halo or “ghost cells” in stencils).The
total_size
property determines how large the total allocation size is. Normally, it is the product of theshape
elements, but if pre- or post-padding is involved it may be larger.alignment
provides alignment guarantees (in bytes) of the first element in the allocated array. This is used by allocators in the code generator to ensure certain addresses are expected to be aligned, e.g., for vectorization.Lastly, a property called
offset
controls the logical access of the array, i.e., what would be the first element’s index after padding and alignment. This mimics a language feature prominent in scientific languages such as FORTRAN, where one could set an array to begin with 1, or any arbitrary index. By default this is set to zero.
To summarize with an example, a two-dimensional array with pre- and post-padding looks as follows:
[xxx][ |xx] [ |xx] [ |xx] [ |xx] --------------- [xxxxxxxxxxxxx] shape = (4, 10) strides = (12, 1) start_offset = 3 total_size = 63 [= 3 + 12 * 5] offset = (0, 0, 0)
Notice that the last padded row does not appear in strides, but is a consequence of
total_size
being larger.Apart from memory layout, other properties of
Array
help the data-centric transformation infrastructure make decisions about the array.allow_conflicts
states that warnings should not be printed if potential conflicted acceses (e.g., data races) occur.may_alias
inhibits transformations that may assume that this array does not overlap with other arrays in the same context (e.g., function).- alignment
Allocation alignment in bytes (0 uses compiler-default)
- allow_conflicts
If enabled, allows more than one memlet to write to the same memory location without conflict resolution.
- as_arg(with_types=True, for_call=False, name=None)
Returns a string for a C++ function signature (e.g., int *A).
- as_python_arg(with_types=True, for_call=False, name=None)
Returns a string for a Data-Centric Python function signature (e.g., A: dace.int32[M]).
- clone()
- covers_range(rng)
- property free_symbols
Returns a set of undefined symbols in this data descriptor.
- classmethod from_json(json_obj, context=None)
- is_equivalent(other)
Check for equivalence (shape and type) of two data descriptors.
- may_alias
This pointer may alias with other pointers in the same function
- offset
Initial offset to translate all indices by.
- optional
Specifies whether this array may have a value of None. If False, the array must not be None. If option is not set, it is inferred by other properties and the OptionalArrayInference pass.
- pool
Hint to the allocator that using a memory pool is preferred
- properties()
- set_shape(new_shape, strides=None, total_size=None, offset=None)
Updates the shape of an array.
- sizes()
- start_offset
Allocation offset elements for manual alignment (pre-padding)
- strides
For each dimension, the number of elements to skip in order to obtain the next element in that dimension.
- to_json()
- total_size
The total allocated size of the array. Can be used for padding.
- used_symbols(all_symbols)
Returns a set of symbols that are used by this data descriptor.
- Parameters:
all_symbols (
bool
) – Include not-strictly-free symbols that are used by this data descriptor, e.g., shape and size of a global array.- Return type:
Set
[Union
[Basic
,SymExpr
]]- Returns:
A set of symbols that are used by this data descriptor. NOTE: The results are symbolic rather than a set of strings.
- validate()
Validate the correctness of this object. Raises an exception on error.
- class dace.data.ArrayReference(*args, **kwargs)
-
Data descriptor that acts as a dynamic reference of another array. See
Reference
for more information.In order to enable data-centric analysis and optimizations, avoid using References as much as possible.
- as_array()
- properties()
- validate()
Validate the correctness of this object. Raises an exception on error.
- class dace.data.ArrayView(*args, **kwargs)
-
Data descriptor that acts as a static reference (or view) of another array. Can be used to reshape or reinterpret existing data without copying it.
In the Python frontend,
numpy.reshape
andnumpy.ndarray.view
both generate ArrayViews.- as_array()
- properties()
- validate()
Validate the correctness of this object. Raises an exception on error.
- class dace.data.ContainerArray(*args, **kwargs)
Bases:
Array
An array that may contain other data containers (e.g., Structures, other arrays).
- classmethod from_json(json_obj, context=None)
- properties()
- stype
Object property of type Data
- class dace.data.ContainerArrayReference(*args, **kwargs)
Bases:
ContainerArray
,Reference
Data descriptor that acts as a dynamic reference of another data container array. See
Reference
for more information.In order to enable data-centric analysis and optimizations, avoid using References as much as possible.
- as_array()
- properties()
- validate()
Validate the correctness of this object. Raises an exception on error.
- class dace.data.ContainerView(*args, **kwargs)
Bases:
ContainerArray
,View
Data descriptor that acts as a view of another container array. Can be used to access nested container types without a copy.
- as_array()
- properties()
- validate()
Validate the correctness of this object. Raises an exception on error.
- class dace.data.Data(*args, **kwargs)
Bases:
object
Data type descriptors that can be used as references to memory. Examples: Arrays, Streams, custom arrays (e.g., sparse matrices).
- as_arg(with_types=True, for_call=False, name=None)
Returns a string for a C++ function signature (e.g., int *A).
- as_python_arg(with_types=True, for_call=False, name=None)
Returns a string for a Data-Centric Python function signature (e.g., A: dace.int32[M]).
- property ctype
- debuginfo
Object property of type DebugInfo
- dtype
Object property of type typeclass
- property free_symbols: Set[Basic | SymExpr]
Returns a set of undefined symbols in this data descriptor.
- is_equivalent(other)
Check for equivalence (shape and type) of two data descriptors.
- lifetime
Data allocation span
- location
Full storage location identifier (e.g., rank, GPU ID)
- properties()
- set_strides_from_layout(*dimensions, alignment=1, only_first_aligned=False)
Sets the absolute strides and total size of this data descriptor, according to the given dimension ordering and alignment.
- Parameters:
dimensions (
int
) – A sequence of integers representing a permutation of the descriptor’s dimensions.alignment (
Union
[Basic
,SymExpr
]) – Padding (in elements) at the end, ensuring stride is a multiple of this number. 1 (default) means no padding.only_first_aligned (
bool
) – If True, only the first dimension is padded withalignment
. Otherwise all dimensions are.
- shape
Object property of type tuple
- storage
Storage location
- strides_from_layout(*dimensions, alignment=1, only_first_aligned=False)
Returns the absolute strides and total size of this data descriptor, according to the given dimension ordering and alignment.
- Parameters:
dimensions (
int
) – A sequence of integers representing a permutation of the descriptor’s dimensions.alignment (
Union
[Basic
,SymExpr
]) – Padding (in elements) at the end, ensuring stride is a multiple of this number. 1 (default) means no padding.only_first_aligned (
bool
) – If True, only the first dimension is padded withalignment
. Otherwise all dimensions are.
- Return type:
- Returns:
A 2-tuple of (tuple of strides, total size).
- to_json()
- property toplevel
- transient
Object property of type bool
- used_symbols(all_symbols)
Returns a set of symbols that are used by this data descriptor.
- Parameters:
all_symbols (
bool
) – Include not-strictly-free symbols that are used by this data descriptor, e.g., shape and size of a global array.- Return type:
Set
[Union
[Basic
,SymExpr
]]- Returns:
A set of symbols that are used by this data descriptor. NOTE: The results are symbolic rather than a set of strings.
- validate()
Validate the correctness of this object. Raises an exception on error.
- property veclen
- class dace.data.Reference
Bases:
object
Data descriptor that acts as a dynamic reference of another data descriptor. It can be used just like a regular data descriptor, except that it could be set to an arbitrary container (or subset thereof) at runtime. To set a reference, connect another access node to it and use the “set” connector.
In order to enable data-centric analysis and optimizations, avoid using References as much as possible.
- static view(viewed_container, debuginfo=None)
Create a new Reference of the specified data container.
- Parameters:
viewed_container (
Data
) – The data container properties of this reference.debuginfo – Specific source line information for this reference, if different from
viewed_container
.
- Returns:
A new subclass of View with the appropriate viewed container properties, e.g.,
StructureReference
for aStructure
.
- class dace.data.Scalar(*args, **kwargs)
Bases:
Data
Data descriptor of a scalar value.
- property alignment
- allow_conflicts
Object property of type bool
- as_arg(with_types=True, for_call=False, name=None)
Returns a string for a C++ function signature (e.g., int *A).
- as_python_arg(with_types=True, for_call=False, name=None)
Returns a string for a Data-Centric Python function signature (e.g., A: dace.int32[M]).
- clone()
- covers_range(rng)
- static from_json(json_obj, context=None)
- is_equivalent(other)
Check for equivalence (shape and type) of two data descriptors.
- property may_alias: bool
- property offset
- property optional: bool
- property pool: bool
- properties()
- sizes()
- property start_offset
- property strides
- property total_size
- class dace.data.Stream(*args, **kwargs)
Bases:
Data
Stream (or stream array) data descriptor.
- as_arg(with_types=True, for_call=False, name=None)
Returns a string for a C++ function signature (e.g., int *A).
- buffer_size
Size of internal buffer.
- clone()
- covers_range(rng)
- property free_symbols
Returns a set of undefined symbols in this data descriptor.
- classmethod from_json(json_obj, context=None)
- is_equivalent(other)
Check for equivalence (shape and type) of two data descriptors.
- is_stream_array()
- property may_alias: bool
- offset
Object property of type list
- property optional: bool
- properties()
- size_string()
- sizes()
- property start_offset
- property strides
- to_json()
- property total_size
- used_symbols(all_symbols)
Returns a set of symbols that are used by this data descriptor.
- Parameters:
all_symbols (
bool
) – Include not-strictly-free symbols that are used by this data descriptor, e.g., shape and size of a global array.- Return type:
Set
[Union
[Basic
,SymExpr
]]- Returns:
A set of symbols that are used by this data descriptor. NOTE: The results are symbolic rather than a set of strings.
- class dace.data.Structure(*args, **kwargs)
Bases:
Data
Base class for structures.
- as_arg(with_types=True, for_call=False, name=None)
Returns a string for a C++ function signature (e.g., int *A).
- clone()
- property free_symbols: Set[Basic | SymExpr]
Returns a set of undefined symbols in this data descriptor.
- static from_json(json_obj, context=None)
- keys()
- property may_alias: bool
- members
Dictionary of structure members
- name
Structure type name
- property offset
- property optional: bool
- property pool: bool
- properties