Microsoft is totally hedging against the death of the GPU

It’s interesting to look at the way we’ve gone from single-core processors to octal-core processors in under four years (that’s pretty much moore’s law holding true right there). I think it is reasonable to assume that by the end of the decade we’ll have processors with hundreds of cores, and they’ll be powerful I reckon. One has to ask the question that if I have so many general purpose cores in my CPU, what’s the point of my general purpose programmable GPU? Put it another way, our GPU’s are becoming so general purpose that before the decade is out we’ll have homogenous systems again (all processors the same kind). I reckon they’ll still probably be x86 or one of its newer variants (like x64).

Anyhow, I reckon Microsoft agree with me cause they’ve been working on this thing called WARP which is a DirectX 10, 10.1, 11 compatible software rasteriser designed for compliance and performance (unlike the reference device which is just there for conformance). It’s there so that everybody who wants graphics/image processing of any sort can use DirectX and they don’t need to have dedicated graphics hardware. Sure, there are already all sorts of reasons why this is useful today, but I reckon the most useful reason is that it means Microsoft to change only one part of their code to adapt it to any hardware platform, their Just-in-time compiler which converts HLSL byte code (the language of DirectX) into x86 (and other) assembly code. Effectively, WARP means that whatever happens in the Graphics Hardware industry, Microsoft have a tried, accepted solution in place to maintain that their API works.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s