diff --git a/TODO_DML.md b/TODO_DML.md index af6559ac1..f359ba1b3 100644 --- a/TODO_DML.md +++ b/TODO_DML.md @@ -20,3 +20,14 @@ What should we do? 1. Use any fixed value as the available memory capacity. 2. Use `atiadlxx`(AMD/ATI GPU driver library) to infer vram information as similar as possible to the actual value. (works for AMDGPUs) 3. or another better way. + +- Half mode does not work well. + +In half precision, we get an error like `mat1 and mat2 must have the same dtype`. + +I solved this problem by overriding forward of GroupNorm / LayerNorm / Conv2d / Linear to convert input tensor to full precision (and convert to float16 before return). + +What should we do? + +1. Override forwards (same solution) +2. When using DirectML, set the default to full precision and notify the user.