
Ask HN: Vulkan spreads CPU load between cores, is it good for AMD? - akerro
Original too long title:<p>Ask HN: If Vulkan spreads CPU load between cores, AMDs strategy to build more CPU will pay off?<p>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 &quot;build more cores&quot;. [2] Does it mean that the strategy pays off and AMD will be better for gaming in long run?<p>[1] https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=llOHf4eeSzc<p>[2] https:&#x2F;&#x2F;i.imgur.com&#x2F;GDyOS.png
======
webscaleizfun
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).

------
viraptor
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.

------
peller
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.

