Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

Abort ERROR

Mistry__Mital
Beginner
468 Views
Hi, I am running a fortran code with GNU compiler. I am running this code on SGI machine with 8 processore.

Initially my code worked fine with (1800,1800) size matrix that was supplied to DGESV to solve = . Where A, B and X were matrices of the same size. Now, same code is giving error when the matrix size is (13000,13000).

It is not giving any error message, other then "Abort"

Is this a memory issue? and if so, then what should i do to use multiple processors.

Any reply is appreciated.

Regards,

Mital
0 Kudos
4 Replies
TimP
Honored Contributor III
468 Views
If you're using Intel MKL, the MKL forum corresponding to this forum would be the place to ask for advice, after consulting the link advisor. Advice about gfortran might be found by signing up for the mail list referred to here. It does appear that increasing your problem size would require requesting more stack size; the exact means for that depending on the shell and OS you have chosen.
I'm not certain from your comment whether your gfortran compilation aborted, or whether you compiled and linked successfully, but got a run time failure. You may be approaching the limit of 2GB for data + program size which you could exceed only by compiling and running in 64-bit mode on 64-bit OS, using either the -mcmodel compile option or allocatable arrays.
0 Kudos
Mistry__Mital
Beginner
468 Views
Thanks Tim,

It did compiled. It was a run time faliure. Again, -mcmodel is not working, it gives this error "f951: error: unrecognized command line option "-mcmodel""

I am using following command option line.

*****************************************************
gfortran -mcmodel -w -I../../include NCF_MIRROR_CASE_I_AARON.f90 -x none -L/home/mcmistry/EHD/libmkl_solver_lp64.a /home/mcmistry/EHD/libmkl_intel_lp64.a -Wl,--start-group /home/mcmistry/EHD/libmkl_gf_ilp64.a /home/mcmistry/EHD/libmkl_intel_thread.a /home/mcmistry/EHD/libmkl_core.a -Wl,--end-group /home/mcmistry/EHD/libguide.a -lpthread -lm -lmpi -o xx.out
*****************************************************


Regards,

Mital
0 Kudos
TimP
Honored Contributor III
468 Views
If you don't have a compilation/link failure, you probably don't need mcmodel. If you do need that option, and your version of gfortran supports it (see the manual for your version), it would be something like -mcmodel-medium.
Your use of ilp64 library would require that all the integer arguments for MKL functions are 64-bit, as well as the use of 64-bit linux. You would not use both the ifort ilp64 and the gfortran one, and you certainly would not use both an lp64 and and ilp64 library together. The criticism about using libiomp5 rather than libguide, and paying attention to the link advisor, still applies, and is mandatory if you use any gfortran parallel options.

0 Kudos
Mistry__Mital
Beginner
468 Views
My compilation works good for small size case and the result is perfect to the machine precision when compared with MATLAB results. Now with the larger size problem it gives this abort message. I increased the stack size by " unlimit stacksize unlimited" still same error occurs. Also, in linking option It works without ilp64. So now the linking option is,

*******************
gfortran -w -I../../include NCF.f90 -x none -L/home/mcmistry/EHD/libmkl_solver_lp64.a /home/mcmistry/EHD/libmkl_intel_lp64.a -Wl,--start-group /home/mcmistry/EHD/libmkl_intel_thread.a /home/mcmistry/EHD/libmkl_core.a -Wl,--end-group /home/mcmistry/EHD/libguide.a -lpthread -lm -o xx.out
mcmistry/EHD> ./xx.out
************************

How much memory probably I need to solve = when all three are matrices. (13000,13000).

Is it using any disc space for this? I mean DGESV option?

Regards,

Mital
0 Kudos
Reply