AMD Ryzen 7 1700X Linux Benchmarks

  • Thread starter Patrick Kennedy
  • Start date
Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

gigatexal

I'm here to learn
Nov 25, 2012
2,913
607
113
Portland, Oregon
alexandarnarayan.com
A few bits (need to head out to get another VGA to DVI/ HDMI adapter to get the Lantronix working.)

@Nanotech Ian had his benchmark table setup in the hotel in SF next to me while we were doing the AT podcast last week. He was very excited and does an awesome job.
@gigatexal - Will share a photo later, but I have two ASUS B350 (sans bifurcation) setups that are getting installed today with 64GB RAM. One with a 7 1700 and one with a 7 1700X. I think we are going to only get the 7 1700X in the lab for DemoEval. Once these are up and running, we will be able to get bits for @zir_blazer and @eva2000 soon.

And if you are wondering what is taking so long... it is a VGA adapter.
Quick turnaround. Awesome.
 

zir_blazer

Active Member
Dec 5, 2016
357
128
43
Once these are up and running, we will be able to get bits for @zir_blazer and @eva2000 soon.
I'm happy that my questions was noticed :D


BTW, there is an AMA with AMD executives going on Reddit (Including the CEO). The ECC question was made. Response: Ryzen supports UDIMM ECC, but it is not "validated", and support will depend on the will of the Motherboard manufacturer. RDIMM does not work.
There is also a lot of interest in Coreboot support.

I'm assaulting with the AVIC and PCIe ACS questions, obviously.
 
  • Like
Reactions: gigatexal

Patrick

Administrator
Staff member
Dec 21, 2010
12,516
5,809
113
I'm happy that my questions was noticed :D


BTW, there is an AMA with AMD executives going on Reddit (Including the CEO). The ECC question was made. Response: Ryzen supports UDIMM ECC, but it is not "validated", and support will depend on the will of the Motherboard manufacturer. RDIMM does not work.
There is also a lot of interest in Coreboot support.

I'm assaulting with the AVIC and PCIe ACS questions, obviously.
If you have a command to run, Ubuntu 14.04.5 is almost installed on one of the machines.
 

zir_blazer

Active Member
Dec 5, 2016
357
128
43
If you have a command to run, Ubuntu 14.04.5 is almost installed on one of the machines.
I don't know if Ubuntu is up to the task since Ryzen may need a bleeding edge Kernel.

If you want to saciate my obsession, you can begin with...

lspci -tv
lspci -vvv

With this, we have the PCI tree hierarchy, and full data on each PCI Device. The most useful features could be probabily FLR (Function Level Reset) support, which could be useful for warm reset (Reboot) of some Devices like USB Controllers.


The other thing, should be enable the IOMMU thus the IOMMU Groups constructs gets created. You have to add a Kernel Parameter, but I'm not sure which since the only platform where I tried that is mine, and is Intel, where it is intel_iommu=on . According to google, it is amd_iommu=on (But I recall that previously it was iommu=1 iommu=pt or something like that, I'm not sure if it got changed). That requires a reboot.

Assumming that you could enable it and the Kernel didn't panic (Quite high chances), the only other thing I need is just this...

find /sys/kernel/iommu_groups/ | sort

I can later parse manually the logs.

Thank you a lot in advance. Chances are that early adopters for Passthrough that are too shy/lazy to Leeroy Jenkins their way will be even happier than me.


Also, AVIC on all Ryzens has been confirmed.
 

TType85

Active Member
Dec 22, 2014
630
193
43
Garden Grove, CA
Around 9min in they talk about ECC, 14min they talk about IOMMU. Currently IOMMU is not looking good. They were getting just about everything on the chipset in one group.
 
  • Like
Reactions: eva2000

Patrick

Administrator
Staff member
Dec 21, 2010
12,516
5,809
113
They need to try dual core workloads with Turbo :)

Just as a heads-up, on the lower-end ASUS B350 boards, they are using a newer Reltek NIC that is... you guessed it, out of the box not supported by Ubuntu. I just popped the driver file (get it here) and ran the install script. Everything worked after bringing the interfaces back up.
 
  • Like
Reactions: eva2000

Patrick

Administrator
Staff member
Dec 21, 2010
12,516
5,809
113
@zir_blazer

