From 36231dd88e781eb12999ac346a616bcf3c8e88ff Mon Sep 17 00:00:00 2001 From: Ted Themistokleous Date: Tue, 3 Jun 2025 21:27:13 -0500 Subject: [PATCH 1/6] Update requirements for ROCm stable diffusion tests --- .../requirements/rocm/requirements.txt | 30 ++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt b/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt index 21b100fb61f17..6b1cfde4e5b1d 100644 --- a/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt +++ b/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt @@ -1,2 +1,30 @@ --r ../requirements.txt + +huggingface_hub==0.25.2 +diffusers==0.28.0 +transformers==4.41.2 +numpy>=1.24.1 +accelerate +onnx==1.17.0 +coloredlogs +packaging +# Use newer version of protobuf might cause crash +protobuf==3.20.3 +psutil +sympy + + +mediapipe +controlnet_aux==0.0.9 +# The following are for SDXL +optimum==1.20.0 +safetensors +invisible_watermark +opencv-python-headless + +# Following is to ensure we're grab latest ROCm instance of packages (ROCm 6.4.1 in this case) +-i https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.1/ +torchvision==0.15.2 +onnxruntime-rocm + + # Install onnxruntime-rocm that is built from source (https://onnxruntime.ai/docs/build/eps.html#amd-rocm) From 09e8eac0573585f113e0a43c0746cfbaa55ebb73 Mon Sep 17 00:00:00 2001 From: Ted Themistokleous Date: Tue, 3 Jun 2025 23:31:54 -0500 Subject: [PATCH 2/6] Seperate out repo.radeon requirements --- .../stable_diffusion/requirements/rocm/requirements.txt | 6 ------ .../requirements/rocm/requirements_rocm.txt | 4 ++++ 2 files changed, 4 insertions(+), 6 deletions(-) create mode 100644 onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements_rocm.txt diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt b/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt index 6b1cfde4e5b1d..7884e70fee32f 100644 --- a/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt +++ b/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt @@ -21,10 +21,4 @@ safetensors invisible_watermark opencv-python-headless -# Following is to ensure we're grab latest ROCm instance of packages (ROCm 6.4.1 in this case) --i https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.1/ -torchvision==0.15.2 -onnxruntime-rocm - - # Install onnxruntime-rocm that is built from source (https://onnxruntime.ai/docs/build/eps.html#amd-rocm) diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements_rocm.txt b/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements_rocm.txt new file mode 100644 index 0000000000000..61b7956dc524e --- /dev/null +++ b/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements_rocm.txt @@ -0,0 +1,4 @@ +# Following is to ensure we're grab latest ROCm instance of packages (ROCm 6.4.1 in this case) +-i https://repo.radeon.com/rocm/manylinux/rocm-rel-6.4.1/ +torchvision==0.15.2 +onnxruntime-rocm \ No newline at end of file From a6c60b99cb6bc34926e9cb42249523411e17190d Mon Sep 17 00:00:00 2001 From: Ted Themistokleous Date: Thu, 5 Jun 2025 23:26:33 -0500 Subject: [PATCH 3/6] udpate benchmark.py for sd with migraphx hooks --- .../tools/transformers/models/stable_diffusion/benchmark.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/benchmark.py b/onnxruntime/python/tools/transformers/models/stable_diffusion/benchmark.py index 99a2d9379598d..75ff66cc92136 100755 --- a/onnxruntime/python/tools/transformers/models/stable_diffusion/benchmark.py +++ b/onnxruntime/python/tools/transformers/models/stable_diffusion/benchmark.py @@ -1337,14 +1337,14 @@ def main(): coloredlogs.install(fmt="%(funcName)20s: %(message)s") - memory_monitor_type = "rocm" if args.provider == "rocm" else "cuda" + memory_monitor_type = "rocm" if args.provider == "rocm" or "migraphx" else "cuda" start_memory = measure_gpu_memory(memory_monitor_type, None) print("GPU memory used before loading models:", start_memory) sd_model = SD_MODELS[args.version] provider = PROVIDERS[args.provider] - if args.engine == "onnxruntime" and args.provider == "tensorrt": + if args.engine == "onnxruntime" and args.provider == "tensorrt" or args.provider == "migraphx": if "xl" in args.version: print("Testing Txt2ImgXLPipeline with static input shape. Backend is ORT TensorRT EP.") result = run_ort_trt_xl( From 3839cfe2535d669936772925278fa4f5e77b98af Mon Sep 17 00:00:00 2001 From: Ted Themistokleous Date: Fri, 6 Jun 2025 08:39:39 -0500 Subject: [PATCH 4/6] Fix protobuf check --- .../models/stable_diffusion/requirements/rocm/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt b/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt index 7884e70fee32f..740cda6ad64da 100644 --- a/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt +++ b/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt @@ -8,7 +8,7 @@ onnx==1.17.0 coloredlogs packaging # Use newer version of protobuf might cause crash -protobuf==3.20.3 +protobuf==3.20.2 psutil sympy From dbe51c20e330b6f0f4844dab2d3bce2b39510c61 Mon Sep 17 00:00:00 2001 From: Ted Themistokleous Date: Fri, 6 Jun 2025 11:37:46 -0500 Subject: [PATCH 5/6] Reduce protobuf constraint --- .../models/stable_diffusion/requirements/rocm/requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt b/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt index 740cda6ad64da..208827d1e40c3 100644 --- a/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt +++ b/onnxruntime/python/tools/transformers/models/stable_diffusion/requirements/rocm/requirements.txt @@ -8,7 +8,7 @@ onnx==1.17.0 coloredlogs packaging # Use newer version of protobuf might cause crash -protobuf==3.20.2 +protobuf psutil sympy From ca99f821a22c61fa0e46cf99ae569a6b8ab6292b Mon Sep 17 00:00:00 2001 From: Ted Themistokleous Date: Fri, 6 Jun 2025 14:50:01 -0500 Subject: [PATCH 6/6] Remove skip warmup --- .../tools/transformers/models/stable_diffusion/benchmark.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/onnxruntime/python/tools/transformers/models/stable_diffusion/benchmark.py b/onnxruntime/python/tools/transformers/models/stable_diffusion/benchmark.py index 75ff66cc92136..e10868af83d39 100755 --- a/onnxruntime/python/tools/transformers/models/stable_diffusion/benchmark.py +++ b/onnxruntime/python/tools/transformers/models/stable_diffusion/benchmark.py @@ -1362,7 +1362,6 @@ def main(): max_batch_size=args.max_trt_batch_size, nvtx_profile=False, use_cuda_graph=args.enable_cuda_graph, - skip_warmup=args.skip_warmup, ) else: print("Testing Txt2ImgPipeline with static input shape. Backend is ORT TensorRT EP.") @@ -1381,7 +1380,6 @@ def main(): max_batch_size=args.max_trt_batch_size, nvtx_profile=False, use_cuda_graph=args.enable_cuda_graph, - skip_warmup=args.skip_warmup, ) elif args.engine == "optimum" and provider == "CUDAExecutionProvider": if "xl" in args.version: