Safe Haskell | None |
---|
- data Config = Config {}
- defaultConfigScalar :: Config
- defaultConfigKernel :: Config
- defaultConfigVector :: Config
- data Method
- = MethodScalar
- | MethodKernel { }
- | MethodVector { }
- data Lifting = Lifting {
- liftingFactor :: Int
- lowerModule :: Config -> ModuleF -> Either Error ModuleF
Documentation
Configuration for the lower transform.
defaultConfigScalar :: ConfigSource
Config for producing code with just scalar operations.
defaultConfigKernel :: ConfigSource
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 :: ConfigSource
Config for producing code with vector operations, where the loops handle arbitrary data sizes, of any number of elements.
What lowering method to use.
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. |
Lifting config controls how many elements should be processed per loop iteration.