On Wed, 6 May 2009 06:47:14 -0700 (PDT), [email protected] <[email protected]> wrote: > I have a C++ program that does an economic simulation. The program > have one function with many nested loops (3-5 levels of nesting), each > run in order of 10-1000 times. All loop limits are constants. > Inside the loops, simple calculations are done (exp is the heaviest), > and some global matrices are accessed (both for reading and writing). > The global matrices are very large ~10M. > > I'm using floats for most of my computations. Accuracy is not very > important, and speed is the most > important, because I need to later find a minimum for that function. > > currently I'm using the following compilation line: > > g++ -Wall -fmove-all-movables -fmerge-all-constants -funroll-loops -O3 > -o min_estimation min_estimation.cpp -lgsl > > with the following g++: > > gcc version 3.4.6 20060404 (Red Hat 3.4.6-10)
Is that a 64bit install? If not consider either trying a 64bit system, or using SSE. There are lots of tuned libs for HPC matrix manipulation (BLAS, LAPACK and so on). They might be worth looking at. Otherwise, profile your app. A bientot Paul -- Paul Floyd http://paulf.free.fr _______________________________________________ help-gplusplus mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gplusplus
