alexandros
Banned
Eurogamer has an interesting article on the process of porting Ubisoft racer The Crew from PC to PS4. In it, developers of the PS4 version speak in detail about the porting process. It's a fascinating read:
http://www.eurogamer.net/articles/digitalfoundry-how-the-crew-was-ported-to-playstation-4
What caught my eye was the mention of two separate system buses, one for the GPU and one for the CPU. While the GPU bus has the full bandwidth of 176GB/s, the CPU one is 20Gb/s. Also, according to the devs, allocating data correctly between the CPU and GPU bus is extremely important in order to achieve good performance.
So I'd like the opinion of people far more knowledgable than me in matters of technology as to what this means. If the memory pool is unified (which we know it is) but the buses are separate and of different speeds, is the memory subsystem truly unified?
http://www.eurogamer.net/articles/digitalfoundry-how-the-crew-was-ported-to-playstation-4
What caught my eye was the mention of two separate system buses, one for the GPU and one for the CPU. While the GPU bus has the full bandwidth of 176GB/s, the CPU one is 20Gb/s. Also, according to the devs, allocating data correctly between the CPU and GPU bus is extremely important in order to achieve good performance.
The PS4 operates a system where memory is allocated either to the CPU or GPU, using two separate memory buses.
"One's called the Onion, one's called the Garlic bus. Onion is mapped through the CPU caches... This allows the CPU to have good access to memory," explains Jenner.
"Garlic bypasses the CPU caches and has very high bandwidth suitable for graphics programming, which goes straight to the GPU. It's important to think about how you're allocating your memory based on what you're going to put in there."
"The first performance problem we had was not allocating memory correctly... So the Onion bus is very good for system stuff and can be accessed by the CPU. The Garlic is very good for rendering resources and can get a lot of data into the GPU," Jenner reveals.
So I'd like the opinion of people far more knowledgable than me in matters of technology as to what this means. If the memory pool is unified (which we know it is) but the buses are separate and of different speeds, is the memory subsystem truly unified?