Skip to content

Commit 8115b26

Browse files
authored
Revert pipelines (huggingface#948)
* Revert "[SD] Modify the flags to use --iree-preprocessing-pass-pipeline (huggingface#914)" This reverts commit a783c08. * Revert "Fix iree flags due to the change in shark-runtime (huggingface#944)" This reverts commit 1d38d49.
1 parent 820586a commit 8115b26

File tree

6 files changed

+177
-47
lines changed

6 files changed

+177
-47
lines changed

apps/stable_diffusion/src/models/opt_params.py

Lines changed: 35 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,6 @@
11
import sys
22
from transformers import CLIPTokenizer
3-
from apps.stable_diffusion.src.utils import (
4-
models_db,
5-
args,
6-
get_shark_model,
7-
get_opt_flags,
8-
)
3+
from apps.stable_diffusion.src.utils import models_db, args, get_shark_model
94

105

116
hf_model_variant_map = {
@@ -24,14 +19,47 @@ def get_variant_version(hf_model_id):
2419

2520

2621
def get_params(bucket_key, model_key, model, is_tuned, precision):
22+
iree_flags = []
23+
if len(args.iree_vulkan_target_triple) > 0:
24+
iree_flags.append(
25+
f"-iree-vulkan-target-triple={args.iree_vulkan_target_triple}"
26+
)
27+
28+
# Disable bindings fusion to work with moltenVK.
29+
if sys.platform == "darwin":
30+
iree_flags.append("-iree-stream-fuse-binding=false")
31+
2732
try:
2833
bucket = models_db[0][bucket_key]
2934
model_name = models_db[1][model_key]
35+
iree_flags += models_db[2][model][is_tuned][precision][
36+
"default_compilation_flags"
37+
]
3038
except KeyError:
3139
raise Exception(
3240
f"{bucket_key}/{model_key} is not present in the models database"
3341
)
34-
iree_flags = get_opt_flags(model, precision="fp16")
42+
43+
if (
44+
"specified_compilation_flags"
45+
in models_db[2][model][is_tuned][precision]
46+
):
47+
device = (
48+
args.device
49+
if "://" not in args.device
50+
else args.device.split("://")[0]
51+
)
52+
if (
53+
device
54+
not in models_db[2][model][is_tuned][precision][
55+
"specified_compilation_flags"
56+
]
57+
):
58+
device = "default_device"
59+
iree_flags += models_db[2][model][is_tuned][precision][
60+
"specified_compilation_flags"
61+
][device]
62+
3563
return bucket, model_name, iree_flags
3664

3765

apps/stable_diffusion/src/utils/resources/model_db.json

Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,5 +78,100 @@
7878
"dreamlike/v2_1base/vae/fp32/length_77/untuned":"dl_vae_23dec_fp32",
7979
"dreamlike/v2_1base/vae/fp32/length_77/untuned/base":"dl_vaebase_23dec_fp32",
8080
"dreamlike/v2_1base/clip/fp32/length_77/untuned":"dl_clip_23dec_fp32_77"
81+
},
82+
{
83+
"unet": {
84+
"tuned": {
85+
"fp16": {
86+
"default_compilation_flags": []
87+
},
88+
"fp32": {
89+
"default_compilation_flags": []
90+
}
91+
},
92+
"untuned": {
93+
"fp16": {
94+
"default_compilation_flags": [
95+
"--iree-flow-enable-padding-linalg-ops",
96+
"--iree-flow-linalg-ops-padding-size=32"
97+
],
98+
"specified_compilation_flags": {
99+
"cuda": ["--iree-flow-enable-conv-nchw-to-nhwc-transform"],
100+
"default_device": ["--iree-flow-enable-conv-img2col-transform"]
101+
}
102+
},
103+
"fp32": {
104+
"default_compilation_flags": [
105+
"--iree-flow-enable-conv-nchw-to-nhwc-transform",
106+
"--iree-flow-enable-padding-linalg-ops",
107+
"--iree-flow-linalg-ops-padding-size=16"
108+
]
109+
}
110+
}
111+
},
112+
"vae": {
113+
"tuned": {
114+
"fp16": {
115+
"default_compilation_flags": [
116+
"--iree-flow-enable-padding-linalg-ops",
117+
"--iree-flow-linalg-ops-padding-size=32",
118+
"--iree-flow-enable-conv-img2col-transform"
119+
]
120+
},
121+
"fp32": {
122+
"default_compilation_flags": [
123+
"--iree-flow-enable-padding-linalg-ops",
124+
"--iree-flow-linalg-ops-padding-size=32",
125+
"--iree-flow-enable-conv-img2col-transform"
126+
]
127+
}
128+
},
129+
"untuned": {
130+
"fp16": {
131+
"default_compilation_flags": [
132+
"--iree-flow-enable-padding-linalg-ops",
133+
"--iree-flow-linalg-ops-padding-size=32",
134+
"--iree-flow-enable-conv-img2col-transform"
135+
]
136+
},
137+
"fp32": {
138+
"default_compilation_flags": [
139+
"--iree-flow-enable-conv-nchw-to-nhwc-transform",
140+
"--iree-flow-enable-padding-linalg-ops",
141+
"--iree-flow-linalg-ops-padding-size=16"
142+
]
143+
}
144+
}
145+
},
146+
"clip": {
147+
"tuned": {
148+
"fp16": {
149+
"default_compilation_flags": [
150+
"--iree-flow-linalg-ops-padding-size=16",
151+
"--iree-flow-enable-padding-linalg-ops"
152+
]
153+
},
154+
"fp32": {
155+
"default_compilation_flags": [
156+
"--iree-flow-linalg-ops-padding-size=16",
157+
"--iree-flow-enable-padding-linalg-ops"
158+
]
159+
}
160+
},
161+
"untuned": {
162+
"fp16": {
163+
"default_compilation_flags": [
164+
"--iree-flow-linalg-ops-padding-size=16",
165+
"--iree-flow-enable-padding-linalg-ops"
166+
]
167+
},
168+
"fp32": {
169+
"default_compilation_flags": [
170+
"--iree-flow-linalg-ops-padding-size=16",
171+
"--iree-flow-enable-padding-linalg-ops"
172+
]
173+
}
174+
}
175+
}
81176
}
82177
]

