GPU on Android?

Message boards : Android : GPU on Android?
Message board moderation

To post messages, you must log in.

AuthorMessage
Dr Who Fan
Avatar

Send message
Joined: 10 May 07
Posts: 935
United States
Message 108274 - Posted: 29 May 2022, 21:18:31 UTC - in response to Message 108273.  

First your phone will need a device driver (just like your computer does) for it to be usable.

Second, you need some one to write an application for your favorite BOINC project to be compatible with "Android OpenCL" and produce 100% valid data with their other applications.

So, start with getting your programming thinking hat and shoe's on. Easier said than done.
ID: 108274 · Report as offensive     Reply Quote
ProDigit

Send message
Joined: 8 Nov 19
Posts: 714
United States
Message 108343 - Posted: 8 Jun 2022, 8:39:26 UTC

There are no GPU WUs for ARM devices.
I believe neither for Apple...
OpenCL capable devices don't mean they'll perform well.
The mobile GPUs in our phones have between 2 to 12 shaders for gaming phones.
Compare that to 2k to 8k shaders on modern GPUs.
You'd have to run your Cellphone a 1000+ days or years to have the equivalent of 1 day or year of dGPU folding.

Also, if your phone has 12 EUs in it, they either need active cooling, or used in an extremely cold room, like 50F or below, or so, as most cellphone GPUs are more power hungry than their CPU.
ID: 108343 · Report as offensive     Reply Quote
ProDigit

Send message
Joined: 8 Nov 19
Posts: 714
United States
Message 108372 - Posted: 9 Jun 2022, 18:57:55 UTC - in response to Message 108360.  
Last modified: 9 Jun 2022, 19:00:22 UTC

Their CPUs aren't bad, how come the GPUs suck?

Presumably people max out the phone's GPU playing games, probably on their lap without active cooling.

Their GPUs are actually more powerful than their CPUs (at least the Cortex A50 series).
However, they also consume a lot of power (much like a Cortex A70 series CPU).
Thus heat is the main reason why they don't do Boinc GPU projects on ARM (mainly because they are built in phones).
There's currently too few ARM devices out there that offer sufficient cooling. Some IOT devices, like singleboard computers, and Apple laptops.
No other laptops, desktops or servers out yet, and if there are, the low availability on Boinc often doesn't justify writing projects in OpenCL for ARM.

Aside from heat problems (where phones could potentially run GPU WUs meant for servers and overheat), there could also be compatibility issues, where GPU WUs work for one type of ARM (say Snapdragon IGPs), but won't work on mediatek or kirin devices, and where they basically error out every WU.
R&D lacks time and money for such projects.

We will be happy that ARM or RISCV will come out with a nice server CPU for the end user, like the much anticipated Ampere Altra server CPU.
It's promised for nearly a decade, but still today is hard to nearly impossible to buy for regular people like us.
ID: 108372 · Report as offensive     Reply Quote
ProDigit

Send message
Joined: 8 Nov 19
Posts: 714
United States
Message 108410 - Posted: 11 Jun 2022, 23:56:58 UTC - in response to Message 108374.  

most games don't max out the gpus.
I used to have a LeEco 3 Pro, with a Snapdragon 820 system on chip.
When I played Robot wars, that thing got so hot you could burn yourself on it.
I wrote robot wars about the phone heating up, and they fixed it with a next update.
The game still looks the same, save for fewer ray tracing and bullets flying.
The ordinary person wouldn't notice unless looking at screen shots.
But the phone ran much cooler.

Another thing that heats up the SOC is lots of read/writes to the L-Cache.
I can run Boinc fine on my Galaxy A72 on 5 cores (runs around 30C), but at 6 cores the temperature goes up to 36C (and sometimes exceeds 42C if I combine projects with too many Einstein WUs).
It's not the added CPU, it's lack of L-Cache that causes more Read/Writes, and increases temperature.

Games are optimized to keep the most accessed code within the L-Cache. But OpenCL might need much more access to L-Cache; many more read/writes, as the memory results always change after a calculation.
Unlike games where a lot of that data is static data (like textures, or geometric data).
ID: 108410 · Report as offensive     Reply Quote
ProDigit

Send message
Joined: 8 Nov 19
Posts: 714
United States
Message 108457 - Posted: 15 Jun 2022, 1:28:36 UTC - in response to Message 108411.  

PC games max out the GPU. What's the point of a powerful GPU you can't fully use? They might aswell have put in a slower one. You should have written to the phone manufacturer and asked for a return of their piece of crap hardware. Imagine if your car overheated if you tried to drive at maximum speed.


