[gecode-users] compiler memory problem
Patrik Haslum
patrik.haslum at anu.edu.au
Fri Nov 21 06:21:47 CET 2008
Hi,
I tried adding various combinations of the additional flags on your
commandline, and none made a difference. But after an upgrade to a more
recent version of the compiler (g++ 4.3.2) it works fine. So this seems
to have been a compiler-specific issue.
Thanks,
/P at trik
Tias Guns wrote:
> Hey,
>
> I'm running gcc 4.1.3 and the code provided compiles and runs without
> problems. Maybe check the compile flags used (like -finline-limit=3000),
> those are the same flags as used for the examples (at least in version
> 2.0.1).
>
>
> Greetings,
> Tias
>
> [tias at demerzel]test make
> g++ /home/tias/local/src/gecode-2.2.0/examples/support/options.o
> /home/tias/local/src/gecode-2.2.0/examples/support/example.o -L.
> -L/home/tias/local/src/gecode-2.2.0 -I.
> -I/home/tias/local/src/gecode-2.2.0 -DNDEBUG -fvisibility=hidden -fPIC
> -Wextra -Wall -pipe -ggdb -O3 -fno-strict-aliasing -finline-limit=3000
> -ffast-math -mtune=i686 -lgecodesearch -lgecodeint -lgecodekernel
> -lgecodesupport -lgecodegist test.cc -o test
> test.cc:51: warning: unused parameter ‘home’
> test.cc:51: warning: unused parameter ‘med’
> test.cc:87: warning: unused parameter ‘argc’
> test.cc:87: warning: unused parameter ‘argv’
> [tias at demerzel]test ls
> Makefile test* test.cc
> [tias at demerzel]test ./test
> 1
> [tias at demerzel]test gcc -v
> Using built-in specs.
> Target: i486-linux-gnu
> Configured with: ../src/configure -v
> --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
> --enable-shared --with-system-zlib --libexecdir=/usr/lib
> --without-included-gettext --enable-threads=posix --enable-nls
> --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1
> --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug
> --enable-mpfr --enable-checking=release i486-linux-gnu
> Thread model: posix
> gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)
> [tias at demerzel]test
>
>
> On Thu, 20 Nov 2008 09:45:25 +0100, Christian Schulte <cschulte at kth.se>
> wrote:
>
>> Hi Patrik,
>>
>> Going by your example code, this should very definitely not pose any
>> problem, Gecode itself uses way more elaborate constructions with
>> patterns.
>>
>> One reason for the problem could be the part you do not tell us: if
>> you have code that uses a lot of inlining, then that could be a problem.
>>
>>
>> Otherwise, that particular version of gcc might be at fault. As I do
>> not use gcc that much I don't know whether this version is a bad one.
>>
>> Cheers
>> Christian
>>
>> --
>> Christian Schulte, www.ict.kth.se/~cschulte/
>>
>> -----Original Message-----
>> From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On
>> Behalf Of Patrik Haslum
>> Sent: Thursday, November 20, 2008 9:26 AM
>> To: users at gecode.org
>> Subject: [gecode-users] compiler memory problem
>>
>>
>> Hi,
>>
>> I've written a custom propagator. It is based on one of the existing
>> templates, Gecode:BinaryPropagator, with an array of boolean views as
>> the template argument. It works, but the compiler (g++ 4.1.2) is
>> having serious trouble with the code: if I try to use any compiler
>> optimisation (that is, anything other than -O0), the compiler eats up
>> all memory (including swap) and never finishes. I know that using many
>> and/or nested templates tends to increase compiler memory use, but
>> this case is worse than anything I've encountered before. Is this a
>> known problem?
>> (perhaps fixed in some more recent g++ compiler). Is there some way to
>> work around it? (other than disabling compiler optimisation, because
>> that *really* slows down the solver). The only other option I can
>> think of is to write the propagator from scratch, without relying on
>> any base template.
>>
>> Attached is a simplified version of the code (it doesn't contain any
>> actual functionality, just the minimum that is needed to cause the
>> compiler to behave this way).
>>
>> Thanks,
>> /P at trik
>>
>>
>> _______________________________________________
>> Gecode users mailing list
>> users at gecode.org
>> https://www.gecode.org/mailman/listinfo/gecode-users
>
>
More information about the gecode-users
mailing list