apps/stable_diffusion/src/utils/resources/opt_flags.json

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,19 @@
1111
"untuned": {
1212
"fp16": {
1313
"default_compilation_flags": [
14-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-convert-conv2d-to-img2col,iree-preprocessing-pad-linalg-ops{pad-size=32}))"
15-
]
14+
"--iree-flow-enable-padding-linalg-ops",
15+
"--iree-flow-linalg-ops-padding-size=32"
16+
],
17+
"specified_compilation_flags": {
18+
"cuda": ["--iree-flow-enable-conv-nchw-to-nhwc-transform"],
19+
"default_device": ["--iree-flow-enable-conv-img2col-transform"]
20+
}
1621
},
1722
"fp32": {
1823
"default_compilation_flags": [
19-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-convert-conv2d-to-img2col,iree-preprocessing-pad-linalg-ops{pad-size=16}))"
24+
"--iree-flow-enable-conv-nchw-to-nhwc-transform",
25+
"--iree-flow-enable-padding-linalg-ops",
26+
"--iree-flow-linalg-ops-padding-size=16"
2027
]
2128
}
2229
}
@@ -27,30 +34,36 @@
2734
"default_compilation_flags": [],
2835
"specified_compilation_flags": {
2936
"cuda": [],
30-
"default_device": [
31-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-convert-conv2d-to-img2col,iree-preprocessing-pad-linalg-ops{pad-size=32},iree-linalg-ext-convert-conv2d-to-winograd))"
32-
]
37+
"default_device": ["--iree-flow-enable-padding-linalg-ops",
38+
"--iree-flow-linalg-ops-padding-size=32",
39+
"--iree-flow-enable-conv-img2col-transform"]
3340
}
3441
},
3542
"fp32": {
3643
"default_compilation_flags": [],
3744
"specified_compilation_flags": {
3845
"cuda": [],
3946
"default_device": [
40-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-convert-conv2d-to-img2col,iree-preprocessing-pad-linalg-ops{pad-size=16},iree-linalg-ext-convert-conv2d-to-winograd))"
47+
"--iree-flow-enable-padding-linalg-ops",
48+
"--iree-flow-linalg-ops-padding-size=32",
49+
"--iree-flow-enable-conv-img2col-transform"
4150
]
4251
}
4352
}
4453
},
4554
"untuned": {
4655
"fp16": {
4756
"default_compilation_flags": [
48-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-convert-conv2d-to-img2col,iree-preprocessing-pad-linalg-ops{pad-size=32}))"
57+
"--iree-flow-enable-padding-linalg-ops",
58+
"--iree-flow-linalg-ops-padding-size=32",
59+
"--iree-flow-enable-conv-img2col-transform"
4960
]
5061
},
5162
"fp32": {
5263
"default_compilation_flags": [
53-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-convert-conv2d-to-img2col,iree-preprocessing-pad-linalg-ops{pad-size=16}))"
64+
"--iree-flow-enable-conv-nchw-to-nhwc-transform",
65+
"--iree-flow-enable-padding-linalg-ops",
66+
"--iree-flow-linalg-ops-padding-size=16"
5467
]
5568
}
5669
}
@@ -59,24 +72,28 @@
5972
"tuned": {
6073
"fp16": {
6174
"default_compilation_flags": [
62-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-pad-linalg-ops{pad-size=16}))"
75+
"--iree-flow-linalg-ops-padding-size=16",
76+
"--iree-flow-enable-padding-linalg-ops"
6377
]
6478
},
6579
"fp32": {
6680
"default_compilation_flags": [
67-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-pad-linalg-ops{pad-size=16}))"
81+
"--iree-flow-linalg-ops-padding-size=16",
82+
"--iree-flow-enable-padding-linalg-ops"
6883
]
6984
}
7085
},
7186
"untuned": {
7287
"fp16": {
7388
"default_compilation_flags": [
74-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-pad-linalg-ops{pad-size=16}))"
89+
"--iree-flow-linalg-ops-padding-size=16",
90+
"--iree-flow-enable-padding-linalg-ops"
7591
]
7692
},
7793
"fp32": {
7894
"default_compilation_flags": [
79-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-pad-linalg-ops{pad-size=16}))"
95+
"--iree-flow-linalg-ops-padding-size=16",
96+
"--iree-flow-enable-padding-linalg-ops"
8097
]
8198
}
8299
}

