multiresolution_processor¶
- multiresolution_processor … end_multiresolution_processor¶
As with other platform components, multiresolution_processor may be used outside of platform or platform_type commands to define new types, or inside those commands to instantiate an object on an instance of a platform or platform_type. When instantiating on a platform, a name is required. Usage is as follows:
Define a new multiresolution_processor type (occurs outside a platform or platform_type command)
multiresolution_processor <derived> WSF_MULTIRESOLUTION_PROCESSOR fidelity <real-value> [add | edit] model <string-value> fidelity_range <real-value> <real-value> [default] processor [<processor-type>] ... processor-specific commands ... end_processor end_model [add | edit] model <string-value> ... Any number of models may be specified ... end_model common ... processor-specific commands ... end_common end_multiresolution_processor
Instantiate a multiresolution_processor object on a new platform_type:
platform_type ... multiresolution_processor <name> <type> ... multiresolution_processor commands ... end_multiresolution_processor end_platform_type
Instantiate a (not previously existing) multiresolution_processor object on a platform instance:
platform ... add multiresolution_processor <name> <type> ... multiresolution_processor commands ... end_multiresolution_processor end_platform
Modify an existing multiresolution_processor object on a platform instance:
platform ... edit multiresolution_processor <name> <type> ... multiresolution_processor commands ... end_multiresolution_processor end_platform
Overview¶
multiresolution_processor defines a container for holding one or more processor objects on a platform and deferring the choice of which processor to use on the platform until run-time. The choice of processor is made using a fidelity parameter associated with the component. Each processor model defined in the container is assigned a fidelity_range over which it is valid, and the matching processor is set on the platform during initialization.
The fidelity_range inputs are used to categorize models into bins that are selected by the fidelity parameter. A typical use would be to set up a multiresolution_processor on a platform_type without specifying the fidelity, deferring that choice to the actual platform definition.
Note
In the future the fidelity choice is intended to be made available at alternate locations in a scenario file, which will improve the utility of this component.
Types¶
Commands¶
- fidelity <real-value>¶
Defines the fidelity value of the component, which determines which processor to use at run-time. Must be between 0 and 1 inclusive. This value maps directly to the fidelity_range defined in the model commands. In other words, if two models are defined with the first having fidelity_range 0 to 0.5 and the second having 0.5 to 1, any fidelity between 0 and 0.5 (but exclusive of 0.5) will select the first model.
Default: 1.0
- model <string-value> … end_model¶
Defines or edits a contained processor model with the name given by the string. Implicit adding (or editing if the named model exists) is supported along with explicit adding and editing with the
add
andedit
commands.Note
At least one model block must be specified.
- fidelity_range <real-value> <real-value>¶
Defines the range of fidelity values over which this model should be used. Must be between 0 and 1 inclusive, in increasing order and must not overlap with another model’s fidelity_range on this component.
Default: 0.0 1.0
- default¶
If specified, this model will be used as the default choice if no fidelity match is made.
- processor <processor-type> … end_processor¶
Defines the processor model’s type and parameters specific to this model instantiation. The processor-type is required when first defining a new model, and must not be specified when editing an existing model.
- common … end_common¶
Defines common parameters to forward to all currently specified processor models. These parameters must be valid for all currently defined processor models.