Executing whet targeting 64bit fails

Hi, i have a problem when i compile a 3D transport model.

Untill now my colleagues used these flags to compile it with pgi 10:

-O2 -tp p6 -pc 64 -Kieee -Mdalign -Mextend -Mnoframe -byteswapio

and the code runs ok either on a 32 bit linux system or 64 bit.

I’m trying to compile it for newer processors in order to take advantage of their optimization options with the following flags:

-O2 -tp nehalem-64 -pc 64 -Kieee -Mdalign -Mextend -Mnoframe -byteswapio -mcmodel=medium

and after about 5-10 minutes of simulation the program exits with signal 11 error.

My processor is a last generation quad core i7, and i use Ubuntu x64 12.04 LTS

How is it possible not to get segmentation faults in 32bit builds and when i build and run for x64 to get such?

How is it possible not to get segmentation faults in 32bit builds and when i build and run for x64 to get such?

I could be any number of things. Does the code seg fault when using just the “-g” flag (i.e. debug mode wihtout optimization)?

  • Mat

Yeap, no compile error with -g flag, but again i get seg fault during the simulation, pointing as error something about svode ode solver subroutine, which i think cannot be true since its a piece of code that is used for a plenty of years.


Update: I get the same segfault even with -tp nehalem-32 option and now i am completely clueless.

Hi Nikosl,

You’ll need to try and narrow down the options that’s causing the problem, then add “-gopt” and run your code through the PGI debugger (pgdbg). Please post your findings.

  • Mat