22 Septembre 2009, AMD released Radeon 5870. 1 October 2009, nVidia announced Fermi architecture. Both Direct3D 11 GPUs, both OpenCL throughput processor.
AMD is the first to be really, leading the high-end market at least 3 months, if nVidia GT300 actually manage to take the leadership. An announcement 3 months before the release? A sign that nVidia feel threat from the Radeon 5870 which is a great chip, but maybe not such a great value, performance wise.
Marketing wise, both company use a very diferent approach, AMD based on Eyefinity (up to 6 screens gaming which is actually better for just for the desktop!) and Direct 3D 11 when nVidia push on throughtput computing and developers support. nVidia is definetly working more than AMD on the marketing side once again.
Developer wise, Direct 3D 11 is not a jump like Direct 3D 10 have been especially on nVidia side with the GeForce 8 complet rework of the architechture compare to GeForce 7. ATI always evolve surely and safely and again the Radeon 5870 seams to me to be an small evolution of the Radeon 4870 and I actually wonder if ATI could build Direct3D 11 drivers for this chip. Ok, let's be fair BC6, BC7 HDR compression formats and IEEE754-2008 floats were probably not supported in Radeon 4***. On nVidia side, the tesselator will be definetely new fairly make sens. nVidia is pushing on throughput computing and the architechture looks optimized for this use but throughput computing is great already on GeForce 8! nVidia announce CUDA 3 with a C++ support... I wonder where are the limitation but I think it will be very limited, classes probably, polymophism maybe, template? Anyway, I don't see any future for CUDA beside scientific and really professional and dedicated purpose. (Like a bank which decided to run its database on server based on 32 Tesla cards...)
After the GeForce 8 / Radeon X1800 which state if instruction is fine or great, on the programming side, I think this new generation state more than ever: bandwise is limited! Radeon 5870 and GT300 have both nearly double of computional power than the previous generation but the memory bandwise doesn't increase as much, roughly by 50%. The good old time of precomputed textures with arithmetic results is so over! This is reenforce by some architechture details. The two setup engines of the Radeon 5870 which sound to me like a "please use the tesselator for higher resolution instead of reading memory". Other clue, the large cache size and even the L1 / L2 memory structure which is going to reduce cache miss and reduce the need of writing on the GPU memory. Take even more care of you memory bandwise, that's the key of a fast rendering engine for this generation! I haven't notice details yet about how nVidia manage the triangle rasterization, it could be a bottleneck with the tesselator and when we look at the really bad results of geometry shader tesselation on nVidia GPUs, I would have enjoy details on this area.
As a conclusion, I feel that on my personnal computer I would love a Radeon 5*** to join my GeForce 8 or maybe a GT300. When GeForce 8 was released, it was such a jump that I bought it as soon as I could. With this new generation I feel like, so far, with OpenCL I have plenty of experiments to do so I will be resonnable for now and save my money.