The Impact of Bulldozer's Pipeline

With a new branch prediction architecture and an unknown, but presumably significantly deeper pipline, I was eager to find out just how much of a burden AMD's quest for frequency had placed on Bulldozer. To do so I turned to the trusty N-Queens solver, now baked into the AIDA64 benchmark suite.

The N-Queens problem is simple. On an N x N chessboard, how do you place N queens so they cannot attack one another? Solving the problem is incredibly branch intensive, and as a result it serves as a great measure of the impact of a deeper pipeline.

The AIDA64 implementation of the N-Queens algorithm is heavily threaded, but I wanted to first get a look at single-core performance so I disabled all but a single integer/fp core on Bulldozer, as well as the competing processors. I also looked at constant frequency as well as turbo enabled speeds:

Single Core Branch Predictor Performance—AIDA64 Queens Benchmark

Unfortunately things don't look good. Even with turbo enabled, the 3.6GHz Bulldozer part needs another 25% higher frequency to equal a 3.6GHz Phenom II X4. Even a 3.3GHz Phenom II X6 does better here. Without being fully aware of the optimizations at work in AIDA64 I wouldn't put too much focus on Sandy Bridge's performance here, but Intel is widely known for focusing on branch prediction performance.

If we let the N-Queens benchmark scale to all available threads, the performance issues are easily masked by throwing more threads at the problem:

SMP Branch Predictor Performance—AIDA64 Queens Benchmark

However it is quite clear that for single or lightly threaded operations that are branch heavy, Bulldozer will be in for a fight.

Power Management and Real Turbo Core Cache and Memory Performance
Comments Locked

430 Comments

View All Comments

  • Fujikoma - Wednesday, October 12, 2011 - link

    Really... in this day and age... 'jewing'???
  • bji - Wednesday, October 12, 2011 - link

    Yeah I stopped reading his comment exactly at that word. Disgusting.
  • eh_ch - Wednesday, October 12, 2011 - link

    You could try to argue that describing the performance as retarded *might* be syntactically and grammatically correct, but clearly it's meant in the pejorative sense. You could have pointed out the ironic misspelling. But you didn't react at all.

    Idiots.
  • bji - Wednesday, October 12, 2011 - link

    Sorry, but 'retarded' has already entered common usage and isn't offensive to anyone not looking explicitly to be offended.

    'Jewing' however has not, not even close.
  • EnerJi - Wednesday, October 12, 2011 - link

    I beg to differ. It very much is offensive to anyone who has a friend, family member, or other person they care about with a mental handicap.
  • g101 - Wednesday, October 12, 2011 - link

    What do you expect? The majority of these comments come from idiot children that only care about games and completely misunderstand the point of this architecture.
  • Hrel - Wednesday, October 12, 2011 - link

    ya'll need to lighten up and take life less seriously. If you're wasting your time being politically correct then you're wasting your time... nuff said.
  • Hrel - Wednesday, October 12, 2011 - link

    I disagree, jewing is totally not offensive. My friends call me jewish all the time and I'm not really any religion AND I'm mostly German. It's just joke dude, lighten up.
  • Hrel - Wednesday, October 12, 2011 - link

    I like to spell retarted that way better, that's how I say it. I also spell theater theatre and ever since that movie Inglorious Baterds and I spell bastard basterd. I just like it better.
  • Hrel - Wednesday, October 12, 2011 - link

    what's disgusting is that you're so racist it offends you. If you truly aren't racist then it doesn't matter. It's just another way of saying being cheap. And as long as you're not a pent up old politically correct fogey it's humorous.

Log in

Don't have an account? Sign up now