- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In case I do not have write permission to the current working directory, PARDISO OOC returns an error code of -2 ("not enough memory") at phase 11. It would be great if PARDISO OOC returns -11 ("read/write problems with the OOC data file"), or at lease -9 or -10.
Can this be fixed in the next release?
Thanks.
Jaewon
===================================
pardiso-ooc.c
#include "stdio.h"#include "stdlib.h"
#include "math.h"
#include "mkl.h"
#include "mkl_spblas.h"
#include "mkl_service.h"
#include "mkl_solver.h"
int main ()
{
char transa = 'N';
MKL_INT i, n = 2;
MKL_INT ia[3] = {1, 3, 5};
MKL_INT ja[4] = {1, 2, 1, 2};
double aa[4] = {3., 4., 5., 6.};
double x[2], x_exact[2] = {1., 2.}, b[2];
MKL_INT mtype, nrhs = 1;
void *pt[64];
MKL_INT iparm[64], maxfct = 1, mnum = 1, phase, error = 0, msglvl = 0;
for (i = 0; i < 64; ++i) {
iparm = 0;
pt = 0;
}
mtype = 11;
iparm[0] = 1;
iparm[1] = 3; /* PARMETIS */
iparm[2] = 1; /* currently not used */
iparm[5] = 0; /* write solution to rhs : 0 (no), 1 (yes) */
iparm[7] = 1; /* max number of iterative refinement */
iparm[26] = 1; /* input matrix check */
iparm[27] = 0; /* double precision. use 1 for single precision */
/* 0 for in-core, 2 for out-of-core
Set environmental MKL_PARDISO_OOC_MAX_CORE_SIZE
if necessary (default is 2000 MB).
export MKL_PARDISO_OOC_KEEP_FILE=0 stores temporary files.
*/
iparm[59] = 2;
/* compute RHS based on exact solution */
mkl_dcsrgemv(&transa, &n, aa, ia, ja, x_exact, b);
phase = 11;
PARDISO (pt, &maxfct, &mnum, &mtype, &phase,
&n, aa, ia, ja, NULL, &nrhs,
iparm, &msglvl, NULL, NULL, &error);
printf("At phase %d, error code = %d\\n", phase, error);
/* this has been fixed in 10.2.4 */
/*system("rm ooc*");*/
phase = 22;
PARDISO (pt, &maxfct, &mnum, &mtype, &phase,
&n, aa, ia, ja, NULL, &nrhs,
iparm, &msglvl, NULL, NULL, &error);
printf("At phase %d, error code = %d\\n", phase, error);
phase = 33;
iparm[7] = 2; /* Max numbers of iterative refinement steps. */
PARDISO (pt, &maxfct, &mnum, &mtype, &phase,
&n, aa, ia, ja, NULL, &nrhs,
iparm, &msglvl, b, x, &error);
printf("At phase %d, error code = %d\\n", phase, error);
phase = -1;
PARDISO (pt, &maxfct, &mnum, &mtype, &phase,
&n, aa, ia, ja, NULL, &nrhs,
iparm, &msglvl, NULL, NULL, &error);
printf("At phase %d, error code = %d\\n", phase, error);
printf("\\nx = %f, %f\\n\\n", x[0], x[1]);
return 0;
}
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jaewonj,
Yes, this request looks reasonable, the error message should be changed for these cases.This issue has been submitted to our internal development tracking database for further investigation, we will inform you once a new update becomes available.Here is a bug tracking number for your reference:DPD200090882
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jaewonj,
Thank you for test case!
I compiled and linked it with MKL10.2Update4 but didnt get error -2. Could you set msglvl=1; and provied us with output statistic?
Anyway, I got the follow strange output info:
PARDISO_OOC_OPEN_FILE_ERROR occured: blkl: open file for storing ind
At phase 11, error code = 0
It is incorrect. In MKL10.2Update5 we fixed some issues about OOC error information. I linked test with Update5 and got correct output:
At phase 11, error code = -10
So, I think that your problem already fixed in MKL10.2Update5
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sergey,
That is good news. Thanks.
Anyway, here is the output. Please search for "At phase 11, error code = -2".
Jaewon
The file ./pardiso_ooc.cfg was not opened
=== PARDISO is running in Out-Of-Core mode, because iparam(60)=2 ===
PARDISO_OOC_OPEN_FILE_ERROR occured: blkl: open file for storing ind
*** Error in PARDISO ( insufficient_memory) error_num= -800
*** Error in PARDISO memory allocation: STRUC_FI, size to allocate: 1927254944 bytes
total memory wanted here: 6076389 kbyte
symbolic (max): 72 symbolic (permanent): 6076389
real(including 1 factor): 0
================ PARDISO: solving a real nonsymmetric system ================
Summary PARDISO: ( reorder to reorder )
================
Times:
======
Time fulladj: 0.000005 s
Time reorder: 0.000065 s
Time symbfct: 0.000034 s
Time malloc : 0.000150 s
Time total : 0.000258 s total - sum: 0.000004 s
Statistics:
===========
1
#equations: 2
#non-zeros in A: 4
non-zeros in A (%): 100.000000
#right-hand sides: 1
#columns for each panel: 128
#independent subgraphs: 0
#supernodes: 1
size of largest supernode: 2
number of nonzeros in L 4
number of nonzeros in U 1
number of nonzeros in L+U 5
At phase 11, error code = -2
*** Error in PARDISO ( sequence_ido,parameters) error_num= 100000
*** Error in PARDISO: clean impossible (ido?)
================ PARDISO: solving a real nonsymmetric system ================
Summary PARDISO: ( factorize to factorize )
================
Times:
======
Time total : 0.000013 s total - sum: 0.000013 s
Statistics:
===========
1
#equations: 2
#non-zeros in A: 4
non-zeros in A (%): 100.000000
#right-hand sides: 1
#columns for each panel: 128
#independent subgraphs: 0
#supernodes: 1
size of largest supernode: 2
number of nonzeros in L 4
number of nonzeros in U 1
number of nonzeros in L+U 5
gflop for the numerical factorization: 0.000000
At phase 22, error code = -1
*** Error in PARDISO ( sequence_ido,parameters) error_num= 100000
*** Error in PARDISO: clean impossible (ido?)
================ PARDISO: solving a real nonsymmetric system ================
Summary PARDISO: ( solve to solve )
================
Times:
======
Time total : 0.000011 s total - sum: 0.000011 s
==============================================================
----------- Out of core time (in percent (%)) --------------
Factorization step (100 (%)):
write to files : 0
read from files: 0
factorization - write&read : 100
Solution step (100 (%)):
read from files: 0
solve - write&read: 100
Total time (100 (%)):
read from files: 0
total - write&read: 100
----------- Out of core Mb --------------
Factorization step:
write to files : 0.000 Mb
read from files: 0.000 Mb
Solution step:
read from files: 0.000 Mb
Total size of data transferred :
write&read : 0.000 Mb
==============================================================
Statistics:
===========
1
#equations: 2
#non-zeros in A: 4
non-zeros in A (%): 100.000000
#right-hand sides: 1
#columns for each panel: 128
#independent subgraphs: 0
#supernodes: 1
size of largest supernode: 2
number of nonzeros in L 4
number of nonzeros in U 1
number of nonzeros in L+U 5
gflop for the numerical factorization: 0.000000
At phase 33, error code = -1
At phase -1, error code = 0
x = 0.000000, 0.000000
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sergey,
I'm not sure if you need this but just in case.
jaewonj@jaewonjlx:/usr/local$ uname -a
Linux jaewonjlx 2.6.31-20-generic #57-Ubuntu SMP Mon Feb 8 09:02:26 UTC 2010 x86_64 GNU/Linux
jaewonj@jaewonjlx:/usr/local$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel Core2 CPU 6600 @ 2.40GHz
stepping : 6
cpu MHz : 600.000
cache size : 4096 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm tpr_shadow
bogomips : 4787.66
clflush size : 64
cache_alignment : 64
address sizes : 36 bits physical, 48 bits virtual
power management:
...
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Jaewonj, thank you!
I checked it. This problem has been fixed in MKL10.2 Update5
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The problem you reported was fixed in the version 10.2 Update 5.This version available for download from intel registration center: https://registrationcenter.intel.com/
Please check it and let us know if any others problem.
--Gennady
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Confirmed that the problem has been fixed in 10.2.5.
Jaewon

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page