Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
GCC 4.5 testing
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, ... 13, 14, 15  Next  
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
Letharion
Veteran
Veteran


Joined: 13 Jun 2005
Posts: 1259
Location: Sweden

PostPosted: Thu Apr 15, 2010 3:07 pm    Post subject: Reply with quote

Shining Arcanine wrote:
AM088 wrote:
It's out!

http://gcc.gnu.org/ml/gcc/2010-04/msg00321.html
http://gcc.gnu.org/gcc-4.5/changes.html


When can we expect this to be in portage? :D

Until then, is it available in an overlay somewhere? Or do I need install it manually?
Back to top
View user's profile Send private message
ComaWhite
Tux's lil' helper
Tux's lil' helper


Joined: 07 Oct 2008
Posts: 125

PostPosted: Thu Apr 15, 2010 9:55 pm    Post subject: Reply with quote

I want GCC-4.5.0 :(
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5727
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Thu Apr 15, 2010 10:44 pm    Post subject: Reply with quote

ComaWhite wrote:
I want GCC-4.5.0 :(


++

MUST COMPILE WORLD - MUST GET BETTER PERFORMANCE - MUST RICE PACKAGES

I need my daily dose

:wink:
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.3.0-r2
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
SpectreDragon
Tux's lil' helper
Tux's lil' helper


Joined: 22 Aug 2008
Posts: 92
Location: Germany

PostPosted: Thu Apr 15, 2010 10:55 pm    Post subject: Reply with quote

Letharion wrote:
Shining Arcanine wrote:
AM088 wrote:
It's out!

http://gcc.gnu.org/ml/gcc/2010-04/msg00321.html
http://gcc.gnu.org/gcc-4.5/changes.html


When can we expect this to be in portage? :D

Until then, is it available in an overlay somewhere? Or do I need install it manually?

"recycling" the latest alpha ebuild from the toolchain overlay seems to work without problems.
Back to top
View user's profile Send private message
tranquilcool
Veteran
Veteran


Joined: 25 Mar 2005
Posts: 1044

PostPosted: Fri Apr 16, 2010 12:28 am    Post subject: Reply with quote

SpectreDragon wrote:
Letharion wrote:
Shining Arcanine wrote:
AM088 wrote:
It's out!

http://gcc.gnu.org/ml/gcc/2010-04/msg00321.html
http://gcc.gnu.org/gcc-4.5/changes.html


When can we expect this to be in portage? :D

Until then, is it available in an overlay somewhere? Or do I need install it manually?

"recycling" the latest alpha ebuild from the toolchain overlay seems to work without problems.



recycling here. will report back.
_________________
this is a strange strange world.
Back to top
View user's profile Send private message
Letharion
Veteran
Veteran


Joined: 13 Jun 2005
Posts: 1259
Location: Sweden

PostPosted: Fri Apr 16, 2010 5:10 am    Post subject: Reply with quote

kernelOfTruth wrote:
ComaWhite wrote:
I want GCC-4.5.0 :(


++

MUST COMPILE WORLD - MUST GET BETTER PERFORMANCE - MUST RICE PACKAGES

I need my daily dose

:wink:

Lol. It's funny 'cause it's true ^^

Can't write more now, must go recompile world...
Back to top
View user's profile Send private message
Tom_
Guru
Guru


Joined: 20 May 2004
Posts: 340
Location: France

PostPosted: Fri Apr 16, 2010 8:03 am    Post subject: Reply with quote

What about LTO ? Is it usable ? Can i add lto flags in my make.conf file ? Would it break my whole system ? :lol: :D
Back to top
View user's profile Send private message
Uzytkownik
Guru
Guru


Joined: 31 Oct 2004
Posts: 391
Location: Munich, DE

PostPosted: Fri Apr 16, 2010 10:58 am    Post subject: Reply with quote

Are there still problems with kernel?
_________________
I've probably left my head... somwhere. Please wait untill I find it.
Back to top
View user's profile Send private message
Etal
Veteran
Veteran


Joined: 15 Jul 2005
Posts: 1641

PostPosted: Fri Apr 16, 2010 1:06 pm    Post subject: Reply with quote

Also, in 4.4, the Graphite optimizations were considered pretty safe. What about this new one?
Changelog wrote:
Automatic parallelization can be enabled as part of Graphite. In addition to -ftree-parallelize-loops=, specify -floop-parallelize-all
Also, would it actually improve performance?
Back to top
View user's profile Send private message
wrc1944
Advocate
Advocate


Joined: 15 Aug 2002
Posts: 2773
Location: Gainesville, Florida

PostPosted: Fri Apr 16, 2010 2:17 pm    Post subject: Reply with quote

I also run Arch "testing," and just noticed on my weekly "pacman -Syu" (similar to emerge --sync and then emerge -uD @world) that gcc-4.5.0-1-x86_64 is in the updates, so I assume all the other packages in that repo have been compiled with gcc-4.5.0. I never have had any more trouble running Arch Linux "testing" than I do with Gentoo ~x86 and ~amd64, so hopefully it will be in Gentoo ~Arch very soon.
_________________
Main box- Gigabyte GIGABYTE GA-990FXA-UD3 AM3+ rev.-4.0
Amd FX 8320, 3.5 GHz, 16GB GSkill DDR3 1866mhz
Samsung SATA 1000GB, Radeon HD 6570 2GB DDR3
Gentoo ~x86, ~amd64, glibc-2.19-r1, gcc-4.9.1 kernel 3.17.0-gentoo (USE=experimental "native")
Back to top
View user's profile Send private message
ssuominen
Developer
Developer


Joined: 30 Sep 2005
Posts: 2132
Location: Finland

PostPosted: Fri Apr 16, 2010 2:47 pm    Post subject: Reply with quote

wrc1944 wrote:
I also run Arch "testing," and just noticed on my weekly "pacman -Syu" (similar to emerge --sync and then emerge -uD @world) that gcc-4.5.0-1-x86_64 is in the updates, so I assume all the other packages in that repo have been compiled with gcc-4.5.0. I never have had any more trouble running Arch Linux "testing" than I do with Gentoo ~x86 and ~amd64, so hopefully it will be in Gentoo ~Arch very soon.


I wouldn't make such assumptions... I bet most, if not all, the packages in the repo are still compiled with GCC 4.4.x or some even GCC 4.3.x still. Such mass-rebuilds are not required for most GCC updates.
Back to top
View user's profile Send private message
saellaven
Apprentice
Apprentice


Joined: 23 Jul 2006
Posts: 286

PostPosted: Fri Apr 16, 2010 4:47 pm    Post subject: Reply with quote

AM088 wrote:
Also, in 4.4, the Graphite optimizations were considered pretty safe. What about this new one?
Changelog wrote:
Automatic parallelization can be enabled as part of Graphite. In addition to -ftree-parallelize-loops=, specify -floop-parallelize-all
Also, would it actually improve performance?


from my reading, -floop-parallelize-all will parallelize all loops without checking to see if it is actually an optimization to do so.

Quote:

floop-parallelize-all
Use the Graphite data dependence analysis to identify loops that can be parallelized. Parallelize all the loops that can be analyzed to not contain loop carried dependences without checking that it is profitable to parallelize the loops.

-ftree-parallelize-loops=n
Parallelize loops, i.e., split their iteration space to run in n threads. This is only possible for loops whose iterations are independent and can be arbitrarily reordered. The optimization is only profitable on multiprocessor machines, for loops that are CPU-intensive, rather than constrained e.g. by memory bandwidth. This option implies -pthread, and thus is only supported on targets that have support for -pthread.
Back to top
View user's profile Send private message
Shining Arcanine
Veteran
Veteran


Joined: 24 Sep 2009
Posts: 1110

PostPosted: Fri Apr 16, 2010 6:46 pm    Post subject: Reply with quote

Does -floop-parallelize-all affect thread parallelization, vector parallelization or both thread and vector parallelization?
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5727
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Fri Apr 16, 2010 7:40 pm    Post subject: Reply with quote

Shining Arcanine wrote:
Does -floop-parallelize-all affect thread parallelization, vector parallelization or both thread and vector parallelization?


I'd like to know that too

some info on graphite parallelization:

http://gcc.gnu.org/wiki/Graphite/Parallelization
http://gcc.gnu.org/wiki/AutoparRelated


also interesting might be the software-pipelining stuff:

swing modulo scheduling:
Quote:
-freschedule-modulo-scheduled-loops
The modulo scheduling comes before the traditional scheduling, if a loop was modulo scheduled we may want to prevent the later scheduling passes from changing its schedule, we use this option to control that.
-fmodulo-sched
Perform swing modulo scheduling immediately before the first scheduling pass. This pass looks at innermost loops and reorders their instructions by overlapping different iterations.
-fmodulo-sched-allow-regmoves
Perform more aggressive SMS based modulo scheduling with register moves allowed. By setting this flag certain anti-dependences edges will be deleted which will trigger the generation of reg-moves based on the life-range analysis. This option is effective only with -fmodulo-sched enabled.


selective scheduling algorithm:
Quote:
-fselective-scheduling
Schedule instructions using selective scheduling algorithm. Selective scheduling runs instead of the first scheduler pass.
-fselective-scheduling2
Schedule instructions using selective scheduling algorithm. Selective scheduling runs instead of the second scheduler pass.
-fsel-sched-pipelining
Enable software pipelining of innermost loops during selective scheduling. This option has no effect until one of -fselective-scheduling or -fselective-scheduling2 is turned on.
-fsel-sched-pipelining-outer-loops
When pipelining loops during selective scheduling, also pipeline outer loops. This option has no effect until -fsel-sched-pipelining is turned on.

_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.3.0-r2
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
SpectreDragon
Tux's lil' helper
Tux's lil' helper


Joined: 22 Aug 2008
Posts: 92
Location: Germany

PostPosted: Fri Apr 16, 2010 10:41 pm    Post subject: Reply with quote

I think I just killed my portage while experimenting with "-ftree-parallelize-loops=" :?

after compiling "dev-db/sqlite" portage is not able to find the corresponding python module.

Code:
Traceback (most recent call last):
  File "/usr/lib64/portage/bin/ebuild", line 129, in <module>
    if ebuild_portdir not in portage.portdb.porttrees:
  File "/usr/lib64/portage/pym/portage/proxy/objectproxy.py", line 23, in __getattribute__
    result = object.__getattribute__(self, '_get_target')()
  File "/usr/lib64/portage/pym/portage/__init__.py", line 568, in _get_target
    return _get_legacy_global(name)
  File "/usr/lib64/portage/pym/portage/_legacy_globals.py", line 15, in _get_legacy_global
    portage.portdb = portage.db[portage.root]["porttree"].dbapi
  File "/usr/lib64/portage/pym/portage/util/__init__.py", line 1121, in __getitem__
    result = lazy_item.func(*pargs, **kwargs)
  File "/usr/lib64/portage/pym/portage/dbapi/porttree.py", line 1202, in __init__
    self.dbapi = portdbapi(mysettings=settings)
  File "/usr/lib64/portage/pym/portage/dbapi/porttree.py", line 354, in __init__
    self.auxdbmodule = self.settings.load_best_module("portdbapi.auxdbmodule")
  File "/usr/lib64/portage/pym/portage/package/ebuild/config.py", line 1165, in load_best_module
    mod = load_mod(best_mod)
  File "/usr/lib64/portage/pym/portage/__init__.py", line 397, in load_mod
    mod = __import__(modname)
  File "/usr/lib64/portage/pym/portage/cache/sqlite.py", line 16, in <module>
    from pysqlite2 import dbapi2 as db_module
ImportError: No module named pysqlite2


anyone here with a good idea to fix that without the need of replacing too many parts of the system? :)
portage seems to be crushed completely.
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5727
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Fri Apr 16, 2010 11:14 pm    Post subject: Reply with quote

I dunno,

temporarily commenting out:

Code:
portdbapi.auxdbmodule = cache.sqlite.database


in /etc/portage/modules ? :P
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.3.0-r2
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
tranquilcool
Veteran
Veteran


Joined: 25 Mar 2005
Posts: 1044

PostPosted: Fri Apr 16, 2010 11:29 pm    Post subject: Reply with quote

a few packages don't compile with gcc-4.5.0.
-flto doesn't work for most packages.
firefox and thunderbird = Segmentation fault.
so far so good.
_________________
this is a strange strange world.
Back to top
View user's profile Send private message
SpectreDragon
Tux's lil' helper
Tux's lil' helper


Joined: 22 Aug 2008
Posts: 92
Location: Germany

PostPosted: Fri Apr 16, 2010 11:30 pm    Post subject: Reply with quote

kernelOfTruth wrote:
I dunno,

temporarily commenting out:

Code:
portdbapi.auxdbmodule = cache.sqlite.database


in /etc/portage/modules ? :P

thx.. you just saved me a lot of unnecessary recovery work :) :) :) (portage working again)
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5727
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Sat Apr 17, 2010 11:05 am    Post subject: Reply with quote

