Timeline for Does this workload fit GPU's?
Current License: CC BY-SA 3.0
7 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
May 9, 2016 at 20:09 | comment | added | Drathier | Incredibly good comments, wish I could upvote twice! | |
May 9, 2016 at 19:54 | vote | accept | Drathier | ||
May 9, 2016 at 18:46 | comment | added | Jules | On low end gpus, of course, you lose less simply because they run less in parallel anyway. Typical mobile GPUs may only have 24-32 processors in either 4 or 8 units, so slowdown due to branching is only likely to be 1/4 to 1/8th in any case, so it may be the case that it is a significant proportion of the speed of a high-end GPU in a worst-case scenario, but that you'll get down to its lowest performance with a lot fewer branches. | |
May 9, 2016 at 18:28 | comment | added | Jules | But that would require a lot of branching. If you take a look at a GPU's specs, you'll see a description of how many stream processors it has per compute unit. The worst case is that it only manages to use one in each unit. But in order for that to happen, your code has to branch so much and so randomly that every attempted computation ends up executing different code. So if a GPU has 128 stream processors per unit, you'd have to have significantly more than 128 possible code paths to hit that minimum, which seems unlikely for most reasonable algorithms. | |
May 9, 2016 at 18:22 | comment | added | Jules | It'll depend very much on what GPU you're using, of course. A current high-end GPU might degrade from ~3000 parallel operations down to as low as 24 parallel operations if there is too much branching for it (although there'd have to be a lot of branching for that to happen...), reducing computation throughput from 6 TFLOPs down to about 40 GFLOPs, which is to say about a quarter what a high end CPU would be able to handle, or about the same as the fastest ARM chips currently available (assuming ideal circumstances, i.e. repeatedly running the fused add+multiply instruction). | |
May 9, 2016 at 7:47 | comment | added | Drathier | Any estimate on how much parallelism is needed for it to break even, compared to a arm/x86 cpu? | |
May 9, 2016 at 1:33 | history | answered | Jules | CC BY-SA 3.0 |