Live data from Hacker News

Snapdragon 8 Gen 1's iGPU: Adreno Gets Big

chipsandcheese.com

31–40 of 47 posts

Re: Snapdragon 8 Gen 1's iGPU: Adreno Gets Big

#31
For the 'CPU to GPU Copy Bandwidth' section the more likely reason GPU -> CPU copy is slow is there's no reason to do it. Adreno is unified memory, you can just mmap that GPU buffer on the CPU. This is done on Android via the "gralloc" HAL, also called (A)HardwareBuffer.

CPU->GPU is still valuable in that it's where texture swizzling happens to optimize the data for non-linear access, and vendors are all cagey about documenting these formats. But I don't think there's a copy engine for it at all, i think it's just CPU code. If you run a perfetto trace you can see adreno actually using multiple threads for this, likely why CPU->GPU is then so much faster than the reverse. But you almost never need non-linear output, so since vendor-specific swizzling isn't helpful you just don't bother and use shared memory between the two.

Re: Snapdragon 8 Gen 1's iGPU: Adreno Gets Big

#33
post #6
post #3

Snapdragon 800 -> Snapdragon 8 Gen N is terrible marketing. It makes everything sound like a point release.

I believe their biggest failure in branding is to not put out Raspberry Pi-like small boards for people to experiment. Anyone with a slight interest in computers knows an M3 is a beast and that an i3 is meh. Almost nobody outside Qualcomm knows why a Gen 8 N is better than an 800 and what the difference would be.

The soc alone is 160+ dollars.

Re: Snapdragon 8 Gen 1's iGPU: Adreno Gets Big

#34
post #25

Any explanation why Qualcomm uses "tile based rendering" while Nvidia and AMD don't?

If you can afford to render the entire screen, why would you tile? Tiling complicates certain kinds of shaders, tiles have to be stitched together to make the final image, and tiling redraws (different parts of) the same triangles multiple times.

On a dedicated GPU with lots of memory bandwidth, there's probably no benefit (and maybe even some penalty) to use tiling with lower resolutions (e.g. 1080p). However, 4K rendering might benefit from it and 8K rendering probably requires it.

Re: Snapdragon 8 Gen 1's iGPU: Adreno Gets Big

#35
post #2

Does anyone know if there is any processor(in phone) with SVE/SVE2? As SVE/SVE2 SHOULD be in all new ARMv9.0-A + CPU cores. I did have a chance to test only Qualcomm Snapdragon cores ( Samsung Galaxy S23).

Qualcomm disables SVE (masked at the hypervisor level) on all their silicon. If you want SVE on a phone roday, your options are Tensor G3, Exynos 2200/2400 or MediaTek phones with ARMv9 CPUs.

Or if you have hypervisor execution level code exec (including an unfused phone), you can patch up that limitation.

Re: Snapdragon 8 Gen 1's iGPU: Adreno Gets Big

#36
Great article, as always!

The author not only looks into the spec sheet and the presentation, but also looks into the OSS mesa code and uses OpenGL introspection to reverse-engineer (well, not by himself but...) the architecture. For me this is one of the most detailed explanations of how mobile GPU architecture looks like.

The comparison to the older NVIDIA GPU is also very helpful (it is like a 6 year gap between this and discrete NVIDIA GPU 1050 GTX). Now I wonder how it compares to other mobile GPUs like Apple's or ARM's.

Re: Snapdragon 8 Gen 1's iGPU: Adreno Gets Big

#37
post #6
post #3

Snapdragon 800 -> Snapdragon 8 Gen N is terrible marketing. It makes everything sound like a point release.

I believe their biggest failure in branding is to not put out Raspberry Pi-like small boards for people to experiment. Anyone with a slight interest in computers knows an M3 is a beast and that an i3 is meh. Almost nobody outside Qualcomm knows why a Gen 8 N is better than an 800 and what the difference would be.

Intel Core i3 is to Apple M3, i5 is to M3 Pro, i7 is to M3 Max, and i9 is to M3 Ultra.

If you think an i3 is "meh", you know nothing about computers. For the vast majority of users including gamers, an i3 is overkill.

Re: Snapdragon 8 Gen 1's iGPU: Adreno Gets Big

#38
post #34
post #25

Any explanation why Qualcomm uses "tile based rendering" while Nvidia and AMD don't?

If you can afford to render the entire screen, why would you tile? Tiling complicates certain kinds of shaders, tiles have to be stitched together to make the final image, and tiling redraws (different parts of) the same triangles multiple times. On a dedicated GPU with lots of memory bandwidth, there's probably no benefit (and maybe even some penalty) to use tiling with lower resolutions (e.g. 1080p). However, 4K re…

The output resolution doesn't matter. The reason you tile is to improve locality and thus have more cache hits. For mobile GPUs, the cache is literally a specific tile buffer, but for nvidia (who also do this) the cache is just L2. But by tiling the geometry, they spend more time in L2 and fewer times hitting DRAM. This is a performance and power win. The actual resolution is irrelevant as the tiles are very small, even on nvidia GPUs. 16x16 and 32x32 are common tile sizes, see https://www.techpowerup.com/231129/on-nvidias-tile-based-ren... and https://www.youtube.com/watch?v=Nc6R1hwXhL8 where this was reverse engineered before nvidia actually talked about it.

You might be confusing tiled rendering with various upscaling technologies or variable rate shading?

Re: Snapdragon 8 Gen 1's iGPU: Adreno Gets Big

#39
post #35
post #2

Does anyone know if there is any processor(in phone) with SVE/SVE2? As SVE/SVE2 SHOULD be in all new ARMv9.0-A + CPU cores. I did have a chance to test only Qualcomm Snapdragon cores ( Samsung Galaxy S23).

Qualcomm disables SVE (masked at the hypervisor level) on all their silicon. If you want SVE on a phone roday, your options are Tensor G3, Exynos 2200/2400 or MediaTek phones with ARMv9 CPUs. Or if you have hypervisor execution level code exec (including an unfused phone), you can patch up that limitation.

So I have this https://en.wikipedia.org/wiki/Windows_Dev_Kit_2023

And we can run ubuntu on that https://github.com/armbian/build

There isn't any hypervisor running on that and still no SVE So any advice ?

Re: Snapdragon 8 Gen 1's iGPU: Adreno Gets Big

#40
post #4
post #2

Does anyone know if there is any processor(in phone) with SVE/SVE2? As SVE/SVE2 SHOULD be in all new ARMv9.0-A + CPU cores. I did have a chance to test only Qualcomm Snapdragon cores ( Samsung Galaxy S23).

Snapdragon 888 probably the first one have SVE, Snapdragon 7/8 gen all have Qualcomm® Type-1 Hypervisor, so what's your test, abel to run any linux on it?

I am using default android on Samsung Galaxy S23 with userland https://play.google.com/store/apps/details?id=tech.ula So any advice how to run it?
Post reply on HN