lspci -tv
Code:
sudo lspci -tv | tee lspci-tv.txt
-[0000:00]-+-00.0  Advanced Micro Devices, Inc. [AMD] Device 1450
           +-01.0  Advanced Micro Devices, Inc. [AMD] Device 1452
           +-01.3-[03-21]--+-00.0  Advanced Micro Devices, Inc. [AMD] Device 43bb
           |               +-00.1  Advanced Micro Devices, Inc. [AMD] Device 43b7
           |               \-00.2-[1d-21]--+-00.0-[1e]----00.0  Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
           |                               +-01.0-[1f-20]----00.0-[20]--
           |                               \-04.0-[21]--
           +-02.0  Advanced Micro Devices, Inc. [AMD] Device 1452
           +-03.0  Advanced Micro Devices, Inc. [AMD] Device 1452
           +-03.1-[22]--+-00.0  NVIDIA Corporation Device 128b
           |            \-00.1  NVIDIA Corporation GK208 HDMI/DP Audio Controller
           +-04.0  Advanced Micro Devices, Inc. [AMD] Device 1452
           +-07.0  Advanced Micro Devices, Inc. [AMD] Device 1452
           +-07.1-[23]--+-00.0  Advanced Micro Devices, Inc. [AMD] Device 145a
           |            +-00.2  Advanced Micro Devices, Inc. [AMD] Device 1456
           |            \-00.3  Advanced Micro Devices, Inc. [AMD] Device 145c
           +-08.0  Advanced Micro Devices, Inc. [AMD] Device 1452
           +-08.1-[24]--+-00.0  Advanced Micro Devices, Inc. [AMD] Device 1455
           |            +-00.2  Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode]
           |            \-00.3  Advanced Micro Devices, Inc. [AMD] Device 1457
           +-14.0  Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller
           +-14.3  Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge
           +-18.0  Advanced Micro Devices, Inc. [AMD] Device 1460
           +-18.1  Advanced Micro Devices, Inc. [AMD] Device 1461
           +-18.2  Advanced Micro Devices, Inc. [AMD] Device 1462
           +-18.3  Advanced Micro Devices, Inc. [AMD] Device 1463
           +-18.4  Advanced Micro Devices, Inc. [AMD] Device 1464
           +-18.5  Advanced Micro Devices, Inc. [AMD] Device 1465
           +-18.6  Advanced Micro Devices, Inc. [AMD] Device 1466
           \-18.7  Advanced Micro Devices, Inc. [AMD] Device 1467
@eva2000 here you go:
Code:
$ gcc -c -Q -march=native --help=target | grep march
  -march=                               btver2
 

Attachments

zir_blazer

Active Member
Dec 5, 2016
357
128
43
Looks like the video card is in it's own group? That is a good sign if it is.
They are related, but no, we still don't know how IOMMU Groups works in AM4.
The thing is that isolation works from the PCIe Root Complex going down. If there is a part of the fabric that does NOT support ACS, everything in the tree hierarchy (That you see with lspci -t) below that specific PCIe Bridge, gets into the same IOMMU Group. If the PCI Bridge supports ACS, it will be in an independent IOMMU Group than the Device that is inmediately below it.


I took the time to try to despiece the lspci data that Patrick provided. The hierarchy looks rather orderly after you get used to it. The topology looks rather good for basic IOMMU Grouping, assuming that there aren't other surprises.

Imgur: The most awesome images on the Internet

I'm curious about what is the function of the Device 1452. These are categorized as Host Bridges, but they are mostly paired with a PCI Bridge as a Multifunction of them. I suppose that these Host Bridges are configurable, and shapes some things of the PCIe fabric like PCIe Lanes bifurcation, or something like that. Some PCI Bridges may not even be created if the PCIe Slot goes unused (Happens with bifurcation in consumer Intel platforms, too).

00:01.0 / 00:01.3 - 4 PCIe Lanes for Processor-to-Chipset
00:02.0 / 00:02.1? - Probably the 2-4 PCIe Lanes that are shared with the other Host Bridge that provides the Processor SATA Controller, as they had 3 possible configurations.
00:03.0 / 00:03.1 - Processor main 16 PCIe Lanes
00:04.0 / 00:04.1 - Probably bifurcates 8 PCIe Lanes from the previous in X370 if second PCIe Slot is populated
00:07.0 / 00:07.1 - Mostly for the Processor USB Controller
00:08.0 / 00:08.1 - Mostly for the Processor SATA Controller

I suppose that each of these should be in their exclusive IOMMU Groups at the bare minimum, assuming that the Processor supports PCIe ACS.


I also found this:
The New Citavia Blog: Some AMD Zen leaks (ES clocks, PCI info, Rambus DDR PHY, Roadmaps) [UPDATED]
The last 8 Devices at 00:18.x got a name. These are akin the bucketload of control Devices that LGA 2011 Processors have.

