Safe Haskell | Trustworthy |
---|---|
Language | Haskell2010 |
In the context of this module, a "size" is any kind of tunable (run-time) constant.
Synopsis
- data SizeClass
- sizeDefault :: SizeClass -> Maybe Int64
- type KernelPath = [(Name, Bool)]
- newtype Count u e = Count {
- unCount :: e
- data NumGroups
- data GroupSize
- data NumThreads
Documentation
The class of some kind of configurable size. Each class may impose constraints on the valid values.
SizeThreshold KernelPath (Maybe Int64) | A threshold with an optional default. |
SizeGroup | |
SizeNumGroups | |
SizeTile | |
SizeLocalMemory | Likely not useful on its own, but querying the maximum can be handy. |
SizeBespoke Name Int64 | A bespoke size with a default. |
Instances
sizeDefault :: SizeClass -> Maybe Int64 Source #
The default value for the size. If Nothing
, that means the backend gets to decide.
type KernelPath = [(Name, Bool)] Source #
An indication of which comparisons have been performed to get to this point, as well as the result of each comparison.
A wrapper supporting a phantom type for indicating what we are counting.
Instances
data NumThreads Source #
Phantom type for number of threads.