migx ¶
Type Aliases:
-
Shape–
Classes:
-
MIGX–MIGraphX backend for AMD GPUs.
Attributes:
-
logger–
MIGX dataclass ¶
MIGX(
*,
device_id: int = 0,
num_streams: int = 1,
fp16: bool | None = None,
bf16: bool | None = None,
opt_shapes: Shape | None = None,
fast_math: bool = True,
exhaustive_tune: bool = False,
custom_env: Mapping[str, str] = dict[str, str](),
custom_args: Sequence[str] = list[str](),
)
Bases: BackendAutoConvertFloat
MIGraphX backend for AMD GPUs.
The ONNX model is compiled to an MXR program with migraphx-driver and cached before execution through core.migx.Model.
Classes:
-
OutputFormat–Output format for the backend plugin.
Methods:
-
autoselect–Try to select the best backend for the current system.
-
build_program– -
get_args–Return backend plugin arguments derived from this configuration.
-
get_identity– -
inference–Run inference with this backend.
Attributes:
-
MIGX– -
NCNN– -
NCNN_VK– -
ORT– -
ORT_COREML– -
ORT_CPU– -
ORT_CUDA– -
ORT_DML– -
OV– -
OV_CPU– -
OV_GPU– -
OV_NPU– -
TRT– -
TRT_RTX– -
bf16(bool | None) –Compile the program for BF16 where supported. Default to False.
-
custom_args(Sequence[str]) –Additional command-line arguments appended to
migraphx-driver compile. -
custom_env(Mapping[str, str]) –Extra environment variables for
migraphx-driver. -
device_id(int) –AMD GPU device index.
-
exhaustive_tune(bool) –Enable exhaustive tuning during compilation.
-
fast_math(bool) –Keep MIGraphX fast math optimizations enabled.
-
flexible_output_prop(str) – -
fp16(bool | None) –Compile the program for FP16 where supported. Default to True
-
num_streams(int) –Number of parallel MIGraphX inference streams.
-
opt_shapes(Shape | None) –Optimization input tile size as
(width, height). Defaults to the inference tile size. -
plugin– -
version(tuple[int, int]) –
bf16 class-attribute instance-attribute ¶
bf16: bool | None = None
Compile the program for BF16 where supported. Default to False.
custom_args class-attribute instance-attribute ¶
Additional command-line arguments appended to migraphx-driver compile.
migraph-driver compile --help
custom_env class-attribute instance-attribute ¶
Extra environment variables for migraphx-driver.
https://rocm.docs.amd.com/projects/AMDMIGraphX/en/latest/reference/MIGraphX-dev-env-vars.html https://rocm.docs.amd.com/projects/MIOpen/en/latest/reference/env_variables.html
exhaustive_tune class-attribute instance-attribute ¶
exhaustive_tune: bool = False
Enable exhaustive tuning during compilation.
fast_math class-attribute instance-attribute ¶
fast_math: bool = True
Keep MIGraphX fast math optimizations enabled.
fp16 class-attribute instance-attribute ¶
fp16: bool | None = None
Compile the program for FP16 where supported. Default to True
num_streams class-attribute instance-attribute ¶
num_streams: int = 1
Number of parallel MIGraphX inference streams.
opt_shapes class-attribute instance-attribute ¶
opt_shapes: Shape | None = None
Optimization input tile size as (width, height). Defaults to the inference tile size.
OutputFormat ¶
autoselect classmethod ¶
Try to select the best backend for the current system.
Parameters:
-
(device_id¶int, default:0) –The GPU device id.
-
(**kwargs¶Any, default:{}) –Additional arguments to pass to the backend.
Returns:
-
Backend–The selected backend.
Source code in vsscale/mlrt/backend/base.py
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | |
build_program ¶
build_program(
network_path: Path,
channels: int,
tilesize: Shape,
input_name: str = "input",
) -> Path
Source code in vsscale/mlrt/backend/migx.py
143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 | |
get_args ¶
Return backend plugin arguments derived from this configuration.
Source code in vsscale/mlrt/backend/migx.py
123 124 | |
get_identity ¶
Source code in vsscale/mlrt/backend/migx.py
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | |
inference ¶
inference(
clips: VideoNode | Sequence[VideoNode],
network_path: str | PathLike[str],
/,
overlap: tuple[int, int],
tilesize: tuple[int, int],
*,
flexible: bool = False,
**kwargs: Any,
) -> VideoNode | list[VideoNode]
Run inference with this backend.
Parameters:
-
(clips¶VideoNode | Sequence[VideoNode]) –Input clip or clips passed to the backend model.
-
(network_path¶str | PathLike[str]) –Path to the model file or backend artifact.
-
(overlap¶tuple[int, int]) –Horizontal and vertical tile overlap in pixels.
-
(tilesize¶tuple[int, int]) –Horizontal and vertical tile size in pixels.
-
(flexible¶bool, default:False) –Return each flexible output plane as a separate clip.
-
(**kwargs¶Any, default:{}) –Additional backend plugin arguments forwarded unchanged.
Returns:
-
VideoNode | list[VideoNode]–A single output clip, or a list of output clips when
flexibleis enabled.
Source code in vsscale/mlrt/backend/migx.py
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 | |