* [gentoo-user] -march=native is *EXTREMELY* conservative @ 2011-12-17 21:07 Walter Dnes 2011-12-17 21:53 ` Dale ` (2 more replies) 0 siblings, 3 replies; 17+ messages in thread From: Walter Dnes @ 2011-12-17 21:07 UTC (permalink / raw To: gentoo-user Here's the setup of my secondary machine.. It's a Dell Inspiron Desktop 530, with 2 gigs of ram, assembled and shipped August 2007. It has an Intel Core2 (*NOT* a "Core2 Duo") cpu. From /proc/cpuinfo... vendor_id : GenuineIntel cpu family : 6 model : 15 model name : Genuine Intel(R) CPU 2140 @ 1.60GHz stepping : 2 cpu MHz : 1595.660 cache size : 1024 KB Here are the cpu flags... waltdnes@d530 ~ $ grep flags /proc/cpuinfo flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl est tm2 ssse3 cx16 xtpr pdcm lahf_lm dts Then I ran "gcc -march=native -Q --help=target" and got a major shock. It's a long output listing of what -march=native thinks about my cpu. Here are some relevant items... -march= core2 -mmmx [disabled] -msse [disabled] -msse2 [disabled] -msse3 [disabled] -mssse3 [disabled] It properly identified the cpu as "core2". But mmx, sse, sse2, sse3 (aka pni), and ssse3 are disabled!!! The reason I dug into this was that I was trying to 1920x1080i streaming video from my HDHomerun TV tuner box. I originally used CFLAGS="-O2 -march=native -fomit-frame-pointer -pipe" when setting up the system. It could not handle 1920x1080i streaming TV video. After findinding out about "-native", I changed CFLAGS to... CFLAGS="-O2 -march=native -mmmx -msse -msse2 -msse3 -mssse3 -mfpmath=sse -fomit-frame-pointer -pipe" ...and emerged system and world and rebuilt the kernel. Now the onboard Intel GPU handles 1920x1080i flawlessly. As a matter of fact, it handles 1080p flawlessly. -- Walter Dnes <waltdnes@waltdnes.org> ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-user] -march=native is *EXTREMELY* conservative 2011-12-17 21:07 [gentoo-user] -march=native is *EXTREMELY* conservative Walter Dnes @ 2011-12-17 21:53 ` Dale 2011-12-17 21:58 ` [gentoo-user] " Nikos Chantziaras 2011-12-18 1:15 ` [gentoo-user] -march=native is *EXTREMELY* conservative Paul Hartman 2 siblings, 0 replies; 17+ messages in thread From: Dale @ 2011-12-17 21:53 UTC (permalink / raw To: gentoo-user Walter Dnes wrote: > gcc -march=native -Q --help=target If that shows something disabled that cat /proc/cpuinfo shows as available, is it safe to turn it on? So far all I have found that is disabled that cpuinfo shows is mmx. I'm still looking tho. Also, I think the native setting is a setting that is known to be 100% safe. It is likely one of those things that if you use anything not safe and have problems, you get to keep the pieces. I think if the CPU supports it should be fine to turn but wanted to ask and make sure. I paid almost $200 for my CPU and I would like to get $200 out of it and use it all. I bought the whole thing so may as well use the whole thing. ;-) Thoughts? Dale :-) :-) -- I am only responsible for what I said ... Not for what you understood or how you interpreted my words! Miss the compile output? Hint: EMERGE_DEFAULT_OPTS="--quiet-build=n" ^ permalink raw reply [flat|nested] 17+ messages in thread
* [gentoo-user] Re: -march=native is *EXTREMELY* conservative 2011-12-17 21:07 [gentoo-user] -march=native is *EXTREMELY* conservative Walter Dnes 2011-12-17 21:53 ` Dale @ 2011-12-17 21:58 ` Nikos Chantziaras 2011-12-18 1:10 ` Walter Dnes 2011-12-18 1:15 ` [gentoo-user] -march=native is *EXTREMELY* conservative Paul Hartman 2 siblings, 1 reply; 17+ messages in thread From: Nikos Chantziaras @ 2011-12-17 21:58 UTC (permalink / raw To: gentoo-user On 12/17/2011 11:07 PM, Walter Dnes wrote: > > Then I ran "gcc -march=native -Q --help=target" and got a major shock. > It's a long output listing of what -march=native thinks about my cpu. > Here are some relevant items... > > -march= core2 > -mmmx [disabled] > -msse [disabled] > -msse2 [disabled] > -msse3 [disabled] > -mssse3 [disabled] > > It properly identified the cpu as "core2". But mmx, sse, sse2, sse3 > (aka pni), and ssse3 are disabled!!! The output lies. It's a known issue. Use this instead: echo | gcc -dM -E - -march=native You should see stuff like: #define __MMX__ 1 #define __SSE3__ 1 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-user] Re: -march=native is *EXTREMELY* conservative 2011-12-17 21:58 ` [gentoo-user] " Nikos Chantziaras @ 2011-12-18 1:10 ` Walter Dnes 2011-12-18 10:34 ` Walter Dnes 0 siblings, 1 reply; 17+ messages in thread From: Walter Dnes @ 2011-12-18 1:10 UTC (permalink / raw To: gentoo-user On Sat, Dec 17, 2011 at 11:58:36PM +0200, Nikos Chantziaras wrote > The output lies. It's a known issue. Use this instead: > > echo | gcc -dM -E - -march=native > > You should see stuff like: > > #define __MMX__ 1 > #define __SSE3__ 1 The onboard GPU was initially incapable of handling 1080i video without stuttering badly and dropping frames. After explicitly changing the flags and rebuilding system+world+kernel, it displays 1080p videos flawlessly. That's one big "co-incidence". -- Walter Dnes <waltdnes@waltdnes.org> ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-user] Re: -march=native is *EXTREMELY* conservative 2011-12-18 1:10 ` Walter Dnes @ 2011-12-18 10:34 ` Walter Dnes 2011-12-18 10:45 ` Nikos Chantziaras 0 siblings, 1 reply; 17+ messages in thread From: Walter Dnes @ 2011-12-18 10:34 UTC (permalink / raw To: gentoo-user On Sat, Dec 17, 2011 at 08:10:54PM -0500, Walter Dnes wrote > The onboard GPU was initially incapable of handling 1080i video without > stuttering badly and dropping frames. After explicitly changing the > flags and rebuilding system+world+kernel, it displays 1080p videos > flawlessly. That's one big "co-incidence". This was only recently installed. Is it possible that the generic x86 code from the initial install was the problem? And that emerging system+world got me full optimization? -- Walter Dnes <waltdnes@waltdnes.org> ^ permalink raw reply [flat|nested] 17+ messages in thread
* [gentoo-user] Re: -march=native is *EXTREMELY* conservative 2011-12-18 10:34 ` Walter Dnes @ 2011-12-18 10:45 ` Nikos Chantziaras 2011-12-18 18:10 ` Andrea Conti 2011-12-19 0:05 ` [gentoo-user] A tale of computing thud and blunder Walter Dnes 0 siblings, 2 replies; 17+ messages in thread From: Nikos Chantziaras @ 2011-12-18 10:45 UTC (permalink / raw To: gentoo-user On 12/18/2011 12:34 PM, Walter Dnes wrote: > On Sat, Dec 17, 2011 at 08:10:54PM -0500, Walter Dnes wrote > >> The onboard GPU was initially incapable of handling 1080i video without >> stuttering badly and dropping frames. After explicitly changing the >> flags and rebuilding system+world+kernel, it displays 1080p videos >> flawlessly. That's one big "co-incidence". > > This was only recently installed. Is it possible that the generic x86 > code from the initial install was the problem? And that emerging > system+world got me full optimization? Could be. It could also be it's because of "-mfpmath=sse". That's only used by default on 64-bit. On 32-bit, the FPU is used for floating point operations by default, which gives better precision (80 bit vs 64 bit) but slower speed. But then again, that sounds too much of a performance difference. So if I had to guess, I'd say it's because of the world rebuild that made sure everything was built with proper optimizations. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-user] Re: -march=native is *EXTREMELY* conservative 2011-12-18 10:45 ` Nikos Chantziaras @ 2011-12-18 18:10 ` Andrea Conti 2011-12-19 0:05 ` [gentoo-user] A tale of computing thud and blunder Walter Dnes 1 sibling, 0 replies; 17+ messages in thread From: Andrea Conti @ 2011-12-18 18:10 UTC (permalink / raw To: gentoo-user > Could be. It could also be it's because of "-mfpmath=sse". AFAIK most video decoders (outside of reference implementations) are written using integer math only... -O3 is a much more likely candidate. andrea ^ permalink raw reply [flat|nested] 17+ messages in thread
* [gentoo-user] A tale of computing thud and blunder 2011-12-18 10:45 ` Nikos Chantziaras 2011-12-18 18:10 ` Andrea Conti @ 2011-12-19 0:05 ` Walter Dnes 2011-12-19 0:17 ` Dale 1 sibling, 1 reply; 17+ messages in thread From: Walter Dnes @ 2011-12-19 0:05 UTC (permalink / raw To: gentoo-user On Sun, Dec 18, 2011 at 12:45:27PM +0200, Nikos Chantziaras wrote > > On 12/18/2011 12:34 PM, Walter Dnes wrote: > > > > This was only recently installed. Is it possible that the generic x86 > > code from the initial install was the problem? And that emerging > > system+world got me full optimization? > > Could be. It could also be it's because of "-mfpmath=sse". That's only > used by default on 64-bit. On 32-bit, the FPU is used for floating > point operations by default, which gives better precision (80 bit vs 64 > bit) but slower speed. > > But then again, that sounds too much of a performance difference. So if > I had to guess, I'd say it's because of the world rebuild that made sure > everything was built with proper optimizations. It's probably the sum total of the effect of all the flags. I've renamed the thread, to be more accurate. Here's how things went... * right after the install (presumably with generic i686 code) the PC could not handle streaming 1080i video from my HDHomerun TV tuner * I misinterpreted output from gcc diagnostics, and concluded that "march=-native" left several flags disabled that shouldn't be * acting on that (mis)information), I emerged system+world+kernel and found that not only could my system handle 1080i, it could handle a 1080p Youtube clip without problems, after a lot of buffering. My 5 megabit ADSL connection was the limiting factor there. It's supposed to be upgraded to 6 megabits one of these days, for some minor improvement. * I mistakenly thought that it was the additional flags in CFLAGS during the emerge system+world that boosted the video. Actually, the emerge would've done the trick. The lesson from this is that, before doing any benchmarking or heavy-duty usage, one should emerge system+world, to replace the generic code from the install CD with fully optimized code. It's easiest to so right after the initial install, so that there are as few packages to emerge as possible. -- Walter Dnes <waltdnes@waltdnes.org> ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-user] A tale of computing thud and blunder 2011-12-19 0:05 ` [gentoo-user] A tale of computing thud and blunder Walter Dnes @ 2011-12-19 0:17 ` Dale 2011-12-19 5:41 ` Pandu Poluan 0 siblings, 1 reply; 17+ messages in thread From: Dale @ 2011-12-19 0:17 UTC (permalink / raw To: gentoo-user Walter Dnes wrote: > It's probably the sum total of the effect of all the flags. I've > renamed the thread, to be more accurate. Here's how things went... * > right after the install (presumably with generic i686 code) the PC > could not handle streaming 1080i video from my HDHomerun TV tuner * I > misinterpreted output from gcc diagnostics, and concluded that > "march=-native" left several flags disabled that shouldn't be * acting > on that (mis)information), I emerged system+world+kernel and found > that not only could my system handle 1080i, it could handle a 1080p > Youtube clip without problems, after a lot of buffering. My 5 megabit > ADSL connection was the limiting factor there. It's supposed to be > upgraded to 6 megabits one of these days, for some minor improvement. > * I mistakenly thought that it was the additional flags in CFLAGS > during the emerge system+world that boosted the video. Actually, the > emerge would've done the trick. The lesson from this is that, before > doing any benchmarking or heavy-duty usage, one should emerge > system+world, to replace the generic code from the install CD with > fully optimized code. It's easiest to so right after the initial > install, so that there are as few packages to emerge as possible. That is good advice too. When I do a install, I unpack the tarball and do the normal things and get my make.conf settings done. Since there is very little installed anyway, I do a emerge -ev world. It usually takes only a hour or so depending on the speed of the rig. Thing is, you then have everything compiled with your settings and not the generic ones the tarball had. It also updates anything that needs it too. Even before amd64 came along I did it this way. Lots of people use Intel CPUs but I use AMD. I don't know what the person that made the tarball uses but either way, he has to make it generic so that it will run on ANY CPU. I wonder if they should mention this in the docs? It seemed to have made a difference in your case for sure. You went from not being able to play a video to being able to play a HD video. Dale :-) :-) -- I am only responsible for what I said ... Not for what you understood or how you interpreted my words! Miss the compile output? Hint: EMERGE_DEFAULT_OPTS="--quiet-build=n" ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-user] A tale of computing thud and blunder 2011-12-19 0:17 ` Dale @ 2011-12-19 5:41 ` Pandu Poluan 2011-12-19 6:15 ` Dale 0 siblings, 1 reply; 17+ messages in thread From: Pandu Poluan @ 2011-12-19 5:41 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 2554 bytes --] On Dec 19, 2011 7:20 AM, "Dale" <rdalek1967@gmail.com> wrote: > > Walter Dnes wrote: >> >> It's probably the sum total of the effect of all the flags. I've renamed the thread, to be more accurate. Here's how things went... * right after the install (presumably with generic i686 code) the PC could not handle streaming 1080i video from my HDHomerun TV tuner * I misinterpreted output from gcc diagnostics, and concluded that "march=-native" left several flags disabled that shouldn't be * acting on that (mis)information), I emerged system+world+kernel and found that not only could my system handle 1080i, it could handle a 1080p Youtube clip without problems, after a lot of buffering. My 5 megabit ADSL connection was the limiting factor there. It's supposed to be upgraded to 6 megabits one of these days, for some minor improvement. * I mistakenly thought that it was the additional flags in CFLAGS during the emerge system+world that boosted the video. Actually, the emerge would've done the trick. The lesson from this is that, before doing any benchmarking or heavy-duty usage, one should emerge system+world, to replace the generic code from the install CD with fully optimized code. It's easiest to so right after the initial install, so that there are as few packages to emerge as possible. > > > > That is good advice too. When I do a install, I unpack the tarball and do the normal things and get my make.conf settings done. Since there is very little installed anyway, I do a emerge -ev world. It usually takes only a hour or so depending on the speed of the rig. Thing is, you then have everything compiled with your settings and not the generic ones the tarball had. It also updates anything that needs it too. Even before amd64 came along I did it this way. Lots of people use Intel CPUs but I use AMD. I don't know what the person that made the tarball uses but either way, he has to make it generic so that it will run on ANY CPU. > > I wonder if they should mention this in the docs? It seemed to have made a difference in your case for sure. You went from not being able to play a video to being able to play a HD video. > Kind of like what I always do when I switch from -march=nocona to -march=native. (Usually I use -march=nocona to ensure seamless VM migration on my XenServer-equipped boxen, but for some VMs, i.e., those requiring me to wring out every last drop of performance, I go native.) That said, if you want to experience fully the "GCC Graphite" optimizations, you'll also want to do emerge -ev ;-) Rgds, [-- Attachment #2: Type: text/html, Size: 2821 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-user] A tale of computing thud and blunder 2011-12-19 5:41 ` Pandu Poluan @ 2011-12-19 6:15 ` Dale 2011-12-19 6:49 ` [gentoo-user] " Nikos Chantziaras ` (2 more replies) 0 siblings, 3 replies; 17+ messages in thread From: Dale @ 2011-12-19 6:15 UTC (permalink / raw To: gentoo-user Pandu Poluan wrote: > > Kind of like what I always do when I switch from -march=nocona to > -march=native. (Usually I use -march=nocona to ensure seamless VM > migration on my XenServer-equipped boxen, but for some VMs, i.e., > those requiring me to wring out every last drop of performance, I go > native.) > > That said, if you want to experience fully the "GCC Graphite" > optimizations, you'll also want to do emerge -ev ;-) > > Rgds, > Is Graphite worthwhile on a desktop system or is it better suited for servers or both? I found this but still not sure what it is intended for: http://gcc.gnu.org/wiki/Graphite/4.5 Are there any reasons to leave this be for a while? You know, bugs or packages that don't work with it? Dale :-) :-) -- I am only responsible for what I said ... Not for what you understood or how you interpreted my words! Miss the compile output? Hint: EMERGE_DEFAULT_OPTS="--quiet-build=n" ^ permalink raw reply [flat|nested] 17+ messages in thread
* [gentoo-user] Re: A tale of computing thud and blunder 2011-12-19 6:15 ` Dale @ 2011-12-19 6:49 ` Nikos Chantziaras 2011-12-19 7:21 ` Dale 2011-12-19 12:49 ` walt 2011-12-19 8:14 ` [gentoo-user] " Pandu Poluan 2011-12-19 16:37 ` Paul Hartman 2 siblings, 2 replies; 17+ messages in thread From: Nikos Chantziaras @ 2011-12-19 6:49 UTC (permalink / raw To: gentoo-user On 12/19/2011 08:15 AM, Dale wrote: > Pandu Poluan wrote: >> >> Kind of like what I always do when I switch from -march=nocona to >> -march=native. (Usually I use -march=nocona to ensure seamless VM >> migration on my XenServer-equipped boxen, but for some VMs, i.e., >> those requiring me to wring out every last drop of performance, I go >> native.) >> >> That said, if you want to experience fully the "GCC Graphite" >> optimizations, you'll also want to do emerge -ev ;-) > > > Is Graphite worthwhile on a desktop system or is it better suited for > servers or both? This isn't something that even remotely has anything to do with servers or desktops. Just like -O2 does not magically work better on servers. > I found this but still not sure what it is intended for: > > http://gcc.gnu.org/wiki/Graphite/4.5 It's an optimization that produces faster running executables. Are you interested in *how* it works :-) > Are there any reasons to leave this be for a while? You know, bugs or > packages that don't work with it? Just like with any other optimization switch, there can be bugs. If Gentoo says it doesn't support graphite, then I'd stay away from it because Gentoo devs might not listen to your bug reports if you use it. I don't know if they support it or not though. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-user] Re: A tale of computing thud and blunder 2011-12-19 6:49 ` [gentoo-user] " Nikos Chantziaras @ 2011-12-19 7:21 ` Dale 2011-12-19 12:49 ` walt 1 sibling, 0 replies; 17+ messages in thread From: Dale @ 2011-12-19 7:21 UTC (permalink / raw To: gentoo-user Nikos Chantziaras wrote: > On 12/19/2011 08:15 AM, Dale wrote: >> Pandu Poluan wrote: >>> >>> Kind of like what I always do when I switch from -march=nocona to >>> -march=native. (Usually I use -march=nocona to ensure seamless VM >>> migration on my XenServer-equipped boxen, but for some VMs, i.e., >>> those requiring me to wring out every last drop of performance, I go >>> native.) >>> >>> That said, if you want to experience fully the "GCC Graphite" >>> optimizations, you'll also want to do emerge -ev ;-) >> >> >> Is Graphite worthwhile on a desktop system or is it better suited for >> servers or both? > > This isn't something that even remotely has anything to do with > servers or desktops. Just like -O2 does not magically work better on > servers. > > Sounds like it may work on both then. That's sort of what I was thinking but wasn't sure. >> I found this but still not sure what it is intended for: >> >> http://gcc.gnu.org/wiki/Graphite/4.5 > > It's an optimization that produces faster running executables. Are > you interested in *how* it works :-) > > From what I read it makes some processes run in parallel instead of serial or one at a time. Some think it is meaningless but some think it is awesome. I don't know what to think since I have not used it or compared the differences. >> Are there any reasons to leave this be for a while? You know, bugs or >> packages that don't work with it? > > Just like with any other optimization switch, there can be bugs. If > Gentoo says it doesn't support graphite, then I'd stay away from it > because Gentoo devs might not listen to your bug reports if you use > it. I don't know if they support it or not though. > That would be another good thing to know. I don't file many bug reports but if something breaks and it needs one, I do file them. This may be like good wine. It may need to rest a while longer unless someone else knows it is supported and works well. I got a good install and I don't want to break it. Dale :-) :-) -- I am only responsible for what I said ... Not for what you understood or how you interpreted my words! Miss the compile output? Hint: EMERGE_DEFAULT_OPTS="--quiet-build=n" ^ permalink raw reply [flat|nested] 17+ messages in thread
* [gentoo-user] Re: A tale of computing thud and blunder 2011-12-19 6:49 ` [gentoo-user] " Nikos Chantziaras 2011-12-19 7:21 ` Dale @ 2011-12-19 12:49 ` walt 1 sibling, 0 replies; 17+ messages in thread From: walt @ 2011-12-19 12:49 UTC (permalink / raw To: gentoo-user On 12/18/2011 10:49 PM, Nikos Chantziaras wrote: > Just like with any other optimization switch, there can be bugs. If > Gentoo says it doesn't support graphite, then I'd stay away from it > because Gentoo devs might not listen to your bug reports if you use > it. I've been using gcc with graphite support for about a year or so and I've had zero problems so far. (I should also mention that I haven't measured how much difference it makes, either.) Very important to notice that *building* gcc with graphite support is not at all the same as *using* graphite support while compiling. To actually *use* your graphite support, you must include these CFLAGS while compiling each package: -floop-block -floop-strip-mine -floop-interchange That implies that you can turn off graphite support by removing those flags and recompiling your buggy package before filing a bug report. (I did that only once and discovered that it didn't change the bug at all.) IIRC, gcc doesn't use those flags while compiling itself, but I could be mistaken about that. I'll check again next time I compile gcc. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-user] A tale of computing thud and blunder 2011-12-19 6:15 ` Dale 2011-12-19 6:49 ` [gentoo-user] " Nikos Chantziaras @ 2011-12-19 8:14 ` Pandu Poluan 2011-12-19 16:37 ` Paul Hartman 2 siblings, 0 replies; 17+ messages in thread From: Pandu Poluan @ 2011-12-19 8:14 UTC (permalink / raw To: gentoo-user [-- Attachment #1: Type: text/plain, Size: 1004 bytes --] On Dec 19, 2011 1:18 PM, "Dale" <rdalek1967@gmail.com> wrote: > > Pandu Poluan wrote: >> >> >> Kind of like what I always do when I switch from -march=nocona to -march=native. (Usually I use -march=nocona to ensure seamless VM migration on my XenServer-equipped boxen, but for some VMs, i.e., those requiring me to wring out every last drop of performance, I go native.) >> >> That said, if you want to experience fully the "GCC Graphite" optimizations, you'll also want to do emerge -ev ;-) >> >> Rgds, >> > > > Is Graphite worthwhile on a desktop system or is it better suited for servers or both? I found this but still not sure what it is intended for: > > http://gcc.gnu.org/wiki/Graphite/4.5 > > Are there any reasons to leave this be for a while? You know, bugs or packages that don't work with it? > In my experience, I've never encountered any bugs due to graphite. And I've "graphite-ed" 4 production servers, including 2 firewalls, 1 DNS server, and 1 mail server. Of course, YMMV. Rgds, [-- Attachment #2: Type: text/html, Size: 1362 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-user] A tale of computing thud and blunder 2011-12-19 6:15 ` Dale 2011-12-19 6:49 ` [gentoo-user] " Nikos Chantziaras 2011-12-19 8:14 ` [gentoo-user] " Pandu Poluan @ 2011-12-19 16:37 ` Paul Hartman 2 siblings, 0 replies; 17+ messages in thread From: Paul Hartman @ 2011-12-19 16:37 UTC (permalink / raw To: gentoo-user On Mon, Dec 19, 2011 at 12:15 AM, Dale <rdalek1967@gmail.com> wrote: > Pandu Poluan wrote: >> >> >> Kind of like what I always do when I switch from -march=nocona to >> -march=native. (Usually I use -march=nocona to ensure seamless VM migration >> on my XenServer-equipped boxen, but for some VMs, i.e., those requiring me >> to wring out every last drop of performance, I go native.) >> >> That said, if you want to experience fully the "GCC Graphite" >> optimizations, you'll also want to do emerge -ev ;-) >> >> Rgds, >> > > > Is Graphite worthwhile on a desktop system or is it better suited for > servers or both? I found this but still not sure what it is intended for: > > http://gcc.gnu.org/wiki/Graphite/4.5 > > Are there any reasons to leave this be for a while? You know, bugs or > packages that don't work with it? I used it for @world and ran into a couple times when things were broken with it enabled... Don't really remember specifics. I didn't notice any perceivable speed difference, so I stopped using it just to simplify things in the future. :) In general,I have changed my CFLAGS to be less aggressive over the past years. I started with the most aggressive optimizations, and using -march=whatever... At some point I researched compile times for different optimizations and realized some packages were taking tens of minutes longer to compile! Surely whatever potential speed increase of -O3 vs -O2 was not going to give me tens of minutes cumulatively. If there is a package that really benefits from some specific optimization (and doesn't already set those flags itself in the ebuild), I'll set the CFLAGS for that individual package but leave the rest of world very simplistic. Same with -march, I've gone to using -mtune instead, after having to move hard drives into a system with different CPU feature set. And for virtual machines (in hosts I don't control, especially), they could be migrated to some other machine without my knowledge, and i don't want it to stop working if that happens. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: [gentoo-user] -march=native is *EXTREMELY* conservative 2011-12-17 21:07 [gentoo-user] -march=native is *EXTREMELY* conservative Walter Dnes 2011-12-17 21:53 ` Dale 2011-12-17 21:58 ` [gentoo-user] " Nikos Chantziaras @ 2011-12-18 1:15 ` Paul Hartman 2 siblings, 0 replies; 17+ messages in thread From: Paul Hartman @ 2011-12-18 1:15 UTC (permalink / raw To: gentoo-user On Sat, Dec 17, 2011 at 3:07 PM, Walter Dnes <waltdnes@waltdnes.org> wrote: > -march= core2 > -mmmx [disabled] > -msse [disabled] > -msse2 [disabled] > -msse3 [disabled] > -mssse3 [disabled] > > It properly identified the cpu as "core2". But mmx, sse, sse2, sse3 > (aka pni), and ssse3 are disabled!!! I think you may be misinterpreting that output. It's not telling you that MMX etc. are disabled, it's telling you that the /commandline options/ are disabled. Why? From the GCC docs: "core2: Intel Core2 CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3 and SSSE3 instruction set support." That means those features are implied by -march=core2, adding those commandline switches would be redundant. ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2011-12-19 16:39 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2011-12-17 21:07 [gentoo-user] -march=native is *EXTREMELY* conservative Walter Dnes 2011-12-17 21:53 ` Dale 2011-12-17 21:58 ` [gentoo-user] " Nikos Chantziaras 2011-12-18 1:10 ` Walter Dnes 2011-12-18 10:34 ` Walter Dnes 2011-12-18 10:45 ` Nikos Chantziaras 2011-12-18 18:10 ` Andrea Conti 2011-12-19 0:05 ` [gentoo-user] A tale of computing thud and blunder Walter Dnes 2011-12-19 0:17 ` Dale 2011-12-19 5:41 ` Pandu Poluan 2011-12-19 6:15 ` Dale 2011-12-19 6:49 ` [gentoo-user] " Nikos Chantziaras 2011-12-19 7:21 ` Dale 2011-12-19 12:49 ` walt 2011-12-19 8:14 ` [gentoo-user] " Pandu Poluan 2011-12-19 16:37 ` Paul Hartman 2011-12-18 1:15 ` [gentoo-user] -march=native is *EXTREMELY* conservative Paul Hartman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox