Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7290 Diskussionen

PARDISO using > 2GB results in segfault

xilin1
Einsteiger
2.071Aufrufe

Hi,

I'm using the portland fortran 90 compiler (pgf90) to link with PARDISO in the MKL 10.0 library. When the memory needed by PARDISO exceeds 2 GB, I get a segmentation fault.

My compiler flags are

-O0 -g -Mbounds -Mlarge_arrays -mcmodel=medium

My link flags are

-tp=k8-64 -mp -Mcache_align -Mlarge_arrays -mcmodel=medium -L$(MKL_LINK) -lmkl_solver -lmkl_em64t -lguide -lacml_mp -lacml

As you can see, I've tried changing the memory model to medium, but to no avail. Is this error occuring because I'm using the portland compiler and not the intel compiler? If so, is there a workaround?

Xi Lin

edit: I also removed the stack limit by typing

ulimit -s unlimited

0 Kudos
8 Antworten
xilin1
Einsteiger
2.071Aufrufe

If it helps here is the output

=== PARDISO is running in In-Core mode, because iparam(60)=0 ===


================ PARDISO: solving a complex symmetr. system ================


Summary PARDISO: ( reorder to reorder )
================

Times:
======
Time fulladj: 0.182484 s
Time reorder: 9.964473 s
Time symbfct: 1.355061 s
Time malloc : 0.084384 s
Time total : 12.561450 s total - sum: 0.975047 s

Statistics:
===========
< Parallel Direct Factorization with #processors: > 1
< Numerical Factorization with Level-3 BLAS performance >

< Linear system Ax = b>
#equations: 419455
#non-zeros in A: 6888943
non-zeros in A (%): 0.003915

#right-hand sides: 1

< Factors L and U >
#columns for each panel: 80
#independent subgraphs: 0
< Preprocessing with state of the art partitioning metis>
#supernodes: 84004
size of largest supernode: 5855
number of nonzeros in L 284447593
number of nonzeros in U 1
number of nonzeros in L+U 284447594
Reordering completed ...
Number of nonzeros in factors = 284447594
Number of factorization MFLOPS = 2907584
[nyx424:00634] *** Process received signal ***
[nyx424:00634] Signal: Segmentation fault (11)
[nyx424:00634] Signal code: Address not mapped (1)
[nyx424:00634] Failing at address: 0x154511bf8
[nyx424:00634] *** End of error message ***
mpirun noticed that job rank 0 with PID 634 on node nyx424 exited on signal 11 (Segmentation fault).

Gennady_F_Intel
Moderator
2.071Aufrufe

1. its not clear what version are you using. Can you get your mkl version package ID? You can find it into $MKLROOT/doc/mklsupport.txt file.

2. At the first glance you have to change your linking line. Please look at userguide manual you can find there all info and examples you need (for example Chapter #5)

--Gennady

xilin1
Einsteiger
2.071Aufrufe

1. its not clear what version are you using. Can you get your mkl version package ID? You can find it into $MKLROOT/doc/mklsupport.txt file.

Package ID: l_mkl_p_10.1.0.015
Package Contents: Intel Math Kernel Library 10.1 for Linux*

xilin1
Einsteiger
2.071Aufrufe

2. At the first glance you have to change your linking line. Please look at userguide manual you can find there all info and examples you need (for example Chapter #5)

--Gennady

I changed my linking to

-lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide

and it still gives the same errors.

Gennady_F_Intel
Moderator
2.071Aufrufe

Ok, I see.

This version ( 10.1 ) supports PGI compiler, therefore you need to link libmkl_pgi_thread.a or libmkl_sequential.a ( in this case all treading from Intel MKL calls will be removed). Some more info about Threading Layer you can find into Table 5-3.

--Gennady

xilin1
Einsteiger
2.071Aufrufe

Ok, I see.

This version ( 10.1 ) supports PGI compiler, therefore you need to link libmkl_pgi_thread.a or libmkl_sequential.a ( in this case all treading from Intel MKL calls will be removed). Some more info about Threading Layer you can find into Table 5-3.

--Gennady

OK, I tried linking with libmkl_pgi_thread but the same problem occured. I also tried using ilp but that also did not fix the problem. In both cases, smaller matrices were able to be solved.

xilin1
Einsteiger
2.071Aufrufe

Ok, I see.

This version ( 10.1 ) supports PGI compiler, therefore you need to link libmkl_pgi_thread.a or libmkl_sequential.a ( in this case all treading from Intel MKL calls will be removed). Some more info about Threading Layer you can find into Table 5-3.

--Gennady

I also tried libmkl_sequential and that did not work either.

xilin1
Einsteiger
2.071Aufrufe

Ok, I see.

This version ( 10.1 ) supports PGI compiler, therefore you need to link libmkl_pgi_thread.a or libmkl_sequential.a ( in this case all treading from Intel MKL calls will be removed). Some more info about Threading Layer you can find into Table 5-3.

--Gennady

is there anything else i need to change when using libmkl_pgi_thread instead of libmkl_intel_thread? i find that when using pgi_thread, setting MKL_NUM_THREADS to anything other than 1 crashes the program. Using intel_thread with more than 1 proc is fine.
Antworten