Ask HN: Vulkan spreads CPU load between cores, is it good for AMD?

5 points by akerro ↗ HN
Original too long title:

Ask HN: If Vulkan spreads CPU load between cores, AMDs strategy to build more CPU will pay off?

According to this video [1] Vulkan spreads CPU load between CPU cores, making whole process more efficient. AMD long lasting strategy that got its own meme is "build more cores". [2] Does it mean that the strategy pays off and AMD will be better for gaming in long run?

[1] https://www.youtube.com/watch?v=llOHf4eeSzc

[2] https://i.imgur.com/GDyOS.png

3 comments

[ 6.5 ms ] story [ 18.5 ms ] thread
It doesn't magically spread computation between cores. It just allows many cores to submit work at the same times. (yeah, I'm really simplifying here)

What that means though is that developers still need to write the code in a way that actually uses all the available cores for graphics. This has not been common so far and it will likely take some time for studios to move to that way of development. Even when multicore CPUs first came out, it took years before games actually started using that hardware properly.

But I don't see any reason for AMD to be much better here. Most CPUs sold by both Intel and AMD have either 4 or 8 cores.

Yes and no, Vulkan is a very low level API that leaves quite a bit of how CPU & GPUs are used up to the game engine developer. This can be good or bad, unlike OpenGL or DirectX you can really optimize your engine, but that is labor intensive & there will be games that should have used a higher level API like OpenGL, since they aren't willing to spend the time to take advantage of what OpenGL offers (much quicker to get pixels rendered on screen in a decently per formant way).

Another way of thinking about it is to think of Vulkan like C, and OpenGL and DirectX as Java, since that is an apt comparison in terms of high level vs low level languages, just in our case its a low level API (Vulkan).

I think long term AMD will benefit from more games using Vulkan at least on the GPU side, but it isn't a miracle solution that will make AMD compelling over Intel. Zen may create such a situation, though ultimately it is up to businesses and consumers to pick AMD over their competitors, which could happen due to a combination of factors (including Zen & Vulkan).

Well, this is a complicated question :) AMD's "build more cores" strategy is, in comparison to Intel's "build more cores" strategy, all marketing. What I mean is, they both have to "build more cores" because about 10-15 years ago the strategy of building a faster single core ran into a wall known as physics. Historically, a general-purpose CPU "core" meant an equal proportion of floating-point units to integer units (amongst other hardware units, but whats important here is the ratio of one-to-one). Well, when AMD was designing their successor to the Athlon64 architecture ("Bulldozer"), they tried to predict/steer the direction of the software industry by changing the ratio to one floating-point unit to two integer units. The rational being, GPUs are essentially monstrous high-bandwidth floating-point units, so the CPU needs less FP capabilities.

But software changes slowly, very slowly, and they were either decades early or deluding themselves; take your pick. Their new architecture was both slower than Intel's "Nehalem" architecture, and less energy efficient. But changing a CPU architecture is a very expensive and highly time-consuming process, and meanwhile marketing/sales has to keep the company afloat with the cards the engineers dealt them. So to make a long story short, they changed their definition of a CPU "core" to only count the integer units, and therefore, all AMD CPUs have "double" the cores. But it's kind of a lie, because they don't control the optimization of software/compilers, which all empirically seem to work best with the one-to-one ratio.

Of course, they eventually woke up to the truth, and have been hard at work on designing a successor. That's "Zen", which you've probably heard about by now. Its head architect is the same guy who led design on the Athlon 64, and after that, took the reigns on Apple's CPU efforts (he wasn't involved in Bulldozer). But he came back for Zen, and by all rights, it should put AMD back in the fight. Whether it's a knockout punch remains to be seen. Spoiler alert: public details are light so far, but, it sounds like it's conceptually (eg at a block-diagram level) very similar to Intel's current architecture.