The GENAI and EVALUATOR_MANAGED branches return before this registry lookup. Consequently, winml eval -m --task text-generation --device gpu --device-luid accepts the pin but _load_genai_causal_lm() only forwards ep/device. Composite mask-generation evaluation similarly constructs its own ORT sessions without consulting config.device_luid. Both can evaluate on a different adapter while the JSON report records the requested LUID.
Please reject a non-null LUID for loaders that cannot honor it (as perf already does for ort-genai), or wire the selected adapter through their session creation. This needs to happen before the early returns; coverage of the normal WinMLAutoModel path won't catch it.
The GENAI and EVALUATOR_MANAGED branches return before this registry lookup. Consequently, winml eval -m --task text-generation --device gpu --device-luid accepts the pin but _load_genai_causal_lm() only forwards ep/device. Composite mask-generation evaluation similarly constructs its own ORT sessions without consulting config.device_luid. Both can evaluate on a different adapter while the JSON report records the requested LUID.
Please reject a non-null LUID for loaders that cannot honor it (as perf already does for ort-genai), or wire the selected adapter through their session creation. This needs to happen before the early returns; coverage of the normal WinMLAutoModel path won't catch it.