There are so many designs for each type of SOC. Every brand makes them different.
Some brands make em run at their highest frequency (for performance reasons) and build in a cooling solution, while others focus on low power consumption.
Sometimes this has to do with the phone size (form factor), that is not able to extract enough heat from the CPU.
Hence a game needs to work acceptably on a certain SOC on all phones; which is why some games use sync (30 or 60fps), and any extra computing power is untapped.
It would nearly be impossible to make a game utilize 100% of the same resources, though one device is faster than the other.
Phones are usually low power devices. They focus on low heat, long battery life.
So whenever a game utilizes only 30FPS, but they can easily display 50, the phone internals use clever trickery to still save that power. Mostly in the form of duplicating screens (like 1 out of 6 screens, so a game running at 50FPS, can display that it's running the game at 60FPS, even though 1 out of 6 frames is a duplicate...

It's only one of the so many tricks manufacturers bypass the limitations of the hardware.
Another is to not offer ray tracing, or reduce the LOD on games.
Other limitations could be reduce the screen resolution of the device, so it can never play games at too low frame rates...

It makes it nearly impossible for developers to make a game 100% utilize all resources on all phones.
They rather make fewer variants of the game that are compatible with both faster and slower versions of the same chipset..
ID: 108457 · Report as offensive     Reply Quote
ProDigit

Send message
Joined: 8 Nov 19
Posts: 714
United States
Message 108496 - Posted: 16 Jun 2022, 21:37:38 UTC - in response to Message 108460.  

On android, no.
Most games underperform what the hardware can do.
ID: 108496 · Report as offensive     Reply Quote
Bryn Mawr
Help desk expert

Send message
Joined: 31 Dec 18
Posts: 234
United Kingdom
Message 108531 - Posted: 18 Jun 2022, 11:54:22 UTC - in response to Message 108499.  

On android, no.
Most games underperform what the hardware can do.
Presumably the hardware limits itself to avoid overheating? It would be utterly insane to design a phone that can do 3x calculations per second if it overheats when it exceeds x.


Utterly insane? No, straight business sense in designing a tool for an intended purpose and a target market.

There are very few processes that run at a steady rate, almost everything that runs on a phone, games included, have bursts of high processing interspersed with slack periods. The phones are designed to cope with this pattern of work and the cooling is rated for the highest expected average load - anything more would increase the size and weight of the phone, never mind the cost of manufacture.

Running Boinc on a phone is not what the phone is designed for - it is not surprising that such intense load causes the phone to overheat.
ID: 108531 · Report as offensive     Reply Quote
Profile Jord
Volunteer tester
Help desk expert
Avatar

Send message
Joined: 29 Aug 05
Posts: 15075
Netherlands
Message 108532 - Posted: 18 Jun 2022, 12:45:24 UTC - in response to Message 108531.  

Running Boinc on a phone is not what the phone is designed for - it is not surprising that such intense load causes the phone to overheat.
Hence why the specific gaming phones come with vapor chamber cooling technology and some of them even with a (clip-on) fan. But otherwise, having a fan blow over the phone while it crunches helps keep the temperature down. And if someone finds that overkill they shouldn't complain if their device overheats. They won't run an Intel 12900ks without active cooling either.
ID: 108532 · Report as offensive     Reply Quote
Bryn Mawr
Help desk expert

Send message
Joined: 31 Dec 18
Posts: 234
United Kingdom
Message 108555 - Posted: 19 Jun 2022, 1:01:02 UTC - in response to Message 108536.  

Utterly insane? No, straight business sense in designing a tool for an intended purpose and a target market.

There are very few processes that run at a steady rate, almost everything that runs on a phone, games included, have bursts of high processing interspersed with slack periods. The phones are designed to cope with this pattern of work and the cooling is rated for the highest expected average load - anything more would increase the size and weight of the phone, never mind the cost of manufacture.

Running Boinc on a phone is not what the phone is designed for - it is not surprising that such intense load causes the phone to overheat.
Games do a lot of processing non stop. Every single PC game uses the GPU 100% all the time, non stop.

All the phone has to do is drop the clock if it overheats, it's not rocket science. They don't need more cooling, they need a thermostat.


As you’ve obviously written many I’ll bow to you superior development knowledge.
ID: 108555 · Report as offensive     Reply Quote

Message boards : Android : GPU on Android?

Copyright © 2022 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.