ddc-core-flow-0.4.3.1: Disciplined Disciple Compiler data flow compiler.

Safe HaskellNone
LanguageHaskell98

DDC.Core.Flow.Lower

Synopsis

Documentation

data Config Source #

Configuration for the lower transform.

Constructors

Config 

Fields

Instances

defaultConfigScalar :: Config Source #

Config for producing code with just scalar operations.

defaultConfigKernel :: Config Source #

Config for producing code with vector operations, where the loops just handle a size of data which is an even multiple of the vector width.

defaultConfigVector :: Config Source #

Config for producing code with vector operations, where the loops handle arbitrary data sizes, of any number of elements.

data Method Source #

What lowering method to use.

Constructors

MethodScalar

Produce sequential scalar code with nested loops.

MethodKernel

Produce vector kernel code that only processes an even multiple of the vector width.

MethodVector

Try to produce sequential vector code, falling back to scalar code if this is not possible.

Instances

data Lifting Source #

Lifting config controls how many elements should be processed per loop iteration.

Constructors

Lifting 

Fields

lowerModule :: Config -> ModuleF -> Either Error ModuleF Source #

Take a module that contains some well formed series processes defined at top-level, and lower them into procedures.