This is an archive of the discontinued LLVM Phabricator instance.

Add a scheduling model for AMD 16H Jaguar (btver2)
ClosedPublic

Authored by spatel on Sep 6 2014, 9:25 AM.

Details

Summary

This is a first pass at a scheduling model for Jaguar. It's structured largely on the existing SandyBridge and SLM sched models.

Using this model, in addition to turning on the PostRA scheduler, results in some perf wins on internal and 3rd party benchmarks. There's not much difference in LLVM's test-suite benchmarking subset of tests.

Diff Detail

Event Timeline

spatel updated this revision to Diff 13368.Sep 6 2014, 9:25 AM
spatel retitled this revision from to Add a scheduling model for AMD 16H Jaguar (btver2).
spatel updated this object.
spatel edited the test plan for this revision. (Show Details)
spatel added reviewers: rob.lougher, andreadb, RKSimon.
spatel added a subscriber: Unknown Object (MLST).
andreadb accepted this revision.Sep 9 2014, 10:38 AM
andreadb edited edge metadata.

Hi Sanjay,

The patch LGTM, thanks!
As you said, the scheduling model is largely based on the SandyBridge model. I verified that the numbers (latencies and values in the BtVer2Model) make sense.

I have tested your model on our internal codebase. On average I have seen runtime performance improvements in the range of ~1-1.5%. In particular, your scheduling model improves the runtime of a large internal codebase by the 1% (~2.5% with LTO).
As you said, this is a first pass at a scheduling model for Jaguar, so overall, the patch looks good.

Thanks!
Andrea

This revision is now accepted and ready to land.Sep 9 2014, 10:38 AM
spatel closed this revision.Sep 9 2014, 1:16 PM
spatel updated this revision to Diff 13491.

Closed by commit rL217457 (authored by @spatel).

spatel added a comment.Sep 9 2014, 1:17 PM

Thanks, Andrea - checked in at r217457.