You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
a modern AMD card meant that we<br />
could benefit from the new AMDGPU<br />
driver model, which allows you to<br />
have entirely open-source video<br />
drivers. To ensure this card got the<br />
support it deserved, we upgraded<br />
Mesa to the version 17 (or 13.1 in the<br />
old versioning scheme) stack from the<br />
xorg-edgers PPA.<br />
A great deal of early Linux Ryzen<br />
1800X benchmarks were released on<br />
Michael Larabel’s Phoronix site, based<br />
on their test suite, and for the most<br />
part, these showed an eminently<br />
capable processor that certainly gave<br />
Intel a run for its money. We started<br />
by rerunning a selection of these, and<br />
our results more or less tallied with<br />
Michael’s. Check out the table to see<br />
the exact values, and check out<br />
openbenchmarking.com for details<br />
of what the tests involve.<br />
As highlighted by Phoronix, the<br />
general picture is of a chip that does<br />
well at workloads that scale<br />
efficiently over multiple cores and<br />
threads, but struggles at certain<br />
single-core workloads. The most<br />
glaring disappointments were the<br />
Himeno Poisson pressure solver<br />
(which was less than half as<br />
performant as on the 7700K), and<br />
FFmpeg which took longer to decode<br />
h.264 video than the i5 4670 chip,<br />
which was Intel’s sweet spot two<br />
generations ago.<br />
Chess isn’t really taken seriously<br />
as a benchmark, but the Stockfish<br />
engine actually provides a reasonable<br />
workout for a CPU. It analyses game<br />
trees, which branch plentifully (there<br />
are often lots of moves to choose from)<br />
and evolve in a non-uniform manner.<br />
So there’s plenty of opportunity for<br />
parallelisation, but a given position<br />
may lead to checkmate quickly, or may<br />
open many more doors.<br />
Essentially, there are lots of<br />
differently shaped and sized<br />
workloads, and getting through them<br />
all will be a challenge for any CPU.<br />
As it turns out, the ancient game of<br />
chess is not some weird Achilles’ heel<br />
of the Ryzen architecture — the chip<br />
This is what 16 threads all<br />
buzzing away at the same time<br />
to solve complicated chess<br />
problems look like.<br />
Freedom over the horizon?<br />
The Ryzen release gave tech pundits<br />
a lot to, uh... process, in terms of<br />
decoding the marketing speak,<br />
running independent benchmarks<br />
to compare with those promulgated<br />
by AMD, and — most importantly —<br />
deciding whether they should invest<br />
in the new chippery. But for opensource<br />
denizens, there was another<br />
surprise: AMD representatives on<br />
Reddit acknowledged the possibility<br />
that they might eventually release<br />
the necessary bits that would enable<br />
free firmware, such as Libreboot, to<br />
run on Ryzen-powered machines. The<br />
Free Software Foundation is especially<br />
concerned by AMD’s Platform Security<br />
performed marginally worse than<br />
the i5 4670 in Phoronix’s<br />
benchmarks and ours corroborated<br />
this. However, the problem lies in<br />
the benchmark itself, which doesn’t<br />
feed Stockfish suitable parameters<br />
for a many-cored processor, and<br />
ought to measure the rate of the test<br />
(nodes/s) rather than the overall<br />
time taken, since the number of<br />
nodes (positions) changes with each<br />
run. Some details are available in<br />
this post http://bit.ly/2o5aFK4.<br />
Ultimately, the benchmark is just<br />
measuring single-core performance.<br />
As it turns out, Ryzen is a fine<br />
platform for playing chess. We saw it<br />
peak at 8.8Mnodes/s using a hash<br />
size of 512, 12 threads and a depth<br />
of 20, which is pretty meaningless<br />
without context (other Stockfish<br />
benchmarks use different settings),<br />
so we tested it on the FX8350, the<br />
one-time top dog of the previous<br />
Piledriver architecture. It peaked at<br />
5.5MNnodes/s. It is interesting to<br />
see how it scales with thread count.<br />
As you can see, throwing more cores<br />
at a problem is not always the best<br />
way to solve it quicker.<br />
Processor (PSP), as well as the rival Intel<br />
Management Engine. This code runs<br />
on independent ARM processors that<br />
initialise the x86 cores and potentially<br />
has transparent access to anything that<br />
system is doing henceforth. But there<br />
are other components and keys that<br />
would need to be released before a<br />
free boot process can be had, (see<br />
Libreboot’s call to AMD at https://<br />
libreboot.org/amd-libre), and if there<br />
is any progress here, it will likely be<br />
slow and convoluted. Up until 2014,<br />
AMD released the source for their<br />
AGESA firmware, so perhaps we can<br />
hope for a return to at least this kind of<br />
partial openness.<br />
Ryzen is a new architecture and it<br />
would be foolhardy to just assume<br />
that all existing binaries out there<br />
will understand the platform and be<br />
able to make best use of it. It’s been<br />
noted the ALC1220 audio codec found<br />
on a number of AM4 boards will not be<br />
supported until Kernel 4.11. That said,<br />
the required code will be easily<br />
backported, so users of fixed release<br />
distros won’t have to wait too long<br />
after the 4.11 release in order to have<br />
functioning audio. Likewise, at time<br />
of writing, the chip’s thermal sensors<br />
weren’t yet available in lm_sensors,<br />
so we don’t have evidence of how hot<br />
under the collar the chip gets.<br />
Also there are some other platform<br />
components that lspci can’t identify,<br />
describing them only as<br />
“Non-Essential Instrumentation”.<br />
This we found amusing.<br />
In the weeks following Ryzen’s<br />
release, reports began to circulate<br />
that Windows 10’s scheduler was not<br />
being kind to Ryzen, and that<br />
disabling Symmetric Multi-Threading<br />
(SMT) features actually improved<br />
performance. These rumours have<br />
since been firmly debunked by AMD,<br />
but do provide this tenuous segue into<br />
a kernel patch signed off in early<br />
February (http://bit.ly/2mRbh53).<br />
Here, we see an AMD employee<br />
contributing kernel code to fix SMT<br />
scheduling topology. They probably<br />
do this on Windows too, but the<br />
process has to take place behind<br />
closed doors — with Linux, it all<br />
happens in the open. Ryzen-specific<br />
optimisations first appeared in GCC<br />
6.1, so those who aren’t afraid of<br />
compiling their own programs can<br />
try the -march=zn1ver switch<br />
for extra performance.<br />
www.apcmag.com 83