5 ms·
>bandwidth is the same for AMD and Apple and much lower for Intel. Later >Intel: 700, AMD 1400, Apple: 2100 I wouldn’t call 2x and 3x “similar”. Also I don’
by lowbloodsugar 4y ago
>bandwidth is the same for AMD and Apple and much lower for Intel.
Later
>Intel: 700, AMD 1400, Apple: 2100
I wouldn’t call 2x and 3x “similar”.
Also I don’t see why author thinks desktop chips with integrated graphics are meant to be paired with a discreet GPU. Surely the opposite is true. I got a faster CPU by not getting one with integrated graphics.
Finally, doesn’t the fact that apple has a fundamentally different rendering pipeline relevant?
- Dalewyn 4y agoAt least with regards to Intel CPUs, iGPU-less CPUs (the ones with -F suffixes) are otherwise identical to the standard ones with iGPUs. The main reason to buy them is the slightly lower price, which could make a difference if you're on a tight budget. On a tangential note, it's great having an iGPU even if you are almost never going to use it. If your discrete GPU borks, you have a fallback ready and waiting. If you do use it alongside a discrete GPU, you can offload certain lower priority tasks like video encoding/decoding to it.
- wtallis 4y agoAnd on the AMD side, for several generations their desktop CPUs with integrated GPUs were lagging behind the ones without, because they were really just packaging their laptop silicon for the desktop socket. Each new iteration of the Zen microarchitecture has shipped first in the chiplet-based desktop and server products, then later incorporated into the monolithic laptop SoCs. Now AMD's desktop chiplet-based CPUs have a tiny GPU in the IO/memory controller die, ill-suited to anything more advanced than everyday web browsing.
- dathinab 4y ago> ill-suited also not meant for anything but office use, debugging ease of live and maybe offloading some dedicated GPU task to the included decoder in the future. there is still a good chance we will see some APUs soon like a 7700G it will be interesting to see if they will be Zen 4.
- msbarnett 4y ago> Finally, doesn’t the fact that apple has a fundamentally different rendering pipeline relevant? Is it still all that fundamentally different? All of the RDNA parts are tile-based renderers (I think even the Vega series GCN parts made that switch?)
- garaetjjte 4y agoThey might rasterize fragments inside tiles to reduce blending costs, but still very much behave like immediate renderers: single-pass, with vertex shading results passed continuously into fragment shaders. Apple GPU is tile-based deferred renderer: vertex stage runs first storing results into intermediate buffer, then each tile is processed running fragment shader, at the end flushing results to framebuffer. This reduces memory bandwidth but might require multiple passes when eg. intermediate vertex output buffer overflows.
- my123 4y agoAnd there are GPUs that have both operating modes: Adreno.
- ribit 4y agoDoes Adreno really have a deferred mode? The documentation I could find only describes tiled immediate rendering. Edit: I just had another look, pretty sure this is standard Tile-Based Immediate Rendering. The documentation sometimes refers to this as "deferred" probably because copying of the final image values to the RAM is deferred. But "deferred" in TBDR means "deferred shading", not just "deferred memory copy". Adreno does not do deferred shading.
- ribit 4y agoIt's pretty different alright. First, there is the tile size. For current crop of desktop GPUs, tiling is primarily about cache locality (if you keep your processing spatially local you are also less likely to trash caches), but they still have very fast RAM and want to keep the triangle binning overhead to the minimum. So the tile size for desktop GPUs is much larger (if I remember correctly, it was about 128x128 pixels or something like that when I last tested it on Navi). Mobile GPUs really want to keep all of the relevant processing in the local memory entirely, so they use much smaller tiles (32x32 or even 16x16) at the expense of more involved and costly binning. Apple (inherited from PowerVR) adds another twist on top: the rasterised pixel are not shaded immediately but instead collected in a buffer. Once all fragments in a tile are rasterised you basically have an array with visible triangle information for each pixel. Pixel shading is then simply a compute pass over this array. This can be more efficient as you only need to shade visible pixels, and it might utilise the SIMD hardware better (as you are shading 32x32 blocks containing multiple triangles at once rather than shading triangles separately), plus it radically simplifies dealing with pixels (there are never any data races for a given pixel, pixel data write-out is just a block memcpy, programmable blending is super easy and cheap to do) — in fact, I don't believe that Apple even has ROPs. There are of course disadvantages as well — it's very tricky to get right and requires specialised fixed-function hardware, you need to keep transformed primitive data around in memory until all primitives are processed (because shading is delayed), there are tons of corner cases you need to handle which can kill your performance(transparency, primitive buffer overflows etc.). And of course, many modern rendering techniques rely on global memory operations and there is an increasing trend to do rasterisation in a compute shader, where this rendering architecture doesn't really help.
- dathinab 4y agoMany desktop chips which integrated GPU have that GPU only for office use cases and debugging/ease of live. The recent Ryzen processor are a pretty extreme example of this only including a extremely minimal GPU. So there isn't that much value in the effort to benchmark them. There are some exceptions for low end gaming systems, some more office use cases and some AIO use-cases e.g. the G-series amd processors like the 5700G. They tend to have GPUs noticable faster then what intel integrated graphics has in the same generation but also noticable less the dedicated graphics.
- smueller1234 4y agoOne is cache/memory bandwidth, the other "FP32 FMA Vector Throughput", isn't it? If so - not the same thing.