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

Floating point violation in PARDISO when compiling code with -fpe0 flag (OneAPI 2025.3)

Marcos_V_1
New Contributor I
113 Views

Hi, we've noted when switching to 2025.3 that some of our verification cases are crashing with an FP violation when calling the paradiso solver PHASE=33. It is related to ifx and using the -fpe0 flag. Here I prepared a standalone code that shows the issue. The RHS for this case is 0. The matrix comes from a 4x10 discretization of the Poisson equation with Neumann and Periodic BCs. Using Dirichlet led to the same outcome.

Copy both files in a directory and type in the commend window (linux):

$ ifx -O0 -fpe0 -fpp test_pardiso.f90 -qmkl -o test_pardiso

$ ./test_pardiso Matrix_H_ULMAT.txt -2 1

 

This is what I'm seeing:

(fds_python_env) mnv@spark-login PARDISO_TEST $ ./test_pardiso Matrix_H_ULMAT.txt -2 1
--- test_pardiso ---
Matrix file: Matrix_H_ULMAT.txt
N: 40
NNZ (upper triangle incl diag): 106
MTYPE: -2
MSGLVL: 1

=== PARDISO: solving a symmetric indefinite system ===
Matrix checker is turned ON
1-based array indexing is turned ON
PARDISO double precision computation is turned ON
METIS algorithm at reorder step is turned ON
Scaling is turned ON
Matching is turned ON


Summary: ( reordering phase )
================

Times:
======
Time spent in calculations of symmetric matrix portrait (fulladj): 0.000013 s
Time spent in reordering of the initial matrix (reorder) : 0.000000 s
Time spent in symbolic factorization (symbfct) : 0.000308 s
Time spent in data preparations for factorization (parlist) : 0.000010 s
Time spent in allocation of internal data structures (malloc) : 0.000121 s
Time spent in matching/scaling : 0.000463 s
Time spent in additional calculations : 0.002366 s
Total time spent : 0.003281 s

Statistics:
===========
Parallel Direct Factorization is running on 4 OpenMP

< Linear system Ax = b >
number of equations: 40
number of non-zeros in A: 106
number of non-zeros in A (%): 6.625000

number of right-hand sides: 1

< Factors L and U >
number of columns for each panel: 128
number of independent subgraphs: 0
< Preprocessing with state of the art partitioning metis>
number of supernodes: 29
size of largest supernode: 8
number of non-zeros in L: 244
number of non-zeros in U: 1
number of non-zeros in L+U: 245
=== PARDISO is running in In-Core mode, because iparam(60)=0 ===

Percentage of computed non-zeros for LL^T factorization
1 % 3 % 4 % 5 % 7 % 9 % 11 % 12 % 15 % 17 % 19 % 22 % 25 % 43 % 45 % 47 % 49 % 50 % 51 % 54 % 56 % 58 % 60 % 62 % 65 % 67 % 71 % 73 % 100 %

=== PARDISO: solving a symmetric indefinite system ===
Single-level factorization algorithm is turned ON


Summary: ( factorization phase )
================

Times:
======
Time spent in copying matrix to internal data structure (A to LU): 0.000000 s
Time spent in factorization step (numfct) : 0.000259 s
Time spent in allocation of internal data structures (malloc) : 0.000017 s
Time spent in additional calculations : 0.000000 s
Total time spent : 0.000276 s

Statistics:
===========
Parallel Direct Factorization is running on 4 OpenMP

< Linear system Ax = b >
number of equations: 40
number of non-zeros in A: 106
number of non-zeros in A (%): 6.625000

number of right-hand sides: 1

< Factors L and U >
number of columns for each panel: 128
number of independent subgraphs: 0
< Preprocessing with state of the art partitioning metis>
number of supernodes: 29
size of largest supernode: 8
number of non-zeros in L: 244
number of non-zeros in U: 1
number of non-zeros in L+U: 245
gflop for the numerical factorization: 0.000001

gflop/s for the numerical factorization: 0.005276

forrtl: error (65): floating invalid
Image PC Routine Line Source
libc.so.6 0000150BEA63EBF0 Unknown Unknown Unknown
libmkl_intel_thre 0000150BF0AF3FA4 mkl_pds_lp64_pds_ Unknown Unknown
libmkl_core.so.2 0000150BECF82D66 mkl_pds_lp64_do_a Unknown Unknown
libmkl_core.so.2 0000150BECB99A33 mkl_pds_lp64_pard Unknown Unknown
libmkl_core.so.2 0000150BECF97C1E mkl_pds_lp64_pard Unknown Unknown
test_pardiso 0000000000406071 Unknown Unknown Unknown
test_pardiso 00000000004052BD Unknown Unknown Unknown
libc.so.6 0000150BEA6295D0 Unknown Unknown Unknown
libc.so.6 0000150BEA629680 __libc_start_main Unknown Unknown
test_pardiso 00000000004051D5 Unknown Unknown Unknown

This is new, we don't see this issue with 2025.2.

0 Kudos
1 Reply
Fengrui
Moderator
32 Views

Thanks for reporting this issue. I can reproduce it on my side. We will take a look at this one and get back to you once there is any update.

 

Thanks!

Fengrui

0 Kudos
Reply