ok, what do I need to set up
Quote:

-floop-parallelize-all -ftree-parallelize-loops=4


properly ?

any
Quote:
-lpthread -lgomp -pthread -fopenmp


voodoo magic in my cflags, cxxflags, ldflags ?

or is -floop-parallelize-all -ftree-parallelize-loops=4 enough ?
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.3.0-r2
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
Ormaaj
Guru
Guru


Joined: 28 Jan 2008
Posts: 316

PostPosted: Sat Apr 17, 2010 12:25 pm    Post subject: Reply with quote

kernelOfTruth wrote:
ok, what do I need to set up
Quote:

-floop-parallelize-all -ftree-parallelize-loops=4


properly ?

any
Quote:
-lpthread -lgomp -pthread -fopenmp


voodoo magic in my cflags, cxxflags, ldflags ?

or is -floop-parallelize-all -ftree-parallelize-loops=4 enough ?
I'm wondering this as well. It seems odd that the necessary flags aren't just enabled as a part of -O2 or -O3. I know there are some new graphite things which should be reasonably safe but I don't know which ones are "generally applicable" as optimizations for the entire system.
Back to top
View user's profile Send private message
Neo2
Apprentice
Apprentice


Joined: 25 Sep 2006
Posts: 224
Location: Italy

PostPosted: Sat Apr 17, 2010 4:30 pm    Post subject: Reply with quote

