By: hobold (hobold.delete@this.vectorizer.org), October 31, 2020 11:21 am
Room: Moderated Discussions
Wes Felter (wmf.delete@this.felter.org) on October 31, 2020 9:50 am wrote:
> hobold (hobold.delete@this.vectorizer.org) on October 31, 2020 6:34 am wrote:
> > blue (blue.delete@this.blue.com) on October 30, 2020 11:52 am wrote:
> > [...]
> > > RX 6000 series? "Smart Memory Access" is the CPU and GPU working together to extract more performance?
> >
> > A bit more info was released, and this seems to be rather mundane.
> > The CPU is allowed to open a much wider addressing
> > window into GPU VRAM. It used to be a 256MB aperture, now
> > it can be all of 16GB at once. With this "Smart Memory
> > Access" feature, most bank switching / segmentation / manual addressing overhead can be avoided.
>
> Does DMA go through the window? I thought virtually all access to VRAM uses DMA.
I don't know. Maybe it's the difference between
- let's assemble this vertex buffer on the CPU side and DMA it over
vs
- let's assemble this vertex buffer with the CPU in VRAM and be done (the "send" call still happens, but only has to flush CPU caches)
> hobold (hobold.delete@this.vectorizer.org) on October 31, 2020 6:34 am wrote:
> > blue (blue.delete@this.blue.com) on October 30, 2020 11:52 am wrote:
> > [...]
> > > RX 6000 series? "Smart Memory Access" is the CPU and GPU working together to extract more performance?
> >
> > A bit more info was released, and this seems to be rather mundane.
> > The CPU is allowed to open a much wider addressing
> > window into GPU VRAM. It used to be a 256MB aperture, now
> > it can be all of 16GB at once. With this "Smart Memory
> > Access" feature, most bank switching / segmentation / manual addressing overhead can be avoided.
>
> Does DMA go through the window? I thought virtually all access to VRAM uses DMA.
I don't know. Maybe it's the difference between
- let's assemble this vertex buffer on the CPU side and DMA it over
vs
- let's assemble this vertex buffer with the CPU in VRAM and be done (the "send" call still happens, but only has to flush CPU caches)