AMD Ryzen 3000 Post-Review BIOS Update Recap: Larger ST Gains, Some Gains/Losses
anandtech.com
anandtech.com
1. RDRAND returns -1 (and sets the carry bit meaning it thinks -1 is a random number). Supposedly this will be fixed in a BIOS update (which makes me think it's an intended mode wrongly turned on... a backdoor?)
2. On linux, CPU monitoring (e.g. temperature) is not available as AMD hasn't published the specs on that yet
3. While it has spectre "mitigations" (stibp, ibpb, ssbd), spectre is not yet dead (spectre_v1, spectre_v2, spec_store_bypass).
4. There is a bug/oddity in how it deals with %fs: https://www.phoronix.com/scan.php?page=news_item&px=DragonFl...
5. PSP/SEV ccp driver calls hang (on my machine at least, might be the mobo) but luckily linux only waits a few seconds before giving up and continuing the boot process.
6. There have been reports of high idle voltages, but under linux w/o monitoring I have no idea if I'm affected or if the issue is real or significant.
For most use cases all of the above are minor and don't overshadow the price-performance success of these processors.
https://www.phoronix.com/scan.php?page=news_item&px=AMD-Rele...
processor : 15
vendor_id : AuthenticAMD
cpu family : 23
model : 113
model name : AMD Ryzen 7 3700X 8-Core Processor
stepping : 0
microcode : 0x8701013
cpu MHz : 1863.008
cache size : 512 KB
physical id : 0
siblings : 16
core id : 7
cpu cores : 8
apicid : 15
initial apicid : 15
fpu : yes
fpu_exception : yes
cpuid level : 16
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid extd_apicid aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate sme ssbd mba sev ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif umip rdpid overflow_recov succor smca
bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips : 7189.14
TLB size : 3072 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 43 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]What do you think is more common? People rolling their own SHA implementation or people calling <insert crypto library>'s SHA256()? The former will barely get any sort of optimization, regardless of compiler flags, the latter will automatically use the SHA extensions.
[0]: https://neosmart.net/blog/2017/will-amds-ryzen-finally-bring...
Yet more evidence not to trust hardware random number generators.
I remember reading somewhere that, for a long time, Intel's "test cases" basically consisted of all the operating systems they could find, going back to MS-DOS 1.0 and including some more obscured ones, as well as tons of other third-party software.
Unfortunately it seems this new generation no longer follows the "NEVER break backwards compatibility" principle that made the PC such a great platform, and as a result we're seeing hardware/software/firmware that's increasingly buggy and divergent. It used to be the case that if a new processor couldn't run existing software (even that which depended on undocumented but constant behaviour) unmodified, it was a fatal flaw.
The problem is as it always is with these kinds of things. They help assure that you can measure your model and your implementation of that model. They're much less capable of determining you've got the right model to begin with. That part is still up to the humans.
The state of commonplace capabilities for testing and verification of software is extremely far behind that of hardware. For a variety of economic, cultural, and use case incentives reasons.
https://www.amd.com/system/files/TechDocs/amd-random-number-...
> "The RNG uses 16 separate ring oscillator chains as a noise source. Each chain consists of a different prime number of inverters in a free-running configuration which capture natural clock jitter"
So it's (deliberately) dependent on natural manufacturing variation in the silicon, and in any deterministic simulator won't produce random numbers. It also takes a while to start; it's possible that the startup conditions are bad such that "a while" turns out to be "forever".
https://github.com/systemd/systemd/blob/f90bcf8679e870878829...
How long is very long? 100ms, or 10s?
And it's my experience, too. It's one reason to install something like haveged. I had boot delays in the range of minutes, without it.
In some ways, it's very much WONTFIX because something like sshd might actually need the entropy. I'm glad that systemd has proper workarounds implemented so that the machine actually boots out of the box, though.
Oh, the art of insulting the audience in the first line of a message intended for them. And it ends up being the person you'd expect to write it.
The choice is easy: pay more for intel and 'It Just Works (tm)' or pay less for amd and fight with issues.
And it's great.
Well, apart from the major cloud-breaking side-channel security issues.
There was also more performance left on the table in the initial AnandTech tests on 7/7; conservative DDR-3200 JEDEC memory timing was used throughout. More aggressive memory profiles will improve performance and AMD CPUs are known to benefit greatly from better RAM performance.
So despite the already good results of Ryzen Gen 3 we can expect better performance as the platform is optimized.
This is probably related to the AGESA blob which sets up the power and frequency controls. These come from AMD, and as long as your vendor is reasonably prompt, you should be ok. When other vendors update for AGESA, they'll include that in the notes, so you can pester your vendor for an update.
Any suggestions, and reasoning why?
As for the suggestion, that’s what I’ve been struggling with too. The gaming motherboards popular for self assembly seem to be getting better at updating the bios, but the manuals I’ve read still recommend against updating the firmware. Which makes me guess you’d want to wait for the PlayStation 5 or the next Xbox, or a PC vendor that is associated with fwupd, as that’s likely a good indicator that they care about firmware.
Why; The Gen 3 Ryzen is a very frequency agile design. Performance depends strongly on how rapidly core frequency is adapted to load. Frequency is governed by firmware, so optimal firmware is crucial.
Someone else speculated that the relevant firmware is the AMD provided "AGESA blob." Whatever it's called you're relying on the board vendor diligently bundling the latest version in a timely manner and not dragging their feet when there are issues with newer versions. Also, power supply is a function of board design and I wouldn't be surprised to learn of feedback mechanisms that afforded the board designer some degree of control; given the cost of high performance capacitors this actually seems pretty likely. If so then merely updating the blob may not be enough ensure optimum results.
In any case I suspect the firmware that shipped on 7/7 is far from optimal given the pressure to deliver, so pursuing newer firmware will likely have significant ongoing pay offs.
MKL and MKL-DNN take advantage of AVX512 and VNNI automatically, if available. Lots of scientific software (basically all of it that cares about CPU perf) use MKL and MKL-DNN.
I don't like that X570 needs a chipset fan, but at least cooling's useful. I can't have as much charity toward LEDs. Although I do like 'em. The æsthetic is sick. Although not this one: https://smile.amazon.com/G-Skill-Trident-3600Mhz-PC4-28800-C...
Not at all true. It's around 0.1-0.2 watt per LED. A RAM stick is going to have maybe a dozen at most, so that's an extra 1-2 watts. Similar for a motherboard. Maybe a fully binged out build is burning 10-20 watts on RGB, give or take.
That's comparable to the power usage of just the VRMs or the X570 chipset (which is 10-15w), to say nothing of the CPU or GPU itself (both of which commonly blow past 100W under loads)
LEDs are very, very efficient. They do not take a "disproportionate ton of power."
10-20W is 10-40% of idle power consumption, perhaps, for a workstation. So it wastes a lot even in relative terms.
Then turn them off? The whole point of RGB lighting is it's controllable. That includes setting it to off.
(Also computer hardware vendors seem particularly fond of blue LEDs, which is the most annoying color to some people.)
And yes, I mean RAM, GPU, motherboard, fans, etc advertised as "RGB". If it's the same price and includes LED, then for all purposes it doesn't have LED.
Not a single vendor supports Linux. Luckily some things have been reverse engineered, but it's very far from "just turn it off". Even on windows it sucks if you're mixing brands. MSI Mobo, Asus GPU, Corsair RAM, gonna need 3 separate programs running at startup to control those LEDs.
I get that some object to non-open standards on principle, but RGB is not a serious impediment to availability or use. Looking, there are non-RGB versions of most current-gen hardware available from popular resellers, and there are plenty of OEM options that are RGB-free. What I don't have racked somewhere else is in solid 'silent' cases with as few moving parts as required, but I bought parts with minimal/no lighting anyway.
I certainly hope that everyone can find something amenable to their situation, but I also feel that objecting doesn't help when an hour's work or research beforehand can allieviate the cause.
The RGB stuff sorta grew on me and it's kind of interesting on Linux to be able to see the CPU fan stop spinning completely (never seems to happen on W10 though...).
It’s extremely hard to build a PC that would fit my personal aesthetics and even if I can turn those off the mere thought of having to configure that and the mere thought of those LEDs existing at all offends me on a deep level.
You have limitless choices when it comes to building a PC but the aesthetics of the things you can get are awful and tiring and just … ugly.
the point is to market the premium RGB'd hardware as some game specific hardware to kids that think "game cache" is anything but more memory
Garish LEDs aside, marketing that sort of blatantly false exaggerated spec should be illegal. 1M hours is over 100 years.
Also, keep in mind that MTBF is not expected lifetime or anything at all like that.
What a 1 million hour MTBF actually means is that if you had 1 million of these drives running at the same time, you'd expect one failure per hour. (Or similarly, if you had 1000 drives, you'd expect a failure every 1000 hours).
100 drives - failure every 10,000 hours
10 drives - failure every 100,000 hours
1 drive - failure every 1,000,000 hours...
How is this not expected lifetime?
[edit: split lines]
It would be nice to know the time window, but I'd expect it to be somewhere in the 5 to 10 year range.
That equals 0.86% Annual Failure Rate (AFR).
Backblaze regularly provides their real-world-usage drive stats: https://www.backblaze.com/blog/backblaze-hard-drive-stats-q1...
Seagate announced they would use AFR instead of MTBF in the future: https://www.seagate.com/de/de/support/kb/hard-disk-drive-rel...
Of course, it also depends on what you count as a failure. Is a drive that can no longer write but can still read a "failure"? Probably - but that's a considerably softer way to fail than a hard drive with a bad bearing or head.
So my comment is 100% nitpick but I do want to make a point here.
X year failure rate divided by X is not the same as AFR. AFR will always be higher, because it has to compensate for each year's pool of potential failures shrinking.
The correct equation is already there, 1-e^-(n/114), and the correct number is .87%. And while that's only a percent off, it's lucky to only be a percent off. If MTBF was 113 years it would be .86 vs. .88, which is the difference between two digits of accuracy and one and a half digits of accuracy. Losing a quarter of your accuracy is not great!
http://in-win.com/ makes quality cases without windows.
its gross
Thankfully my tastes have grown since then, but I can't blame kids today for doing the same thing I was doing (though I can grumble that they have fancy cases and led controllers and aio coolers where I had beige boxes and holesaws and custom wiring and fish tank gear).
However, the difference is now that we are effectively being forced to pay for features we do not want and which are a waste of material resources and power. Previously, you would have needed to get those extra bits yourself.
I've seen only one tidy motherboard for these new chips and its from Asus.
https://www.asus.com/Motherboards/Pro-WS-X570-ACE/
Look at that, a normal looking VRM & chipset heatsink, and somehow they've resisted the urge to stick a fake plastic gun magazine onto the board!
Supermicro server boards are about as utilitarian as you can get, with off the shelf heatsinks slapped on them, its only the consumer gear that wastes money on this stuff.
ah yes. The fabled colourful plastic heat sinks.
Why bother with copper when plastic with flashy graphics dissipates heat just as well.
https://www.anandtech.com/show/14161/the-amd-x570-motherboar...
At this point the Asus Pro WS X570-Ace ( https://www.asus.com/Motherboards/Pro-WS-X570-ACE/ ) appears to be the only x570 board with certified ECC support.
The Gigabyte X570 AORUS XTREME (as another example) says in the specs
> Support for ECC Un-buffered DIMM 1Rx8/2Rx8 memory modules*
* ECC is only supported with AMD Ryzen™ PRO-series CPU.
Hmm.
Their are also other issues that should be fixed but haven't.
My only complaint would be the lack of detailed change logs, which are often only a single bullet point.
I'm not sure about Asus' X570 line since they market a board with explicit ECC support, but their lower-end and mid-tier X470 boards supported ECC. Their higher end boards -- curiously -- did not.
You can generally tell if a board supports ECC by looking at the board's manual. If it supports ECC, it will be mentioned.
I'm still waiting for the fix to be pushed for rdrand issue that breaks systemd.
Intra-CCX latency is now awesome, and all inter-CCX (including intra-CCD) latency is not bad (and goes through IF) - what's interesting is that intra vs inter-CCD latency seems to be within a ns or two. Pretty impressive (considering it needs to bounce through the cIOD)!