apps/stable_diffusion/src/utils/sd_annotation.py

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def load_model_from_tank():
2626
get_variant_version,
2727
)
2828

29-
variant, version = get_variant_version(args.hf_model_id)
29+
version, variant = get_variant_version(args.hf_model_id)
3030

3131
shark_args.local_tank_cache = args.local_tank_cache
3232
bucket_key = f"{variant}/untuned"
@@ -62,7 +62,7 @@ def load_winograd_configs():
6262
def load_lower_configs():
6363
from apps.stable_diffusion.src.models import get_variant_version
6464

65-
variant, version = get_variant_version(args.hf_model_id)
65+
version, variant = get_variant_version(args.hf_model_id)
6666

6767
config_bucket = "gs://shark_tank/sd_tuned/configs/"
6868
config_version = version
@@ -109,19 +109,8 @@ def annotate_with_lower_configs(
109109
):
110110
if use_winograd:
111111
dump_after = "iree-linalg-ext-convert-conv2d-to-winograd"
112-
preprocess_flag = (
113-
"--iree-preprocessing-pass-pipeline='builtin.module"
114-
"(func.func(iree-preprocessing-convert-conv2d-to-img2col,"
115-
"iree-preprocessing-pad-linalg-ops{pad-size=32},"
116-
"iree-linalg-ext-convert-conv2d-to-winograd))' "
117-
)
118112
else:
119-
dump_after = "iree-preprocessing-pad-linalg-ops"
120-
preprocess_flag = (
121-
"--iree-preprocessing-pass-pipeline='builtin.module"
122-
"(func.func(iree-preprocessing-convert-conv2d-to-img2col,"
123-
"iree-preprocessing-pad-linalg-ops{pad-size=32}))' "
124-
)
113+
dump_after = "iree-flow-pad-linalg-ops"
125114

