If you want to max out BF3 on Ultra on a high res without being overkill you will best to get a HD 6970, GTX 580. You could go with a GTX 590 or HD6990 if you really wanted to , but are they really worth it?
Well, you could wait for the new 7xxx series that's coming out pretty soon and buy one of those, probably a 7970. Or, you could do what monsta suggested and SLI two 570's. OR, you could get a 6990 and have some money left over. OR, you could get a 580/6970. Pretty much anything that is 6950 and better will be perfect for what you want.