- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear all,
LINKER :/OUT:"Debug\\xxx.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\\Program Files\\Intel\\Compiler\\11.1\\065\\mkl\\ia32\\lib" /MANIFEST /MANIFESTFILE:"D:\\Study\\xxx\\xxx\\xxx\\Debug\\xxx.exe.intermediate.manifest" /DEBUG /PDB:"D:\\Study\\xxx\\xxx\\xxx\\Debug\\xxx.pdb" /SUBSYSTEM:CONSOLE /IMPLIB:"D:\\Study\\xxx\\xxx\\xxx\\Debug\\xxx.lib" mkl_lapack95.lib mkl_solver.lib mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib
I'm handling huge system code written in fortran 90 which including large sparse matrix (size of 100-900) with ;
MS Visual Studio 2008
Intel Visual Fortran 11.1.065
MKL 10.2 update release 4
IMSL Fortran Library 6.0The original code was written in CVF with IMSL, but I'm about to move to IVF.
IMSL function used was LSARG, general matrix solver with double precision and I found similar in MKL, GERFSX.
The calculation results are fine but the problem comes from the calculation time.
With MKL, it takes almost 3-4 times more than IMSL.
The compiler option used in MKL are written below :
FORTRAN :
/nologo /debug:full /Od /I"C:\\Program Files\\Intel\\Compiler\\11.1\\065\\mkl\\include" /gen-interfaces /warn:interfaces /real_size:64 /Qsave /align:dcommons /Qzero /module:"Debug\\\\" /object:"Debug\\\\" /traceback /check:bounds /check:uninit /check:format /check:output_conversion /check:arg_temp_created /libs:static /threads /dbglibs /c
LINKER :
/OUT:"Debug\\xxx.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\\Program Files\\Intel\\Compiler\\11.1\\065\\mkl\\ia32\\lib" /MANIFEST /MANIFESTFILE:"D:\\Study\\xxx\\xxx\\xxx\\Debug\\xxx.exe.intermediate.manifest" /DEBUG /PDB:"D:\\Study\\xxx\\xxx\\xxx\\Debug\\xxx.pdb" /SUBSYSTEM:CONSOLE /IMPLIB:"D:\\Study\\xxx\\xxx\\xxx\\Debug\\xxx.lib" mkl_lapack95.lib mkl_solver.lib mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib
FORTRAN :/nologo /debug:full /Od /I"C:\\Program Files\\Intel\\Compiler\\11.1\\065\\mkl\\include" /gen-interfaces /warn:interfaces /real_size:64 /Qsave /align:dcommons /Qzero /module:"Debug\\\\" /object:"Debug\\\\" /traceback /check:bounds /check:uninit /check:format /check:output_conversion /check:arg_temp_created /libs:static /threads /dbglibs /cLINKER :/OUT:"Debug\\xxx.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\\Program Files\\Intel\\Compiler\\11.1\\065\\mkl\\ia32\\lib" /MANIFEST /MANIFESTFILE:"D:\\Study\\xxx\\xxx\\xxx\\Debug\\xxx.exe.intermediate.manifest" /DEBUG /PDB:"D:\\Study\\xxx\\xxx\\xxx\\Debug\\xxx.pdb" /SUBSYSTEM:CONSOLE /IMPLIB:"D:\\Study\\xxx\\xxx\\xxx\\Debug\\xxx.lib" mkl_lapack95.lib mkl_solver.lib mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib
I also consider to use PARDISO but it'll be the next move.
If there's way to run fast MKL, please let me know.
regards,
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The transcript shows that you have selected full debugging options (debug:full, and many checks, including subscripts). Once you have the program running correctly, recompile with optimization options, and you may find the speed up surprising.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear elquin,
I can't see the code and details or implementation but please tell me if you've been calling ?getrf +?getrs before ?gerfsx to refine.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for your comments but I missed to tell one thing.
Compile options what I wrote are for debugging mode, as mecej4 mentioned, but the speed is differ by 2-3 times in release mode.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The procedure what I used is
call getrf, getrs
as common part and
call gerfs or gerfsx
as option.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
To make further progress, we need a working example that shows the stated speed discrepancy. One would expect the speeds of MKL and IMSL to be similar since, as the IMSL manual states,
The underlying code is based on either LINPACK , LAPACK, or ScaLAPACK code depending upon which supporting libraries are used during linking.
The underlying code is based on either LINPACK , LAPACK, or ScaLAPACK code depending upon which supporting libraries are used during linking.
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page