126115
# Dump IR after padding/img2col/winograd passes
127116
device_spec_args = ""
@@ -143,9 +132,11 @@ def annotate_with_lower_configs(
143132
"--iree-input-type=tm_tensor "
144133
f"--iree-hal-target-backends={iree_target_map(device)} "
145134
f"{device_spec_args}"
146-
f"{preprocess_flag}"
147135
"--iree-stream-resource-index-bits=64 "
148136
"--iree-vm-target-index-bits=64 "
137+
"--iree-flow-enable-padding-linalg-ops "
138+
"--iree-flow-linalg-ops-padding-size=32 "
139+
"--iree-flow-enable-conv-img2col-transform "
149140
f"--mlir-print-ir-after={dump_after} "
150141
"--compile-to=flow "
151142
f"2>{args.annotation_output}/dump_after_winograd.mlir "

shark/examples/shark_inference/upscaler/opt_params.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,15 +13,20 @@
1313

1414

1515
unet_flag = [
16-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-convert-conv2d-to-img2col,iree-preprocessing-pad-linalg-ops{pad-size=32}))"
16+
"--iree-flow-enable-padding-linalg-ops",
17+
"--iree-flow-linalg-ops-padding-size=32",
18+
"--iree-flow-enable-conv-img2col-transform",
1719
]
1820

1921
vae_flag = [
20-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-flow-convert-conv-nchw-to-nhwc,iree-preprocessing-pad-linalg-ops{pad-size=16}))"
22+
"--iree-flow-enable-conv-nchw-to-nhwc-transform",
23+
"--iree-flow-enable-padding-linalg-ops",
24+
"--iree-flow-linalg-ops-padding-size=16",
2125
]
2226

2327
clip_flag = [
24-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-pad-linalg-ops{pad-size=16}))"
28+
"--iree-flow-linalg-ops-padding-size=16",
29+
"--iree-flow-enable-padding-linalg-ops",
2530
]
2631

2732
bucket = "gs://shark_tank/stable_diffusion/"

shark/iree_utils/compile_utils.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -80,17 +80,11 @@ def get_iree_common_args():
8080
def get_model_specific_args():
8181
ms_args = []
8282
if shark_args.enable_conv_transform == True:
83-
ms_args += [
84-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-flow-convert-conv-nchw-to-nhwc))"
85-
]
83+
ms_args += ["--iree-flow-enable-conv-nchw-to-nhwc-transform"]
8684
if shark_args.enable_img2col_transform == True:
87-
ms_args += [
88-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-preprocessing-convert-conv2d-to-img2col))"
89-
]
85+
ms_args += ["--iree-flow-enable-conv-img2col-transform"]
9086
if shark_args.use_winograd == True:
91-
ms_args += [
92-
"--iree-preprocessing-pass-pipeline=builtin.module(func.func(iree-linalg-ext-convert-conv2d-to-winograd))"
93-
]
87+
ms_args += ["--iree-flow-enable-conv-winograd-transform"]
9488
return ms_args
9589

9690

0 commit comments

Comments
 (0)