You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Cold compile of YOLO-family detection models is slow and grows dramatically with input size (batch / image size). Analysis done using YOLO26m, fp16 on MI350/R9700, default migraphx options
The behavior is the same for different yolo models and GPUs. I think all conv-based models affected, not only yolo.
Release 7.2.1 (the issue is still present in the develop branch):
Also, in recent versions (starting with 7.2.3), a new regression was introduced that led to an increase in the values listed above without any improvement in performance for the YOLO family of models:
Two independent, removable costs dominate it.
Cause 1. Inputs re-generated per candidate - Covered by this ticket, PR - #4971
Each of ~1339 candidates calls generate_argument() (host PRNG) + H2D copy: the same buffers rebuilt ~1339×. Same in 7.2.1 and develop → baseline cost, not a regression. Grows fast with the candidate input size.
Cause 2. bundle 1→10 (PR #4486) - A separate ticket to track it #4979
#4486 Improve tuning for splitk
Each candidate is now timed with 10×20 = 200 GPU runs instead of 20 — for all candidates, not just split-K. Shipped in ROCm 7.2.3.
GPU part 7.2.1 vs develop (the same in 7.2.3, 7.2.4 Releases)
Cold compile of YOLO-family detection models is slow and grows dramatically with input size (batch / image size). Analysis done using YOLO26m, fp16 on MI350/R9700, default migraphx options
The behavior is the same for different yolo models and GPUs. I think all conv-based models affected, not only yolo.
Release 7.2.1 (the issue is still present in the develop branch):

Also, in recent versions (starting with 7.2.3), a new regression was introduced that led to an increase in the values listed above without any improvement in performance for the YOLO family of models:

Two independent, removable costs dominate it.
Cause 1. Inputs re-generated per candidate - Covered by this ticket, PR - #4971
Each of ~1339 candidates calls
generate_argument()(host PRNG) + H2D copy: the same buffers rebuilt ~1339×. Same in 7.2.1 and develop → baseline cost, not a regression. Grows fast with the candidate input size.Cause 2.
bundle1→10 (PR #4486) - A separate ticket to track it #4979#4486 Improve tuning for splitk
Each candidate is now timed with
10×20 = 200GPU runs instead of20— for all candidates, not just split-K. Shipped in ROCm 7.2.3.GPU part 7.2.1 vs develop (the same in 7.2.3, 7.2.4 Releases)
Fix
generate_argument()+ H2D ---> [4970] Generate tuning inputs on GPU via splitmix64 device RNG #4971bundle10→1 (or gate to split-K) ---> not part of this ticket (new ticket [regression] YOLO-family models: slow compile that grows dramatically with input size #4979), but validated togetherResult
Perf testing for YOLO-family models (MI350):
Used migraphx-driver perf, no actual diff detected, the results are quite noisy