google / autofdo

AutoFDO
https://groups.google.com/forum/#!forum/autofdo
Apache License 2.0
516 stars 109 forks source link

SPEC 2017 #153

Open PandaBlueYellow opened 1 year ago

PandaBlueYellow commented 1 year ago

I tested autofdo+thinlto+propeller vs autofdo+thinlto on spec 2017. autofdo+thinlto+propeller is ~2% slower overall. Although it wins in 544 and 644 by >20%, it's worse in most other cases. Is that expected?

rlavaee commented 1 year ago

Regression on SPEC 2017 integer benchmarks has also been verified by our team. It seems to be related to basic block alignment and DSB performance and we have plans to address it.

PandaBlueYellow commented 1 year ago

Look forward to it! Do you have a rough estimate how soon this will be?

rlavaee commented 1 year ago

Hopefully we start looking at it early next year.

PandaBlueYellow commented 1 year ago

One more question, is propeller's goal to be always enabled like thinlto? Or do you see some restrictions that propeller would be useful case by case?

rlavaee commented 1 year ago

Sorry for the late reply. Propeller has a build cost (extra round of profiling and build). So the improvements must be evaluated in each case to see if they outweigh the cost.

zamazan4ik commented 1 year ago

Is there an update on this?

By the way, what is the current status of Propeller? Is it available outside of Google to download and experiment with it? Especially in comparing to BOLT.

shenhanc78 commented 1 year ago

Is there an update on this?

I'll let @rlavaee answer this question. Since he has been making improvements for propeller over the past few months.

By the way, what is the current status of Propeller? Propeller is currently actively maintained in Google, and the github.com/google/autofdo is also maintained so that it builds and works with current head llvm source tree. Although it may lack some of the newest features.

We also have a plan to move create_llvm_prof's propeller bits to llvm source tree, @rlavaee will be working on this.

rlavaee commented 1 year ago

@zamazan4ik We haven't looked at the DSB problem yet. We will be putting more effort into upstreaming create_llvm_prof this year so it can be conveniently used by everyone.