Comments on: Nvidia: Chips to speed Apple Leopard, Windows 7
Graphics chips will be tapped to accelerate more tasks in upcoming versions of Apple's and Microsoft's operating systems, according to Nvidia.
Graphics chips will be tapped to accelerate more tasks in upcoming versions of Apple's and Microsoft's operating systems, according to Nvidia.
Web sites launch all the time, but they also shut their doors. We highlight 15 that bit the dust this year.
Let the debate begin: Was the iPhone more important than iTunes? Was anything bigger than Google finding a great business model? CNET offers its list of the 10 most important stories of the '00s.
Brooke Crothers has served as an editor at large at CNET News, an editor at Dow Jones' Asian Wall Street Journal Weekly, and a senior editor at InfoWorld. His CNET blog covers chip technology and computer systems, and how they define the computing experience. He also contributes to The New York Times' Bits and Technology sections. He is a member of the CNET Blog Network and is not an employee of CNET. Disclosure.
Add this feed to your online news reader
note: that means games will never port to MacOS in a timely manner
It will be interesting to see how well OpenCL gets integrated. There are a few things pushing programmers already, (64-bit, multiple core designs), and now they have to attempt to try to utilize a new massively parallel processor. As with most things, I don't think this will immediately impact the scene, but it will bring about immensely more powerful computers eventually.
Do I think it's stupid that Apple's next OS version is called "Snow Leopard"? I guess Puma and Bobcat are trademarked, Cougar sounds sexual (and is trademarked), but what other big cats are there? Lion? Lynx? Caracal? Ocelot? Serval (too close to Server for stupid people)? Cheetah?
Here you go:
10.0 Cheetah
10.1 Puma
10.2 Jaguar
10.3 Panther
10.4 Tiger
10.5 Leopard
10.6 Snow Leopard (it?s not out yet)
Powerfully CPU, powerfully GPU, and that all in a smaller package, yea why not!
Maybe we will see more competition in this area, no more monopoly.
Bad news for machines with low power on board Graphic chips, things are more and more Graphic loaded, I can see it on my old Laptop, with on board **** I didn't know better at the time I bought my Laptop.
Look forward for 2010 to buy a new "smaller" Laptop, new OS, new blue tooth, new USB; DDR3 or better ;-) powerfully GPU's and so one.
The real use of GPU's is to render a 3D scene defined through vertices onto a 2D screen with a rendering pipeline. Games are just a subset of what a GPU can do.
A majority of people only do Browsing, Word processing, email, flash games, listen to music, organize photos, watch movies on computers. a few do music/photo/movie editing, and Play Hard Core games. As the console prices go up, less and less people are bothered with buying consoles! P.S any real gamer will say shooters are better on a PC, and you cant even play a good MMO on a console.
Yes, per previous comment, OpenCL Cuda will be coming to SNOW LEOPARD.
Also, DirectX has been around for a while (DirectX 7-10) and is a proprietary group of API links for GPU's BUT IT is NOT for GPGPU usage (Apple has always supported and promoted open standards with OpenGL). It is only DirectX 11 that will implement some form of GPGPU, but it is entirely questionable whether it will be using Cuda or OpenCL since M$ likes to make things as proprietary lock-ins. At most, since this is M$ pushing their own tech, they may be interoperable, but I do not think M$ has made any reference to DirectX implementing Cuda/OpenCL.
It is stated clearly in the article that it is Snow Leopard, not just Leopard.
I had hoped the implication was that Gupta was referring to future versions of DirectX. Not just DirectX generically. Of course DirectX has been around forever.
OK delusional Windows apologists this is your cue to repeat your delusions about your God and Saviour WinDoze.
It wasn't that special.
Snow Leopard will be "true 64 bit" while Microsoft has had it for years.
Robert
CUDA is an NVidia thing. It is also NOT original, as there have been both OSS and even Microsoft Solutions that are comparable.
CUDA has problems in that ATI don't want to do much with it if anything, nor is Intel too happy with it, as it hits into their SSE and other technologies along with their integrated GPU market that is still ruling OEMs, despite how horrid it is.
So with that out of the way, let's fix some facts...
OS X Users, sorry, but Apple DOES NOT USE the GPU like you think it does. It only uses the 3D features of your GPU for surfaces and texture drawing. It doesn't use the GPU to accelerate the 'pretty' stuff in OS X, nor does it do anything about processing on the GPU other than storing the Window image as a 3D texture and using this 'composer' method to draw to the screen.
OS X 10.4 'tried' to add in some acceleration to Quartz, but it was too buggy with 3rd party applications and was left turned off by default.
The lack of GPU acceleration is one reason Apple went to Intel, as they could do the 'pretty' effects that OS X does via the multimedia interfaces of the Intel CPU, specifically the SSE, etc. (This is why you still get the animations and other cute 'OS X' stuff even if you run OS X in Virtual Machine that doesn't have GPU acceleration but does offer the intel CPU SSE features to the virtual machine.
In a way it was smart for Apple, as they hadn't put much into video cards in their Macs for several years, and with the limited Intel basic chipsets in some Macs and Macbooks, using the GPU instead of the CPU would ahve been a nightware as many models would not work.
The only time your 3D GPU is used beyond just a surface/texture painter in OS X is when you have an OpenGL application or game running. This means 99.9% of your software doesn't get much help from the GPU, especially when it goes beyond basic 2D drawing primitives.
Windows Users... WIndows 2000 and WindowsXP both got a slight jump in technology with something called GDI+ - it basically extended the GDI feature set to match the Display Postscript technology on OS X.
However, GDI+ again, is not 3D accelerated, and even most of the 2D acceleration features of GPUs don't focus on GDI+ support, so in this regard Windows 2000 and Windows XP users are just like OS X users, with one exception. Windows 2K and XP DO NOT HAVE A COMPOSER, this means that it doesn't use the GPU to compose the on 3D surfaces like OS X does.
So OS X has an advantage in this area, but the way they implemented the composer, has more overhead, hence why Win 2K and Win XP might not draw or 'repaint' as smoothly as OS X, but things write to the screen faster.
Windows Vista users... You have a new thing called WDDM with a full XAML based drawing engine. This gives Windows Vista users the 'composer' like OS X that uses the GPU (however a lot faster), and it also adds in many GPU specific features from the WDDM 1.x technologies that GPUs were allowed to do before.
Acceleration on Windows Vista happens in both old and new applications, although not all of GDI/GDI+ operations are accelerated through the GPU. However many of them are, like the GDI+ anti-aliasing technologies, all Font drawing goes through the 3D GPU, and all bitmap processing, from even decoding a JPEG to handling GDI level Bitmap drawing operations are all offset to the GPU.
What is unique with Vista here compared to OS X, is that even 'old' applications written for GDI/GDI+ get the advantages of the WDDM and 3D acceleration. Vista also gives users the new XAML based WPF API sets that are fully vector and 3D hosted drawing for application interfaces, that deal with a 'native' vector based Composer (not just a bitmap composer like OS X) - this means WPF/XAML based applications on Vista don't do the redrawing themselves, they just tell the Composer what has changed, and it adjusts the final surface texture - so this is very efficient. (It is also how and why Vista can do remote desktop with Glass effects as the RDP just passes the Vector changes over the network, allowing the Vista UI and basic 3D applications to run remotely without a loss in speed, instead of having to send every pixel change or even 'GDI command' as RDP did under XP.
So Vista already uses the GPU, it was what the WDDM was designed around, the massive changes of Vista, and why the Video drivers from NVidia and ATI initially sucked on Vista because they had to be written from the ground up instead of having the 7 years of maturing the XP drivers did. (The Vista drivers have caught up to the XP driver BTW, and usually are faster even in basic FPS gaming test, to overall system speed.)
Windows 7 builds on Vista, and uses tricks of the WDDM to increase the video speed, at least in the 'responsive' nature at the end users see. So Windows 7 is using the Vista stuff and bringing more of it to the users in terms of performance they can see and feel.
People really need to go look at the XBox 360 development APIs, DX10, and DX11 - especially in the OSS world, as they need to understand the WDDM under them that allow them to work like they do, because if the OS support doesn't happen in the OSS world, it will be really hard to get there, even with fantastic OpenGL3.0 features.
OS X is the only one that allows a non-reboot' usage of the 9400m feauters, but it requries the users to log off, as OS X is keep both drivers active, and is dumping all the processing on one GPU and then restarting the GUi and invoking the other GPU.
Vista can not only flip on the fly automatically, in real time, but can even flip code between the two GPUs or even be running a game and flip to the integrated without the game even knowing it happened because the game isn't needing the performance of the higher end GPU.
Again these are all Vista and Windows 7 technologies, that just don't exist in even XP or OS X or any Linux to date.
On to CUDA, OpenGL, and DirectX...
Here is where the author and NVidia are a bit wrong. DirectX 10, ALREADY has full non-visual processing abilities. This means ANY application can already shove calculations through the GPU using effective DirectX 10 calls.
DirectX can even do full physics processing, as well as even run AI and other feature on the GPU. Cool stuff that NVidia with CUDA and Apple are JUST NOW TALKING ABOUT... (See why their 'news' is a bit tongue in cheek, especially since some of the CUDA and their GPU platform technologies COME DIRECTLY from Microsoft and their work on the original XBox and also MS's specifications for 'support' for DX10.
Truly some of the NVidia CUDA and Intel/OS X features are almost word for word out fo the DX10 technical driver requirements pages, sadly.
Anyway...
Because of the lack of Vista desktop adoption and software companies not wantint to make a non-XP or Vista Only product, this is not something you see a lot of unfortunately. It is also why DirectX 10 gaming on Vista kind of sucks, because the developers are writing for XP not Vista and don't want to lock themselves into DirectX 10. A fully native DirectX10 engine and game would be faster than its equivalent DX9 game, even with better visuals and featuers. However NONE really exist yet, just DX9 games with DX10 features and lighting turned on so far.
So as for Nivida and their CUDA and PhysX, this is stuff that is already available (for years now) in the Vista world with DirectX10.
DirectX11 is the next step in Microsoft's move forward, as it doesn't break with previous generations and is based on the same DirectX10 technologies, that BTW came from the XBox 360 development and are variations of what the XBox 360 uses. (This is whay a tri-core 3GHZ CPU and the quivalent of an ATI 1400 GPU can run HD games faster than your PC can.)
DirectX11 adds in MORE support for non-visual processing as a core of its features, and also 'fully' catches up to the API sets that are available for the XBox 360. This means XBox 360 developers will be able to use what they have been doing for 5 years now easier on any Windows PC, as the DirectX11 platform finally supports the XBox 360 featuers and makes porting on this insignificant finally.
So DirectX11 continues where MS started over 6 years ago with DX10 and the XBox 360, and it is funny to see OpenGL people run out ot say, oh OpenGL is doing this first or Apple is ahead of Windows, when neither are true.
All this NVidia crap is pointless unless they get ATI and Intel to fully support the architecture, and this includes PhysX. If they don't it is worthless to game developers and will only exists as a last minute feature addon, instead of having the game designed around these features.
Back to Snow Leopard and Vista/WIndows 7... Snow Leopard is mainly just catching up with Vista when it comes to GPU accelerated drawing support (and their betas are still a bit scary in this area if they will pull it off).
Snow Leopard also is not replacing key aspects that are locked into the driver model and drawing interface of OS X, this means that there will always be an additional 'memory transfer' write operations on everything you see on the screen.
Snow Leopard still has no concept of GPU RAM virtualization or GPU scheduling, something Microsoft created in Vista. This lets Vista users run games with more texture quality or even more games at the same time than their GPU's VRAM can hold. It also allows Vista to multi-task at the OS level for GPU operations, that works both ways.
So in Vista if you have one Video card and are running many 3D applications on the screen at once, Vista 'pre-emptively' multi-tasks between the games and applcaitions and allows them all to run at the same time WITHOUT application level 'yielding', which is your only hope/option for OpenGL.
OS X can't do this because of the inherent nature of the OS and the driver model, it is also something you can't pull off on most other *nixes, because GPU multi-tasking or even SMP GPU processing is not something that any other OS natively deals with, and Vista does.
So with the GPU multi-tasking of applications it also leaves the door open to do GPU SMP, and have more than one video card that can be invoked and have code run on it, and the other video card sharing the calculations or doing something different for another application.
Again, this is something only Vista can do, as OS X and let's use Linux have no inherent driver support for access Video/GPUs in this manner. It is also why the hybrid technology GPUs like the 9400m from Nvidia that can default to the integrated GPU for better battery or switch to the dedicated GPU for performance has 'most' of its features disabled in other OSes than Vista.
OS X is the only one that allows a non-reboot' usage of the 9400m features, but it requires the users to log off, as OS X is keep both drivers active, and is dumping all the processing on one GPU and then restarting the GUi and invoking the other GPU.
Vista can not only flip on the fly automatically, in real time, but can even flip code between the two GPUs or even be running a game and flip to the integrated without the game even knowing it happened because the game isn't needing the performance of the higher end GPU.
Again these are all Vista and Windows 7 technologies, that just don't exist in even XP or OS X or any Linux to date.
This is the time in GPU technology history where MS and Vista were ahead of the curve, with the dynamic Video driver system, and the OS stepping in between the applications for multitasking, VRAM virtualizations, and SMP concepts, in addition to DX10's GPU calculation features, that strangely Apple and NVidia have been all to happy to try to recreate in their own ways. Apple working with Intel again, and NVidia trying to snuff out ATI with them.
When in the end, developers will probably use DX10/DX11 and get the features and Intel and Nvidia will just have to make sure their 'technology' works with it, as ATI has already done and is committing to do so, giving the developers a clear choice. (NVidia is not going to drop DX support, so it is a safe platform if you are developing a game.)
OpenGL looks great, especially 3.0, but again we have a problem with implementation and lack of some important 'driver' required features that OpenGL JUST CANNOT DICTATE to the OSes.
OpenGL with multiple 3D interfaces, applications and games running at the same time will choke the system, as it is all appliciation 'yielding' based. (This is like the computing world on CPUs before pre-emptive multitasking.)
It only works well for a while. Win 3.x finally died out with this limitation and even Apple System 9 finally died with this limitation, and *nixes have avoided this limitation for virtually ever.
So here we are again, with OpenGL that can't get the OSes to implement or fundamentally support preemptive GPU multi-tasking, GPU VRAM virtualization or GPU SMP.
So even with 'great' features' how well they are allowed or can run on the OS is a great concern, and when you have your basic OpenGL composer struggling for cycles to paint the desktop because a game is want to draw pretty lakes, you have major problems.
You also have the contextual shifting between the 3D applications, the RAM allocation and moving in and out on the GPU, and no OS to prevent all this jumbling from happening.
This is where MS was ahead of the technology curve, and is going to really hurt OSS and OS X OSes to move to easily.
----
This is why Microsoft got the Vista Video Driver technologies right, and why OSS and even OpenGL and Apple should have been paying attention to them back in 2004 and 2005 when MS was designing this stuff for Vista and the XBox 360.
As we are a the time in history that GPU pre-emption and OS level GPU understanding and control is needed, just like we hit the wall with cooperative multitasking on CPUs, sadly though only Vista/Win7 are not only aware of it, but built for it today...
We have multicore CPU's to do the work of the CPU, and usually the GPU is the weakest link in a system. If anything, the CPU should be the one helping along with graphics since the CPU can do anything and isn't dedicated just to graphics tasks.
See my point?
So what is the goal here? Too make a motherboard in the future with a powerful GPU and CPU of equal computing power, so they both can share the taks?
Isn't that called multiprocessing?
Shouldn't we then just eliminate GPU's all together and have the new stronger CPU's handle everything in software, including the GPU's instruction set?
Maybe I am missing something, but why start complicating code with things like this. If anything make code to allow the CPU to do the extensive graphics needed, this way, it can use all the system ram for video ram and not have a system that runs out of graphical power but has more than enough unused proseccing power to spare in the CPU.
I don't think NVidea would like this much but I think eliminating parts makes sense and eventually make code writting easier. Just have one very big CPU to do the job of the GPU also.
As games get more complicated then the software can create a more powerful GPU out of code using the CPU. That is as long as the CPU is big enough to handle both.
CPU's are able to handle more types of tasks but GPU's are more powerful which is why they rely on each other.
The architectures are mean't for different things.A CPU will probably never have the power of a GPU of today unless a major architectural overhaul is done when CPU's of today have faster access to memory and hundreds of cores running at around 700 - 800 mhz.
- by gybognarjr April 28, 2009 9:50 PM PDT
- Interesting article, but hard to follow, somewhat incorrect and certainly lacks practical information about the CPU+GPU utilization. I was always under the (false?) impression, that GPUs are working much harder in most computers than the CPUs, especially when using multiple large screens. Therefore I am still clueless, why are the programers put even more load on a GPU, while keeping it the same size, same mount (PCI or AGP) and the same limited cooling method. Also, what is the big deal utilizing a single GPU, adding its work to the dual 4 core CPUs of a Mac Pro, instead of utilizing the 8 cores better? I am not sure humans will be able to type or input data any faster, but I would sure like to see PC manufacturers concentrate on solving worthwhile problems, like cooling and perhaps taking a cue from Apple and make a decent looking PC inside and out. Most of the PCs look like a bale of wire inside a cheap box, with exposed razor sharp aluminum sheet metal in various places, where one can loose a quart of blood just adding a single piece of RAM stick. Thank God many PCs have just two or four slots for RAM, or the fatality rate would be high. Quality should be appreciated, instead of raw and mostly useless speed.
- Like this Reply to this comment
-
(45 Comments)