Message boards : Android : GPU on Android?
Message board moderation
Author | Message |
---|---|
Send message Joined: 10 May 07 Posts: 1442 |
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. |
Send message Joined: 8 Nov 19 Posts: 718 |
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. |
Send message Joined: 8 Nov 19 Posts: 718 |
Their CPUs aren't bad, how come the GPUs suck? 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. |
Send message Joined: 8 Nov 19 Posts: 718 |
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). |
Send message Joined: 8 Nov 19 Posts: 718 |
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.. |
Send message Joined: 8 Nov 19 Posts: 718 |
On android, no. Most games underperform what the hardware can do. |
Send message Joined: 31 Dec 18 Posts: 296 |
On android, no.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. |
Send message Joined: 29 Aug 05 Posts: 15561 |
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. |
Send message Joined: 31 Dec 18 Posts: 296 |
Utterly insane? No, straight business sense in designing a tool for an intended purpose and a target market.Games do a lot of processing non stop. Every single PC game uses the GPU 100% all the time, non stop. As you’ve obviously written many I’ll bow to you superior development knowledge. |
Copyright © 2024 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.