I don't think there should be any need for additional libs for graphite parallelization support.
Quoting the GCC manual (4.5, of course):
Quote:
-floop-parallelize-all
Use the Graphite data dependence analysis to identify loops that can be parallelized. Parallelize all the loops that can be analyzed to not contain loop carried dependences without checking that it is profitable to parallelize the loops.
-ftree-parallelize-loops=n
Parallelize loops, i.e., split their iteration space to run in n threads. This is only possible for loops whose iterations are independent and can be arbitrarily reordered. The optimization is only profitable on multiprocessor machines, for loops that are CPU-intensive, rather than constrained e.g. by memory bandwidth. This option implies -pthread, and thus is only supported on targets that have support for -pthread.

I think that nothing should be given and GCC will import automatically what it needs from -pthread.
Please note that this is not a link-time optimization, but rather a compile-time optimization.
If I understand well what the manual says, GCC tries to add a little overhead (importing code from -pthread) at the beginning of loops that can be parallelized to parallelize them.
I think that this should be able to turn any single-threaded single-core application into a multi-core application for certain loops, but not into a multi-threaded one (that is, the program should take advantage of this only in the specific, optimized parts).
Hope to be correct =)

Cheers
_________________
Neo2
Unofficial minimal liveCD for x86/amd64 w/reiser4+truecrypt
Back to top
View user's profile Send private message
pigeon768
l33t
l33t


