A monadic library to build dataflow graphs for OM.
This module just exports a set of chosen symbols
from Language.Paraiso.OM.Builder.Internal
.
- type Builder vector gauge val = State (BuilderState vector gauge) val
- data BuilderState vector gauge = BuilderState {}
- type BuilderOf r c = (Vector v, C g) => Builder v g (Value r c)
- makeKernel :: (Vector v, C g) => Setup v g -> Name -> Builder v g () -> Kernel v g ()
- load :: (TRealm r, Typeable c) => r -> c -> Name -> B (Value r c)
- store :: (Vector v, C g, TRealm r, Typeable c) => Name -> Builder v g (Value r c) -> Builder v g ()
- imm :: (TRealm r, Typeable c) => c -> B (Value r c)
- reduce :: (Vector v, C g, Typeable c) => Operator -> Builder v g (Value TLocal c) -> Builder v g (Value TGlobal c)
- broadcast :: (Vector v, C g, Typeable c) => Builder v g (Value TGlobal c) -> Builder v g (Value TLocal c)
- shift :: (Vector v, C g, Typeable c, C (v g)) => v g -> Builder v g (Value TLocal c) -> Builder v g (Value TLocal c)
- loadIndex :: (Vector v, C g, Typeable c) => c -> Axis v -> Builder v g (Value TLocal c)
Documentation
type Builder vector gauge val = State (BuilderState vector gauge) valSource
data BuilderState vector gauge Source
(Show (vector gauge), C gauge, Vector vector) => Show (BuilderState vector gauge) | |
Eq (Builder v g v2) | |
(Vector v, C g, TRealm r, Typeable c, C c, Fractional c) => Fractional (Builder v g (Value r c)) | you can convert GHC floating point immediates to |
(Vector v, C g, TRealm r, Typeable c, C c) => Num (Builder v g (Value r c)) | you can convert GHC numeric immediates to |
Show (Builder v g v2) | |
(Vector v, C g, TRealm r, Typeable c) => C (Builder v g (Value r c)) | choose the larger or the smaller of the two. |
(Vector v, C g, TRealm r, Typeable c, C c) => C (Builder v g (Value r c)) | |
(Vector v, C g, TRealm r, Typeable c, C c) => C (Builder v g (Value r c)) | |
(Vector v, C g, TRealm r, Typeable c, C c) => C (Builder v g (Value r c)) | |
(Vector v, C g, TRealm r, Typeable c, C c) => C (Builder v g (Value r c)) | |
(Vector v, C g, TRealm r, Typeable c, C c) => C (Builder v g (Value r c)) | |
(Vector v, C g, TRealm r, Typeable c) => C (Builder v g (Value r c)) | |
(Vector v, C g, TRealm r, Typeable c, C c) => C (Builder v g (Value r c)) | |
(Vector v, C g, TRealm r) => Boolean (Builder v g (Value r Bool)) |
:: (TRealm r, Typeable c) | |
=> r | The |
-> c | The |
-> Name | The |
-> B (Value r c) |
Load from a static value.
:: (Vector v, C g, TRealm r, Typeable c) | |
=> Name | The |
-> Builder v g (Value r c) | The |
-> Builder v g () | The result. |
Store to a static value.