Perhaps generic (x86-64) targeted distros are the fastest currently for Zen? Are the various default distribution CFLAGS documented anywhere?
Announcement
Collapse
No announcement yet.
6-Way Linux Distribution Comparison On AMD's Ryzen
Collapse
X
-
Originally posted by s_j_newbury View PostPerhaps generic (x86-64) targeted distros are the fastest currently for Zen? Are the various default distribution CFLAGS documented anywhere?
- Ubuntu 17.04 20170313: --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic -v
- Clear Linux 13910: --build=x86_64-generic-linux --disable-libunwind-exceptions --disable-multiarch --disable-vtable-verify --enable-__cxa_atexit --enable-bootstrap --enable-clocale=gnu --enable-gnu-indirect-function --enable-languages=c,c++,fortran,go --enable-ld=default --enable-libmpx --enable-libstdcxx-pch --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --exec-prefix=/usr --includedir=/usr/include --target=x86_64-generic-linux --with-arch=westmere --with-glibc-version=2.19 --with-gnu-ld --with-isl --with-ppl=yes --with-tune=haswell
- Debian 9.0 Testing: --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic -v
- Antergos 17.3: --disable-libssp --disable-libstdcxx-pch --disable-libunwind-exceptions --disable-multilib --disable-werror --enable-__cxa_atexit --enable-checking=release --enable-clocale=gnu --enable-gnu-indirect-function --enable-gnu-unique-object --enable-install-libiberty --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-libmpx --enable-lto --enable-plugin --enable-shared --enable-threads=posix --mandir=/usr/share/man --with-isl --with-linker-hash-style=gnu
- Fedora 25: --build=x86_64-redhat-linux --disable-libgcj --disable-libunwind-exceptions --enable-__cxa_atexit --enable-bootstrap --enable-checking=release --enable-gnu-indirect-function --enable-gnu-unique-object --enable-initfini-array --enable-languages=c,c++,objc,obj-c++,fortran,ada,go,lto --enable-libmpx --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --mandir=/usr/share/man --with-arch_32=i686 --with-isl --with-linker-hash-style=gnu --with-tune=generic
- openSUSE Tumbleweed: --build=x86_64-suse-linux --disable-libcc1 --disable-libgcj --disable-libssp --disable-libstdcxx-pch --disable-libvtv --enable-__cxa_atexit --enable-checking=release --enable-gnu-indirect-function --enable-languages=c,c++,objc,fortran,obj-c++,java,ada,go --enable-libstdcxx-allocator=new --enable-linux-futex --enable-multilib --enable-offload-targets=hsa --enable-plugin --enable-ssp --enable-version-specific-runtime-libs --host=x86_64-suse-linux --mandir=/usr/share/man --with-arch-32=x86-64 --with-slibdir=/lib64 --with-tune=generic --without-system-libunwindLast edited by dungeon; 15 March 2017, 12:22 PM.
- Likes 1
Comment
-
Originally posted by dungeon View Post
You have them in compiler detaills there.
On top of that i guess all have -O2 as default optimization level, otherwise for minor specific cases switch might go up and down for particular cases if/when needed.Last edited by s_j_newbury; 15 March 2017, 02:23 PM.
- Likes 1
Comment
-
Originally posted by s_j_newbury View Post
That doesn't tell you which ISA extension specific libraries may be built, for example there may be -fpmath=avx built libm/libmvec libraries, and I also remember, historically at least, major distributions used to use -mtune={popular CPU of the day} when actually building, as opposed to just compiler default.
All major (these which target wide range of users/hardware) binary distros always uses 'generic' mtune Here only Clear Linux i don't consider major but special - as it uses haswell tuning and for Anterogos it is not clear
But if you want near whole picture for example Debian's packages from couple years ago:
http://sylvestre.ledru.info/blog/201...gs-in-software
About 75% were O2, else different or some even go mixed (same build use different flags)... now you know why clear answer is impossible to get thereLast edited by dungeon; 15 March 2017, 03:36 PM.
Comment
-
These are bleeding-edge kernel days - for example, the latest 'stable' kernel was released today (4.10.3), only 3 days after the prior release. The new kernel has several AMD patches. It's not surprising in the modern compute era that the, all things being equal, the distros keeping up with kernel changes (and Mesa, LLVM, etc.) will win in the end. Of course, all things are not equal, and differences in what-switches-are-enabled-at-compile-and-what-optional-patches-are-applied, and other optimizations are not to be discounted. But still, all things equal, latest and greatest is best for performance.
One of the advantages of running AMD with RadeonSI is that one can install the latest kernels at will, without much fear of borking their system, because the open source drivers just 'tend to work' w/o much fuss. I know this is a layman's post and very the opposite of technical, but still I think valid, esp. for the AMD gamer looking for optimal performance.
I've run every kernel on Kubuntu since 4.9.0 without an issue.
- Likes 2
Comment
Comment