Skip to content
  • Kenneth Moreland's avatar
    Add hints to device adapter scheduler · c44f6864
    Kenneth Moreland authored
    The `DeviceAdapter` provides an abstract interface to the accelerator
    devices worklets and other algorithms run on. As such, the programmer has
    less control about how the device launches each worklet. Each device
    adapter has its own configuration parameters and other ways to attempt to
    optimize how things are run, but these are always a universal set of
    options that are applied to everything run on the device. There is no way
    to specify launch parameters for a particular worklet.
    
    To provide this information, VTK-m now supports `Hint`s to the device
    adapter. The `DeviceAdapterAlgorithm::Schedule` method takes a templated
    argument that is of the type `HintList`. This object contains a template
    list of `Hint` types that provide suggestions on how to launch the parallel
    execution. The device adapter will pick out hints that pertain to it and
    adjust its launching accordingly.
    
    These are called hints rather than, say, directives, because they don't
    force the device adapter...
    c44f6864