Problem about PARDISO

Problem about PARDISO

Hi,

I have a question about PARDISO in MKL.

I try to compile and link source files using PARDISO of Intel MKL 10.3 Update 9 with Microsoft Visual C++ 2010.

For a PARDISO's sample pardiso_sym_c.c, I'm able to make executable file properly and get correct result by executing it.

When I modify spardiso_sym_c.c as below and build it in debug mode, however, execution file launches Visual Studio Just-In-Time debuger at the analysis phase.
The other parameter settings are the same as pardiso_sym_c.c.

1)Use 2 x 2 symetirc matrix including off-diagonal component

2)Use reordering from METIS

3)Use OOC mode

If MMD reordering or incore mode is selected, no debuger launches and correct answer is obtained.

Moreover, when I compile and link pardiso_sym_f.f with Intel Fortran Compiler v11.0
after modifying the source in the same way, following error messages are printed.

 Start reordering ...
forrtl: severe (157): Program Exception - access violation
Image              PC        Routine            Line        Source
testsmallmatrixfo  00515B71  Unknown               Unknown  Unknown

Isn't it possible to use PARDISO with the condition above, or is it a bug ?

If I use MKL 10.1 Update 1, no error is printed with Intel Fortran Compiler v11.0,
and followng error is printed with Microsoft Visual C++ 2010.

ERROR during symbolic factorization: -9

OS and hardware are as follows.

OS : Microsoft Windows XP Professional Version 2002 Service Pack 3
Hardware : HP xw4600 Workstation, Intel Core(TM)2 Duo CPU E8500 3.16Ghz

I would really appreciate your help.

With best regards

publicaciones de 15 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.

Sorry, I forget to write whether I use 32bit or 64bit OS.
I use 32bit OS.

1) regarding the first issue with pardiso_sym_c.c with OOC mode
How do you link the example? do you link 32 bit libraries?
Can you check the problem with the latest 10.3 Update 11?
2) regarding the access violation with version of MKL bundled with Fortran Compiler 11.0 ( this is MKL v.10.2 * if I am not mistaken) - Yes we have already fixed several similar issues. Do you see the similar issue with the latest version too?

1)
Even if I use MKL v10.3 Update11, Visual Studio Just-In-Time debuger launches in the same way.

I linked the example after setting the project as below.

i)Select the C/C++ -> General tab. And, in the Additional Include Directories line,
add the following paths.

C:\Program Files\Intel\Composer XE 2011 SP1.344\mkl\include
C:\Program Files\Intel\Composer XE 2011 SP1.344\compiler\include

ii)Select the Link -> General tab. And, in the Additional Library Directories line,
add the following paths.

C:\Program Files\Intel\Composer XE 2011 SP1.344\mkl\lib\ia32
C:\Program Files\Intel\Composer XE 2011 SP1.344\compiler\lib\ia32

iii)Select the Link -> Input tab. And, in the Additional Dependencies,
add the following MKL libraries.

mkl_solver.lib
mkl_intel_c.lib
mkl_intel_thread.lib
mkl_core.lib
libiomp5md.lib

2)
Even if MKL v10.3 Update11 is used, the same access violation error occurs.

However, no error occurs when MMD reordering or incore mode is selected,
or build the project in Release mode.

I modified pardiso_sym_c.c and pardiso_sym_f.f to treat 2 x 2 matrix,
which is very small.
Is there any problem to use such a small matrix ?

okay. thanks. I haven't reproduce the issue on my side. Pls give me the exact example you use.

Thank you very much.
I give you the source files used.

Adjuntos: 

AdjuntoTamaño
Descargar pardiso_sym_c.zip4.79 KB

well, thanks. I checked these examples with MKL 10.3.11 from command line but not from microsoft IDE .
I have no Microsoft Visual C++ 2010 available right now.

ia32 version of libraries: imkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib ( mkl_solver.lib not needed to be linked explicitly )
also, all versions of reodering has been checked (default, mmd, metis, openmp mmd).
all tests passed. i attached these log into this thread.

the problem may be came from Visual Studio, Do you see the problem when link with mkl_sequential.lib?

Adjuntos: 

AdjuntoTamaño
Descargar _0.txt1.88 KB
Descargar _2.txt1.82 KB
Descargar _3.txt1.77 KB

Thank you for your reply and checking.
Even if mkl_sequential.lib is linked, the same problem occurs.
For a supplementary information, size of largest supernode is
extraordinary large value 5341702365642754 when I use the execute file
build by Release mode of Visual Studio with the same source.
(Debuger does not launch when the Release mode is used. )
I attached the logs.
Sorry, Japanease is included.

Adjuntos: 

AdjuntoTamaño
Descargar Release_Metis_Incore.zip1.79 KB

I would recomend you to build these example from command line without VS.
I used the same version MKL and on my side - we don't see the problem. I will try to find VS2010 and check the problem there.

Thank you for your reply.
I builded the source from command line, however, the programs did't work properly.
The commands I used and the logs of the programs are attached.
I use the Incremental Linker Version 10.00.30319.01 of Microsoft.
Are there any mistake in the way of compile and link?

Adjuntos: 

AdjuntoTamaño
Descargar pardiso_sym_c.zip1.92 KB

Yes, I checked how it works on my side with the latest 11.0. the example works on my side.
but I slighly changed the linking line you uses because of you don't need to link mkl_solver.lib and treading and sequential version on time:
here - your linking line "mkl_solver.lib" "mkl_intel_c.lib" "mkl_intel_thread.lib" "mkl_core.lib" "libiomp5md.lib" "mkl_sequential.lib"
I replaced the following:
"mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib"
- also, I attached the makefile I used for testing this example.
it is required to rename makefile.txt to makefile because this impossible to upload to this forum file w/o extentions

Adjuntos: 

AdjuntoTamaño
Descargar makefile.txt448 bytes

Cita:

Chuanrong Jin escribió:

Thank you for your reply.
I builded the source from command line, however, the programs did't work properly.
The commands I used and the logs of the programs are attached.
I use the Incremental Linker Version 10.00.30319.01 of Microsoft.
Are there any mistake in the way of compile and link?

I built and ran your example program pardiso_sym_c.c using MS C 16.00.40219.01 (32-bit) and the same IA-32 version of MKL as you, but on a system with a dual-core processor. The results (the numerical part of) agree with those in your log file, with one exception: size of largest supernode: 2 The corresponding result that you obtained (5341599286427650) is out of the range of 32-bit integers. One may wonder how this came to happen. Do you have any compiler switches in your command line, or in configuration files, that attempt to use 64-bit (8-byte) integers?

Hi,

I reproduced the failure. It takes place when 4 conditions are met:
1)Use 2 x 2 symetric matrix including off-diagonal component
2)Use reordering from METIS
3)Use OOC mode
4)Win32 (probably there's a problem on other platforms - did not check).

Thank you for the report! We will try to fix this issue as soon as possible. As a workaround I would not recommend you to use OOC mode with such small matrices (it makes no sence).

Regards,
Konstantin

I forgot to note that I run it under MS VS 2010.

Thank you for your kind reply.
I will try to build the sources with 64bit machine.

Deje un comentario

Por favor inicie sesión para agregar un comentario. ¿No es socio? Únase ya