Peano
Loading...
Searching...
No Matches
PipelineBuilder.PipelineBuilder Class Reference

Public Member Functions

 __init__ (self)
 
 generate_pass_string (self, passes, pass_name)
 
 generate_opt_commands (self)
 
 enable_gpu (self, gpu_vendor, gpu_architecture, polygeist_function_source_file)
 
 enable_omp (self, use_tasks=False, omp_task_version="taskloop", omp_single_region=False)
 
 enable_flatten_memrefs (self)
 
 enable_memory_fusion (self)
 
 enable_memory_reuse (self, max_patch_size)
 
 enable_inline_polygeist_functions (self, polygeist_function_source_file)
 
 enable_imperfect_nested_loops_to_perfect (self)
 
 enable_loop_fusion (self)
 
 enable_nested_parallel_ops_to_multidimensional (self)
 
 enable_nested_parallel_ops_to_for_ops (self, max_nested_parallel_count=-1)
 

Data Fields

 use_gpu
 
 gpu_vendor
 
 gpu_architecture
 
 use_omp
 
 use_omp_tasks
 
 omp_task_version
 
 omp_single_region
 
 flatten_memrefs
 
 nested_parallel_ops_to_for_ops
 
 max_nested_parallel_count
 
 loop_fusion
 
 imperfect_nested_loops_to_perfect
 
 nested_parallel_ops_to_multidimensional
 
 fuse_memory_allocations
 
 memory_reuse
 
 max_patch_size
 
 inline_polygeist_functions
 
 polygeist_function_source_file
 

Static Public Attributes

list xdsl_passes
 

Detailed Description

Definition at line 3 of file PipelineBuilder.py.

Constructor & Destructor Documentation

◆ __init__()

PipelineBuilder.PipelineBuilder.__init__ (   self)

Definition at line 14 of file PipelineBuilder.py.

Member Function Documentation

◆ enable_flatten_memrefs()

PipelineBuilder.PipelineBuilder.enable_flatten_memrefs (   self)

Definition at line 173 of file PipelineBuilder.py.

References PipelineBuilder.PipelineBuilder.flatten_memrefs.

Referenced by PipelineBuilder.PipelineBuilder.enable_gpu().

Here is the caller graph for this function:

◆ enable_gpu()

PipelineBuilder.PipelineBuilder.enable_gpu (   self,
  gpu_vendor,
  gpu_architecture,
  polygeist_function_source_file 
)

◆ enable_imperfect_nested_loops_to_perfect()

PipelineBuilder.PipelineBuilder.enable_imperfect_nested_loops_to_perfect (   self)

◆ enable_inline_polygeist_functions()

PipelineBuilder.PipelineBuilder.enable_inline_polygeist_functions (   self,
  polygeist_function_source_file 
)

◆ enable_loop_fusion()

PipelineBuilder.PipelineBuilder.enable_loop_fusion (   self)

Definition at line 190 of file PipelineBuilder.py.

References PipelineBuilder.PipelineBuilder.loop_fusion.

◆ enable_memory_fusion()

PipelineBuilder.PipelineBuilder.enable_memory_fusion (   self)

◆ enable_memory_reuse()

PipelineBuilder.PipelineBuilder.enable_memory_reuse (   self,
  max_patch_size 
)

◆ enable_nested_parallel_ops_to_for_ops()

PipelineBuilder.PipelineBuilder.enable_nested_parallel_ops_to_for_ops (   self,
  max_nested_parallel_count = -1 
)

◆ enable_nested_parallel_ops_to_multidimensional()

PipelineBuilder.PipelineBuilder.enable_nested_parallel_ops_to_multidimensional (   self)

◆ enable_omp()

PipelineBuilder.PipelineBuilder.enable_omp (   self,
  use_tasks = False,
  omp_task_version = "taskloop",
  omp_single_region = False 
)

◆ generate_opt_commands()

◆ generate_pass_string()

PipelineBuilder.PipelineBuilder.generate_pass_string (   self,
  passes,
  pass_name 
)

Definition at line 41 of file PipelineBuilder.py.

Referenced by PipelineBuilder.PipelineBuilder.generate_opt_commands().

Here is the caller graph for this function:

Field Documentation

◆ flatten_memrefs

PipelineBuilder.PipelineBuilder.flatten_memrefs

◆ fuse_memory_allocations

PipelineBuilder.PipelineBuilder.fuse_memory_allocations

◆ gpu_architecture

PipelineBuilder.PipelineBuilder.gpu_architecture

Definition at line 17 of file PipelineBuilder.py.

Referenced by PipelineBuilder.PipelineBuilder.enable_gpu().

◆ gpu_vendor

PipelineBuilder.PipelineBuilder.gpu_vendor

Definition at line 16 of file PipelineBuilder.py.

Referenced by PipelineBuilder.PipelineBuilder.enable_gpu().

◆ imperfect_nested_loops_to_perfect

PipelineBuilder.PipelineBuilder.imperfect_nested_loops_to_perfect

◆ inline_polygeist_functions

PipelineBuilder.PipelineBuilder.inline_polygeist_functions

◆ loop_fusion

PipelineBuilder.PipelineBuilder.loop_fusion

◆ max_nested_parallel_count

PipelineBuilder.PipelineBuilder.max_nested_parallel_count

◆ max_patch_size

PipelineBuilder.PipelineBuilder.max_patch_size

◆ memory_reuse

PipelineBuilder.PipelineBuilder.memory_reuse

◆ nested_parallel_ops_to_for_ops

PipelineBuilder.PipelineBuilder.nested_parallel_ops_to_for_ops

◆ nested_parallel_ops_to_multidimensional

PipelineBuilder.PipelineBuilder.nested_parallel_ops_to_multidimensional

◆ omp_single_region

PipelineBuilder.PipelineBuilder.omp_single_region

◆ omp_task_version

PipelineBuilder.PipelineBuilder.omp_task_version

◆ polygeist_function_source_file

PipelineBuilder.PipelineBuilder.polygeist_function_source_file

◆ use_gpu

PipelineBuilder.PipelineBuilder.use_gpu

◆ use_omp

◆ use_omp_tasks

PipelineBuilder.PipelineBuilder.use_omp_tasks

◆ xdsl_passes

list PipelineBuilder.PipelineBuilder.xdsl_passes
static
Initial value:
= [
"reuse-memory-allocations",
"fuse-memory-allocations",
"imperfect-nested-loops-to-perfect",
"nested-parallel-ops-to-multidimensional",
"nested-parallel-ops-to-for-ops",
"scf-parallel-loop-fusion",
"convert-scf-to-omp-tasks"
]

Definition at line 4 of file PipelineBuilder.py.


The documentation for this class was generated from the following file: