File tree Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Expand file tree Collapse file tree 1 file changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -1177,6 +1177,20 @@ bool TranslateBuildSPMD(
1177
1177
llvm::cl::ParseCommandLineOptions (sizeof (args) / sizeof (args[0 ]), args);
1178
1178
}
1179
1179
}
1180
+ // Reduce default unroll-partial-threshold value to 100.
1181
+ // The aggressive partial unroll lead to performance issues due to increase
1182
+ // of register pressure and code divergency. The reduced partial unroll
1183
+ // threshold value fixes these performance defects.
1184
+ llvm::StringRef partialUnrollFlag = " -unroll-partial-threshold=100" ;
1185
+ auto partialUnrollSwitch = optionsMap.find (partialUnrollFlag.trim (" -=100" ));
1186
+ if (partialUnrollSwitch != optionsMap.end ())
1187
+ {
1188
+ if (partialUnrollSwitch->getValue ()->getNumOccurrences () == 0 )
1189
+ {
1190
+ const char * const args[] = { " igc" , partialUnrollFlag.data () };
1191
+ llvm::cl::ParseCommandLineOptions (sizeof (args) / sizeof (args[0 ]), args);
1192
+ }
1193
+ }
1180
1194
}
1181
1195
1182
1196
if (IGC_IS_FLAG_ENABLED (QualityMetricsEnable))
You can’t perform that action at this time.
0 commit comments