Hello,

I am currently evaluating pgCC. I am encountering problems however.

- Blitz does not compile:

“…/blitz/mathfunc.h”, line 2410: error: no instance of overloaded function

“std::sin” matches the argument list

argument types are: (std::complex)

{ return BZ_CMATHFN_SCOPE(sin)((complex )x); }

(replace std::sin with std:: sqrt, std::sinh etc to get the full error list) Is it a Blitz or Portland problem?

- I have a project with large math functions. Those functions are exported with CForm from Mathematica and have a from 300 to over 8000 lines of C code. The functions look like this:

double fun(const tvmet::Vector<double, 4>& x, const tvmet::Vector<double, 4>& xo)

{

300-8000 lines of math

return result

}

For some reason I get really bad performance from pgCC. First I get lots of warnings

PGCC-W-0278-Can’t inline …tvmet25vector

then I get 0.34 seconds on 40000 functions evaluations on my athlon xp. g++ gives me 0.04 seconds with no warnings. Here are my portland optimiztation flags:

-fast -tp k7 -fastsse -Mipa=fast,inline -Minfo -Mnoframe -Minline -O3 -Minline=levels:100 --no_exceptions

and here are my g++ flags

-O3 -ffast-math -fomit-frame-pointer -march=athlon-xp -pipe

Please advise on how to use the portland compiler efficiently.

Thanks,

Paul