Joined: 02 Jan 2006
Posts: 669

PostPosted: Sat Apr 17, 2010 6:28 pm    Post subject: Reply with quote

I expect there to be very few loops which can actually be accelerated by the optimization in question. And in many of those instances, the overhead involved with creating a new thread will do more harm than good.

That being said, I have an atom-based eeepc, and I am ecstatic over the -march=atom option. When will an ebuild show up in portage or the toolchain overlay?
_________________
My political bias.
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5727
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Sat Apr 17, 2010 6:49 pm    Post subject: Reply with quote

pigeon768 wrote:
I expect there to be very few loops which can actually be accelerated by the optimization in question. And in many of those instances, the overhead involved with creating a new thread will do more harm than good.

That being said, I have an atom-based eeepc, and I am ecstatic over the -march=atom option. When will an ebuild show up in portage or the toolchain overlay?


just use the one provided in the

hardened-dev overlay

that way you even have the additional possibility to harden your system


FWIW it now also uses -march=atom -mtune=core2 for core i7 processors
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD/tree/ZFS-for-SysRescCD-4.3.0-r2
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
Neo2
Apprentice
Apprentice


Joined: 25 Sep 2006
Posts: 224
Location: Italy

PostPosted: Sat Apr 17, 2010 6:58 pm    Post subject: Reply with quote

