Originally posted by geearf
View Post
Announcement
Collapse
No announcement yet.
More AMD RadeonSI Improvements Land In Mesa Git
Collapse
X
-
Originally posted by geearf View PostIsn't mtune redundant once you have set march to native anyway?
You can compile following code as 32bit binary and see if or with what mtune settings you might be affected:
Most distros pass -mtune=generic by default which is also slow there and some of those too:
Code:-mtune=i586 = slow -mtune=pentium = slow -mtune=pentium-mmx = slow -mtune=pentium-pro = fast -mtune=i686 = fast -mtune=pentium3 = fast etc...
Last edited by dungeon; 04 February 2015, 09:00 PM.
Comment
-
Originally posted by duby229 View PostI can only answer for gentoo, but there are some ebuilds that only allow -mtune, so if you only apply -march, those ebuilds that look for -mtune will not get optimized.
Why do they only allow mtune?
Originally posted by dungeon View PostNo it is not the same, nor redundant. If you are radeon mesa user, look at this bug:
You can compile following code as 32bit binary and see if or with what mtune settings you might be affected:
Most distros pass -mtune=generic by default which is also slow there and some of those too:
Code:-mtune=i586 = slow -mtune=pentium = slow -mtune=pentium-mmx = slow -mtune=pentium-pro = fast -mtune=i686 = fast -mtune=pentium3 = fast etc...
From gcc doc:
Moreover, specifying -march=cpu-type implies -mtune=cpu-type.
Comment
-
Originally posted by geearf View PostI see what you are saying, but I believe that setting march to native automatically sets mtune to native as well (at least in arch).
From gcc doc:
https://gcc.gnu.org/onlinedocs/gcc-4...4-Options.html
Comment
-
Originally posted by dungeon View PostDocs for docs, practice for practice. In mesa i got slow results until i forced right -mtune and that for both CC and CXX flags.
Code:#gcc -march=native -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p' -march=nehalem -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -mno-aes -mno-sha -mno-pclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-bmi2 -mno-tbm -mno-avx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mno-xsave -mno-xsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=nehalem -fPIE -fstack-protector-strong
Code:#gcc -E -v - </dev/null 2>&1 | sed -n 's/.* -v - //p' -mtune=generic -march=x86-64 -fPIE -fstack-protector-strong
Comment
-
Originally posted by geearf View PostWhat distro are you using?
Keep in mind that i am talking about 32 bit toolchain, mesa and apps... 64bit is fine.Last edited by dungeon; 04 February 2015, 09:47 PM.
Comment
-
Originally posted by dungeon View PostDebian. It shows the -mtune is the same there, but try building mesa with only -march set and look at processes what you get Did you use radeon, so you can test that example?
Keep in mind that i am talking about 32 bit toolchain, mesa and apps... 64bit is fine.
But I don't understand what you mean by "look at processes what you get".
Do you mean looking at how gcc was called?
Oh I was looking at 64b, I haven't build 32b mesa in a while, but I don't mind trying if you explain to me what to look for.
And I am on radeonsi.
Comment
-
So I found out the problem with checkinstall.
Code:checkinstall checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran This software is released under the GNU GPL. ***************************************** **** Debian package creation selected *** ***************************************** *** Warning: The package name "LLVM" contains upper case *** Warning: letters. dpkg might not like that so I changed *** Warning: them to lower case. This package will be built according to these values: 0 - Maintainer: [ root@debian ] 1 - Summary: [ LLVM (An Optimizing Compiler Infrastructure) ] 2 - Name: [ llvm ] 3 - Version: [ 3.7.0svn ] 4 - Release: [ 0 ] 5 - License: [ GPL ] 6 - Group: [ Development/Compilers ] 7 - Architecture: [ i386 ] 8 - Source location: [ llvm ] 9 - Alternate source location: [ ] [B]10 - Requires: [ /sbin/ldconfig ][/B] 11 - Provides: [ llvm ] 12 - Conflicts: [ ] 13 - Replaces: [ ] Enter a number to change any of them or press ENTER to continue:
But I don't know what that setting means, I'm really noob in compiling.
I've tried to replace /sbin/ldconfig with a blank space and it build the package, but .... will it work?
Comment
-
Originally posted by brent View PostEh, I think the improvements in LLVM (VGPR spilling and machine scheduler) are much more important for performance and correctness than these changes to Mesa.
Comment
Comment