For some reason, the Phoronix lspci output (Which didn't go for full -vvv details or the tree) based on their MSI X370 XPOWER GAMING TITANIUM Motherboard includes a visible IOMMU Device at 00:00.2
Could that be because AMD-Vi/IOMMU wasn't enabled in Firmware?
OpenBenchmarking.org - Ryzen 7 1800X - lspci


Sadly, all Devices that has FLR announces it as FLReset- which should mean FLR is unsupported :(

Finally, for Passthrough purposes you REALLY NEED X370, just for the bifurcation to 8x/8x, because as I stated several times, it isn't as expansive as HEDT, and the Chipset PCIe 2.0 Lanes sucks. But looks better than LGA 1151.

Thanks a lot Patrick. So far, is rather good.
 
Last edited:
  • Like
Reactions: gigatexal

eva2000

Active Member
Apr 15, 2013
244
49
28
Brisbane, Australia
centminmod.com
I can't wait to see the official reviews. The last AMD desktop processor I purchased had to have been a decade ago with a X2 socket 939 chip.
same my last AMD cpu purchase was the good old s939 socket cpus ! those were the days with DFI based s939 motherboards !

@eva2000 here you go:
Code:
$ gcc -c -Q -march=native --help=target | grep march
  -march=                               btver2
sweet which GCC version is that ? might need a few GCC version for the newer cpu models i.e. GCC 5 or GCC 6 based
 

AdrianB

Member
Mar 3, 2017
34
17
8
62
So if I read the review right there's no ECC for 1700X? Which skus do ECC?

ECC is enabled on all SKUs. However, on these consumer SKUs, it is not tested, so it is not guaranteed to work.

The PCB layout of the motherboard must also support ECC and the BIOS must have an option to enable it, at least until AMD will publish the BIOS and Kernel Developer's Guide for Family 17h.

Among the available motherboards, it seems that only ASRock support ECC, but it is not certain yet, because the user manuals from their site are incomplete for the moment (claiming that the the BIOS menus are still changing between revisions, so the menus that would show if ECC support exists are missing from the manuals).

I would have liked more definite information, but I want to test Ryzen in comparison with a similar Xeon E3 in an almost identical configuration, so I have decided to gamble and I have ordered a Ryzen. I will also order an ASrock MB, so in a few weeks I will know for sure if ECC works or not.
 
  • Like
Reactions: gigatexal

AdrianB

Member
Mar 3, 2017
34
17
8
62
ECC is enabled on all SKUs. However, on these consumer SKUs, it is not tested, so it is not guaranteed to work.

The PCB layout of the motherboard must also support ECC and the BIOS must have an option to enable it, at least until AMD will publish the BIOS and Kernel Developer's Guide for Family 17h.

Among the available motherboards, it seems that only ASRock support ECC, but it is not certain yet, because the user manuals from their site are incomplete for the moment (claiming that the the BIOS menus are still changing between revisions, so the menus that would show if ECC support exists are missing from the manuals).

I would have liked more definite information, but I want to test Ryzen in comparison with a similar Xeon E3 in an almost identical configuration, so I have decided to gamble and I have ordered a Ryzen. I will also order an ASrock MB, so in a few weeks I will know for sure if ECC works or not.

I forgot to insert the links to what was said by AMD:


We are AMD, creators of Athlon, Radeon and other famous microprocessors. We also power the Xbox One and PS4. Today we want to talk RYZEN, our new high-speed CPU five years in the making. We're celebrating with giveaways, and you can ask us anything! Special guest: AMD President and CEO Dr. Lisa Su. • r/Amd
and
We are AMD, creators of Athlon, Radeon and other famous microprocessors. We also power the Xbox One and PS4. Today we want to talk RYZEN, our new high-speed CPU five years in the making. We're celebrating with giveaways, and you can ask us anything! Special guest: AMD President and CEO Dr. Lisa Su. • r/Amd


The main part is:
Validated means run it through server/workstation grade testing. For the first Ryzen processors, focused on the prosumer / gaming market, this feature is enabled and working but not validated by AMD. You should not have issues creating a whitebox homelab or NAS with ECC memory enabled.

 

AdrianB

Member
Mar 3, 2017
34
17
8
62
same my last AMD cpu purchase was the good old s939 socket cpus ! those were the days with DFI based s939 motherboards !


sweet which GCC version is that ? might need a few GCC version for the newer cpu models i.e. GCC 5 or GCC 6 based

You need gcc 6 to have the option "znver1" for arch. Any older gcc will not know to optimize specifically for Zen.
 
  • Like
Reactions: eva2000

AdrianB

Member
Mar 3, 2017
34
17
8
62
So anyone building a system around say Arch or gentoo where all the packages are built custom for the CPU?
I happen to be a Gentoo user myself. For Gentoo or similar systems, CFLAGS should include either "-march=haswell" or "-march=broadwell" or "-march=skylake".

Zen resembles Haswell, Broadwell or Skylake much more than Bulldozer. "-mprefer-avx128" might be useful, but we do not know that for sure yet.

The instruction set implemented by Zen is not compatible with Bulldozer, i.e. some Bulldozer instructions will cause exceptions on Zen, so you must not choose any older AMD processor for "-march=".

On the other hand, Zen implements all Skylake instructions (at least all that are used by GCC) with the exception of the Intel Transactional Synchronization Extensions. I will not miss TSE, because in my opinion they are the wrong solution for implementing concurrency.

Besides the Skylake instructions, Zen implements the 4 AMD Barcelona instructions and also the secure hash instructions that have been introduced in Intel Goldmont (e.g. Apollo Lake & Denverton) but which will be available in the mainline Intel processors only starting with Cannonlake.

Besides instructions previously used by other processors, Zen introduces 3 instructions that are very useful in my opinion, CLZERO (clears a cache line, avoiding its fetching from the main memory) and MWAITX/MONITORX, which are an improvement over MWAIT/MONITOR, because they may include a timeout, to avoid an endless waiting.


So choosing a recent Intel architecture in GCC should be OK and you would lose very little, because the support for "znver1" optimizations is far from finished.