@pigeon768: I totally agree with you on that. Considering that what the average user uses desktop applications which require very little cpu-intensive work, that is going to waste cpu cycles at compile time. I'm wondering what which benefits could add to the toolchain though. Provided I am used to compile with MAKEOPTS="-j32" and emerge -j10, I guess I shouldn't bother that much :D
Maybe it could be useful on single-core video transcoding apps?

[edit]
@kernelOfTruth: isn't -march= -mtune= redundant/conflicting?
Quote:
-mtune=cpu-type
Tune to cpu-type everything applicable about the generated code, except for the ABI and the set of available instructions. The choices for cpu-type are:
generic
Produce code optimized for the most common IA32/AMD64/EM64T processors. If you know the CPU on which your code will run, then you should use the corresponding -mtune option instead of -mtune=generic. But, if you do not know exactly what CPU users of your application will have, then you should use this option.
As new processors are deployed in the marketplace, the behavior of this option will change. Therefore, if you upgrade to a newer version of GCC, the code generated option will change to reflect the processors that were most common when that version of GCC was released.

There is no -march=generic option because -march indicates the instruction set the compiler can use, and there is no generic instruction set applicable to all processors. In contrast, -mtune indicates the processor (or, in this case, collection of processors) for which the code is optimized.

native
This selects the CPU to tune for at compilation time by determining the processor type of the compiling machine. Using -mtune=native will produce code optimized for the local machine under the constraints of the selected instruction set. Using -march=native will enable all instruction subsets supported by the local machine (hence the result might not run on different machines).

...

-march=cpu-type
Generate instructions for the machine type cpu-type. The choices for cpu-type are the same as for -mtune. Moreover, specifying -march=cpu-type implies -mtune=cpu-type.

[/edit]
_________________
Neo2
Unofficial minimal liveCD for x86/amd64 w/reiser4+truecrypt
Back to top
View user's profile Send private message
Ormaaj
Guru
Guru


Joined: 28 Jan 2008
Posts: 316

PostPosted: Sat Apr 17, 2010 7:09 pm    Post subject: Reply with quote

Is the gold linker required to get any benefit out of -flto ?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Goto page Previous  1, 2, 3, ... 13, 14, 15  Next
Page 2 of 15

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum