The RV870 Story: AMD Showing up to the Fight
by Anand Lal Shimpi on February 14, 2010 12:00 AM EST- Posted in
- GPUs
TPS Rep...err PRS Documents
At ATI there’s a document called the Product Requirement Specification, PRS for short. It was originally a big text document written in Microsoft Word.
The purpose of the document is to collect all of the features that have to go into the GPU being designed, and try to prioritize them. There are priority 1 features, which are must-haves in the document. Very few of these get canned. Priority 2, priority 3 and priority 4 features follow. The higher the number, the less likely it’ll make it into the final GPU.
When Carrell Killebrew first joined ATI, his boss at the time (Dave Orton) tasked him with changing this document. Orton asked Carrell to put together a PRS that doesn’t let marketing come up with excuses for failure. This document would be a laundry list of everything marketing wants in ATI’s next graphics chip. At the same time, the document wouldn’t let engineering do whatever it wanted to do. It would be a mix of what marketing wants and what engineering can do. Orton wanted this document to be enough of a balance that everyone, whether from marketing or engineering, would feel bought into when it’s done.
Carrell joined in 2003, but how ATI developed the PRS didn’t change until 2005.
The Best Way to Lose a Fight - How R5xx Changed ATI
In the 770 story I talked about how ATI’s R520 delay caused a ripple effect impacting everything in the pipeline, up to and including R600. It was during that same period (2005) that ATI fundamentally changed its design philosophy. ATI became very market schedule driven.
ATI's R520 Architecture. It was delayed.
The market has big bulges and you had better deliver at those bulges. Having product ready for the Q4 holiday season, or lining up with major DirectX or Windows releases, these are important bulges in the market. OEM notebook design cycles are also very important to align your products with. You have to deliver at these bulges. ATI’s Eric Demers (now the CTO of AMD's graphics group) put it best: if you don’t show up to the fight, by default, you lose. ATI was going to stop not showing up to the fight.
ATI’s switch to being more schedule driven meant that feature lists had to be kept under control. Which meant that Carrell had to do an incredible job drafting that PRS.
What resulted was the 80% rule. The items that made it onto the PRS were features that engineering felt had at least an 80% chance of working on time. Everyone was involved in this process. Every single senior engineer, everyone. Marketing and product managers got their opportunities to request what they wanted, but nothing got committed to without some engineer somewhere believing that the feature could most likely make it without slipping schedule.
This changed a lot of things.
First, it massively increased the confidence level of the engineering team. There’s this whole human nature aspect to everything in life, it comes with being human. Lose confidence and execution sucks, but if you are working towards a realistic set of goals then morale and confidence are both high. The side effect is that a passionate engineer will also work to try and beat those goals. Sly little bastards.
The second change is that features are more easily discarded. Having 200 features on one of these PRS documents isn’t unusual. Getting it down to about 80 is what ATI started doing after R5xx.
In the past ATI would always try to accommodate new features and customer requests. But the R5xx changes meant that if a feature was going to push the schedule back, it wasn’t making it in. Recently Intel changed its design policy, stating that any feature that was going into the chip had to increase performance by 2% for every 1% increase in power consumption. ATI’s philosophy stated that any feature going into the chip couldn’t slip schedule. Prior to the R5xx generation ATI wasn’t really doing this well; serious delays within this family changed all of that. It really clamped down on feature creep, something that’s much worse in hardware than in software (bigger chips aren’t fun to debug or pay for).
132 Comments
View All Comments
ImmortalZ - Monday, February 15, 2010 - link
Long time reader and lurker here.This article is one of the best I've read here - hell, it's one of the best I've ever read on any tech site. Reading about and getting perspective on what makes companies like ATI tick is great. Thank you and please, more!
tygrus - Sunday, February 14, 2010 - link
Sequences of numbers in a logical way are easier to remember than names. The RV500, RV600 .. makes order obvious. Using multiple names within a generation of chips are confusing and not memorable. They do not convey sequence or relative complexity.Can you ask if AMD are analysing current games/GPGPU and future games/GPGPU to identify possible areas for improvement or skip less useful proposed design changes. Like the Intel >2% gain for <1% cost.
Yakk - Sunday, February 14, 2010 - link
Excellent article! As I've read in a few other comments, this article (and one similar I'd read prior) made me register for the first time, even if I've been reading this site for many years.I could see why "Behind the scenes" articles can make certain companies nervous and others not, mostly based on their own "corporate culture" I'd think.
It was a very good read, and I'm sure every engineer who worked on any given generation on GPU's could have many stories to tell about tech challenges and baffling (at the time) corporate decisions. And also a manager's side of the work in navigating corporate red tape, working with people, while delivering something worthwhile as an end product is also a huge. Having a good manager (people) with a good subject knowledge (tech) is rare, then for Corp. Execs. to know they have one is MUCH rarer still...
If anyone at AMD/ATI read these comments, PLEASE look at the hardware division and try to implement changes to the software division to match their successes...
(btw been using nv cards almost exclusively since the TNT days, and just got a 5870 for the first time this month. ATI Hardware I'd give an "A+", Software... hmm, I'd give it a "C". Funny thing is nv is almost the exact opposite right now)
Perisphetic - Sunday, February 14, 2010 - link
Someone nominate this man for the Pulitzer Prize!As many have stated before, this is a fantastic article. It goes beyond extraordinary, exceptional and excellent. This has become my new benchmark for high quality computer industry related writing.
Thank you sir.
ritsu - Monday, February 15, 2010 - link
It's not exactly The Soul of a New Machine. But, fine article. It's nice to have a site willing to do this sort of work.shaggart5446 - Sunday, February 14, 2010 - link
very appreciative for this article im from ja but reading this make me file like ill go back to school thanks anand ur the best big up yeah man529th - Sunday, February 14, 2010 - link
The little knowledge I have about the business of making a graphics card, that it was Eyefinity that stunted the stability-growth of the 5xxx drivers by the allocation of resources of the software engineers to make Eyefinity work.chizow - Sunday, February 14, 2010 - link
I usually don't care much for these fluff/PR pieces but this one was pretty entertaining, probably because there was less coverage of what the PR/Marketing guys had to say and more emphasis on the designers and engineers. Carrell sounds like a very interesting guy and a real asset to AMD, they need more innovators like him leading their company and less media exposure from PR talking heads like Chris Hook. Almost tuned out when I saw that intro pic, thankfully the article shifted focus quickly.As for the article itself, among the many interesting points made in there, a few that caught my eye:
1) It sounds like some of the sacrifices made with RV870's die size help explain why it fell short of doubling RV770/790 in terms of performance scaling. Seems as if memory controllers might've also been cut as edge real estate was lost, and happen to be the most glaring case where RV870 specs weren't doubled with regard to RV770.
2) The whole cloak and dagger bit with EyeFinity was very amusing and certainly helps give these soulless tech giants some humanity and color.
3) Also with EyeFinity, I'd probably say Nvidia's solution will ultimately be better, as long as AMD continues to struggle with CrossFire EyeFinity support. It actually seems as if Nvidia is applying the same framebuffer splitting technology via PCIe/SLI link with their recently announced Optimus technology to Nvidia Surround, both of course lending technology from their Quadro line of cards.
4) The discussion about fabs/yields was also very interesting and helps shed some light on some of the differences between the strategies used by both companies in the past to present. AMD has always leveraged new process technologies in the past as soon as possible, Nvidia in the past has more closely followed Intel's Tick/Tock cadence of building high-end on mature processes and teething smaller chips on new processes. That clearly changed this time around on 40nm so it'll be interesting to see what AMD does going forward. I was surprised there wasn't any discussion about why AMD hasn't looked into GlobalFoundries as their GPU foundry.
SuperGee - Sunday, February 14, 2010 - link
nV eyeFinity counter solution is a fast software reaction wich is barly the same thing. You need SLI because one GPU can do only 2 active ports. That the main diference. So you depend on a more high-end platform. A SLI mobo PSU capable of feeding two Gcards. While ATI give yo 3 or 6 ou t of one GPU.nV can deliver something native in there next design. Equal and the possibility to be better at it. But we are still waiting for there DX11 parts. I wonder if they could slap a solution in the refresh or can do only wenn they introduce the new archtecture "GF200".
chizow - Monday, February 15, 2010 - link
Actually EyeFinity's current CF problems are most likely a software problem which is why Nvidia's solution is already superior from a flexibility and scalability standpoint. They've clearly worked out the kinks of running multiple GPUs to a single frame buffer and then redistributing portions of that framebuffer to different GPU outputs.AMD's solution seems to have problems because output on each individual GPU is only downstream atm, so while one GPU can send frame data to a primary GPU for CF, it seems secondary GPUs have problems receiving frame data to output portions of the frame.
Why I say Nvidia's solution is better overall is simply because the necessity of SLI will automatically decrease the chance of a poor gaming experience when gaming at triple resolutions, which is clearly a problem with some newer games and single-GPU EyeFinity. Also, if AMD was able to use multiple card display outputs, it would solve the problem of requiring a $100 active DP dongle for the 3rd output if a user doesn't have a DP capable monitor.