Why does GPU acceleration improve battery?

Discussion in 'macOS' started by johannnn, Jan 17, 2011.

  1. johannnn macrumors 6502a

    johannnn

    Joined:
    Nov 20, 2009
    Location:
    Sweden
    #1
    Hi,

    The improvement in battery is well known for Flash 10.2 over 10.1, and this is attributed to GPU acceleration. But why is this? I have a CPU and a GPU, why does it matter which one of these that is getting the job done?

    Thanks
     
  2. simsaladimbamba

    Joined:
    Nov 28, 2010
    Location:
    located
    #2
    The GPU has much more cores and might be much mire energy efficient than the CPU in running the commands. It is just a guess though.
    Maybe the CPU has a higher TDP than the GPU?
     
  3. johannnn thread starter macrumors 6502a

    johannnn

    Joined:
    Nov 20, 2009
    Location:
    Sweden
    #3
    Why then not design the CPU more like the GPU? Sounds weird.
    Or go even longer and put the whole OS on the GPU
     
  4. sammich macrumors 601

    sammich

    Joined:
    Sep 26, 2006
    Location:
    Sarcasmville.
    #4
    The short end: CPUs are very general purpose devices. They don't excel in anything, but rather do everything quite well.

    GPUs are essentially many tiny cores that do a specific type of number crunching VERY WELL, and it does these things in parallel. So applications which are written for GPUs (not all tasks can be written for a GPU) can be broken down in many small chunks and done very efficiently, ie graphical/video/number crunching type work.

    The next thing that's coming up is GPGPU, or general purpose GPUs, which is a step in programmability for GPUs towards a domain held by the CPU. But the CPU is still king for small random tasks.
     
  5. twcbc macrumors member

    Joined:
    Jul 24, 2010
    #5
    CPU is a very powerful unit which can run any instructions been given. Circuit inside is builded to handle every kind of computing. GPU, on the contrast side, only runs very specify instruction through specify API such as DirectX or OpenGL etc.... There are specify circuits been designed to execute such instructions.

    When a task can been done by dedicated circuit, such as GPU, it only takes few clock cycle to complete. If you leave such task to CPU, it might take much more clock cycle to get it done.

    Apple had been very poor implement GPU related function, such as GPU h.264 decode. Leave many Macs to handle h.264 decode to power-hog CPU, not GPU. Leading to high CPU usage, raising temperature and lower battery life in OSX.

    That's why only when Apple finally released API for 3'rd party to access GPU h.264 decode, Flash and VLC then improve their performance. BTW, so far Apple only implement GPU h.264 decode on IGP such as 9400M and 320M. Mac user who have a powerful discrete GPU, such as GTS130 HD5750, still using CPU to handle h.264 decode. It really sucks.........
     
  6. sammich macrumors 601

    sammich

    Joined:
    Sep 26, 2006
    Location:
    Sarcasmville.
    #6
    In addition, it might be useful to know that when performing certain tasks the CPU must perform process switches. This is has a nasty overhead of stopping everything, saving the current CPU state, and loading the new state in. When you're doing something that's has many parallel parts, this happens quite a bit and adds to time where the CPU is simply just switching, constantly. Each core can only process one process at a time. So if you delegate an application with many parallel parts to a unit which can do many parallel tasks at once, a lot less switching takes place.
     
  7. Mr. Wonderful macrumors 6502a

    Joined:
    Feb 19, 2009
    #7
    This would be a good thing to include under the hood in Lion. It would be really bad if they didn't.
     
  8. TSE macrumors 68030

    Joined:
    Jun 25, 2007
    Location:
    St. Paul, Minnesota
    #8
    AMD has done something like this. It is called Fusion, which combines both the CPU and GPU together, making an APU (Advanced Processing Unit).

    Only the first generation netbook/budget ultraportable APUs have come out so far, but they have essentially destroyed the Atom and first generation Core ULV processors.
     
  9. dusk007 macrumors 68040

    dusk007

    Joined:
    Dec 5, 2009
    #9
    That sounds like a lot of guessing with really poor understanding of what kind of "GPU acceleration" Flash actually provides.
    Adobe currently only supports the fixed function decode API that are available on the System. That means it does not use the actual GPU at all. Forget this ******** about parallel processing and its efficiency.
    It only uses the decode part. That is on an AMD GPU only the UVD part and Nvidia and Intel also have specific parts on the GPU dedicated to this. The highest end desktop AMD is no better at decoding video than the cheap office 5450 AMD GPU because they all have the same UVD.
    Just to show what difference some fixed function support makes. To enable QuickSync all Intel had to add is a 3 sqmm space on the chip and it can do video encode at a speed that puts the Nvidia 580 GTX computing monster to shame same as any Quad Octa Core whatever CPU. It just needs a few watts because for much better performance because it is designed to work for only this one single specific workload.

    Hell any smartphone today can decode at least 720p h264 video. Tegra only needs 500mW for 1080p decode according to nvidia. A slow dual core like an Atom or ULV sometimes still cannot handle the workload even with consuming much more than 5-10 times as much energy.
     
  10. dusk007 macrumors 68040

    dusk007

    Joined:
    Dec 5, 2009
    #10
    You want to solve a complicated math formula. You probably would put one Stephen Hawking to work rather than 10.000 8 year old children.
    At least I believe Stephen Hawking would solve a complicated math problem much faster than any given number of school kids no matter how huge this number is.

    An if you want to make a CPU more like a GPU or vice versa you would effectivly need hundreds of cores that would consume kilowatts of energy. Like takeing a few hundred Stephen Hawkings.
     

Share This Page